2

我了解如何使用 Apache Nifi GUI 添加新用户和执行策略。然而,我正在尝试自动化这个过程,这样当我启动我的 Docker Nifi 容器时,它已经有三个用户组(基本上是管理员、用户和读者)。我正在使用 NiPyAPI,但老实说,我什至无法获得完整的循环策略列表。

我不使用 Registry 组件,因为我现在只需要一个简单的工作流程。如果您在简单的情况下有很大的动力,我很乐意倾听。

我遇到的具体问题是:我无法找出可用策略的可靠列表 - 我可以看到的所有方法和端点都要求您已经知道它们是什么。一旦我将所有角色添加到 Admin 用户,我可以在 GUI 中到处乱搞,然后将它们全部打印出来,但我觉得应该有更好的方法来获得所有选项的综合和完整列表。

任何有关使所有这些用户组和策略自动化(最好使用 Python)的建议将不胜感激。

哦,是的,而且,我使用的是 SSL 而不是 LDAP。

4

1 回答 1

1

如果您使用 TLS 客户端证书身份验证(不是 LDAP),则用户由静态标识符定义(通过文件中的身份映射规则从证书的 DN 派生nifi.properties)。每个定义的用户都有分配给该用户和资源(组件- PG、处理器等)的策略,确定用户查看/修改资源的权限。

在这种情况下,您可以使用一些合适的方法:

  1. 使用 UI 创建“良好”状态,然后从目录中导出authorizers.xmlusers.xml和文件。这些 XML 文件可以预加载到您的 Docker 容器中,以便在第一次启动时就可以使用这些相同的策略。authorizations.xml$NIFI_HOME/conf/
  2. 通过 NiFi UI 完成的所有操作实际上都在幕后使用NiFi REST API 。您可以打开浏览器的开发人员工具面板来监控用于列出、创建和修改用户定义和访问策略分配的 API 调用,并将这些调用复制到您选择的脚本语言中,以便在容器启动时动态创建这些策略(使用NiPyAPI , NiFi CLI , 原始 HTTP 调用curl等)

这些策略记录在 Apache NiFi 管理员指南中的Global Access PoliciesComponent-level Access Policies部分。

于 2019-03-04T21:48:35.740 回答