我了解如何使用Apache Nifi GUI添加新用户和执行策略。但是,我正在尝试自动化此过程,以便当我启动Docker Nifi容器时,它已经具有三个用户组(本质上是管理员,用户和阅读器)。我正在使用nipyapi,但是说实话,我甚至无法获得完整的政策列表。
我不使用注册表组件,因为目前我只需要一个简单的工作流程。如果您在简单的情况下对此有很大的动力,我很乐意听。
我遇到的具体问题是:我无法弄清可用的可用策略列表 - 我可以看到的所有方法和端点都要求您已经知道这些是什么。一旦我将所有角色添加到管理员用户,我就可以在GUI中闲逛,并将它们全部打印出来,但是我觉得应该有一种更好的方法来获取合并和详尽的列表。
将对所有这些用户组和政策自动化(最好是使用Python)的任何建议将不胜感激。
哦,是的,而且,我正在使用SSL而不是LDAP。
如果您使用的是TLS客户端证书身份验证(不是LDAP),则用户是由静态标识符定义的(通过 Identity映射从证书的DN派生nifi.properties
文件中的规则)。每个定义的用户都有分配给该用户的策略和资源(组件 - PG,处理器等),确定用户查看/修改资源的权限。
在这种情况下,您可以使用一些合适的方法:
- 使用UI创建一个"好"状态,然后从
$NIFI_HOME/conf/
目录导出authorizers.xml
,users.xml
和authorizations.xml
文件。这些XML文件可以预装到您的Docker容器中,以使这些相同的策略从第一个启动中提供。 - 通过NIFI UI完成的所有操作实际上使用了幕后NIFI REST API。您可以打开浏览器的开发人员工具面板,以监视用于列出,创建和修改用户定义和访问策略分配的API调用,并将这些调用复制到您选择的脚本语言中,以在容器启动上动态创建这些策略(使用Nipyapi(使用Nipyapi),Nifi CLI,通过
curl
等的RAW HTTP调用等)
策略记录在Apache Nifi Admin指南中,其中包括全局访问策略和组件级别访问策略部分。