使用apache atlas和ranger管理hadoop访问的工具。

cobra-policytool的Python项目详细描述


COBRA政策工具

cobra policytool是一个简化 apache ranger和标签 在apache atlas中。这些工具 管理Hadoop环境中的访问策略。cobra policytool使之变得简单 将配置文件直接按比例应用到Atlas和Ranger。

优点是:

  • 配置可以版本控制
  • 可以对更改进行审查、审核和跟踪
  • 与现有的CI/CD集成

cobra policytool也为atlas和ranger添加了功能。 cobra policytool可以管理具有行级筛选策略的 基于标记的apache配置单元。游侠需要一个 每个表的行级策略,但是使用cobra policytool可以 每个标签有一条规则。然后这个规则被cobra policytool扩展 在每个有标签的表格前设置一条规则。

最常见的情况是希望具有相同的访问权限配置单元表和相应的 hdfs上的文件和目录。cobra policytool可以自动转换策略 将配置单元表设置为HDF的策略。

这样可以简化维护并减少出错的风险。

要使用该工具,您需要在 您正在使用的环境。对于Atlas,您必须能够阅读和创建 以及能够从资源中添加和删除它们。为了游骑兵 很遗憾,您必须是管理员。

cobra policytool是等幂的,这意味着您可以像 如果您愿意,如果on未更改输入,则结果不会更改。

介绍了如何在

关于如何在svenska spel中使用cobra policytool的演示 被发现 幻灯片。 以及YouTube

目标

  • 使管理内部的访问策略和元数据变得容易 使用apache atlas和apache ranger的apache hadoop环境。
  • 提供从配置文件应用策略的简单方法,可以 受版本控制。
  • 配置文件应易于生成,例如从中心 元数据管理系统。

非目标

  • 在hadoop环境中处理安全性。我们依靠 ApacheAtlas、AtlasRanger和Hadoop生态系统中的其他工具。

贡献

我们欢迎捐款。为了让我们能够接受他们, 请查看我们的贡献者指南

许可证

这个项目是按照规定的条款作为开源发布的 在许可证中

支持的功能

资源标记

  • 将元数据文件中的表和列标记同步到Atlas。
  • 使hdfs上配置单元对应目录之间的标记保持同步(使用option--hdfs)
  • 审核以显示元数据和Atlas之间的差异。
  • 新的标签定义在同步时自动添加到Atlas。
  • 详细输出以提供所做的更改。
  • 使用kerberos票证进行身份验证。

创建策略

  • 将策略从元数据文件同步到Ranger。
  • 展开基于标记的行筛选规则以配置单元基于行的筛选。

要求

  • Atlas、Ranger和Hive已安装并运行。
  • kerberos在hadoop集群上打开,包括atlas和ranger。你的 客户端还需要一个有效的kerberos票证。
  • 巨蟒2.7.
  • 我们HAVe在MS Windows、MacOS和Linux上成功地使用了它。

安装

pip安装cobra policytool

cli的用法

要获得最新的帮助,请了解如何使用该工具: COBRA策略--帮助

对于policytool与atlas服务器对话的任何用途,kerberos票据必须 可用。

创建一个与您的环境匹配的配置文件,请参见docs/configfile.md。

阅读docs/indata.md中的indata文件

将标记元数据信息同步到Atlas

policytool接受根据 将数据规范与元数据同步 存储在名为Atlas的Hadoop中。要执行此运行:

$ cobra-policy tags_to_atlas --srcdir src/main/tags/ --environment utv

有一个选项--verbose可以从cobra policytool获得更多的输出,描述 表和列已更改。注意!如果运行同一个cobra policytool命令两次 在所有更改发生后的第二次,您将不会得到任何更改 第一轮。

sync ranger策略以类似的方式工作,尽管它需要 提供项目名称。项目名称是项目的名称 你在里面工作。它用于查找Ranger和 能够将游侠规则分为多个项目。

$ cobra-policy rules_to_ranger --srcdir src/main/tags/ --environment dev --project-name dimension_out

API的使用

该包还可以用作python库。下面是一个简短的例子 使用Atlas客户端类。

from requests_kerberos import HTTPKerberosAuth
import policytool.atlas

c = policytool.atlas.Client(
        'http://atlas.test.my.org:21000/api/atlas',
         auth=HTTPKerberosAuth())
c.known_tags()
c.get_tables("hadoop_out_utv")

有关详细信息,请阅读python文档中的代码,并查看命令行 客户端已实现。

其他文档

除此文档外,还有更多的文档在文档目录中。你可以 还可以找到a待办事项列表包括未来的计划。

我们建议阅读公约文件 indata文档开始之前。


2018 AB Svenskaspel版权所有

根据apache许可证2.0版(以下简称"许可证")授权; 除非符合许可证,否则您不能使用此文件。 您可以在

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则软件 根据许可证分发是按"原样"分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java连接在一个屏幕上成功下载,在第二个屏幕上用几乎相同的代码获得错误   java调用super。超级的方法,跳过超级。方法   使用Web服务连接到sharepoint 2013的Java应用程序   java我无法正确呈现editText   httpurlconnection如何在java中检查url连接状态   java Spring Security可以为同一用户接受多个密码吗?   java如何在PreparedStatement中使用自动生成的@Id?   java每个数组表示一个位模式   java我不确定如何记录鼠标在某个区域被点击的次数   spring如何解决:java。lang.NoSuchMethodError:javax。坚持不懈实体管理器。createStoredProcedureQuery(Ljava/lang/String;)   java如何为blackberry中listfield项内的不同字段触发事件   安卓使用Proguard混淆java代码   java在grails 2中与多个数据源有一个和一个域关联。十、   java在尝试在单击按钮时返回combobox值时一直出错   java我可以在setter中使用@Resource注释而不是字段吗?   java Eclipse调试步进不工作   java比较相同对象的两个表并选择不同的表