【问题标题】:Updating Nifi Sensitive properties from API从 API 更新 Nifi 敏感属性
【发布时间】:2019-12-09 15:00:34
【问题描述】:

我们正在使用 Nifi 注册表和 Azure Devops 为 Nifi 开发 CI-CD。我们希望它是完全自动化的,并且在一个问题上被阻止。在我们的处理器中,我们使用了密码等敏感属性。我们如何从 rest API 或 nipyapi 模块更新它们?

是否支持或推荐的方式是什么?

【问题讨论】:

    标签: apache-nifi apache-nifi-registry


    【解决方案1】:

    您可以使用 UI、API 或命令行工具(如 NiFi CLI 或 NiPyAPI)设置敏感属性,就像设置任何其他属性一样。如果您已使用 TLS 保护您的 NiFi 实例,则您的脚本和 NiFi 之间的所有调用都将被加密。您可以为脚本颁发自定义客户端证书以用于身份验证,或使用 Kerberos/SPNEGO(如果已配置)。

    【讨论】:

      【解决方案2】:

      敏感属性设置与任何其他属性设置一样简单。

      示例 sn-p,使用 nipyapi 更新 GetTwitter 处理器中的敏感属性。

      # Custom method to return all processors in a process group by using group name; 
      # Equivalent to nipyapi.canvas.list_all_processors(pg_id='root') but accepts group name
      def get_all_processors_in_group(processgroup_name, "name"):
          # ...
          # ...
      
      def update():
          processors_list = get_all_processors_in_group(processgroup_name, "name")
          processor = ... # Get 'GetTwitter' processor
      
          props = processor.component.config.properties
          props["Consumer Key"] = "Random key"
          props["Consumer Secret"] = "Random secret" # Sensitive value
          props["Access Token"] = "Random token"
          props["Access Token Secret"] = "Random token secret" # Sensitive value
      
          config = processor.component.config
          config.properties = props
      
          nipyapi.canvas.update_processor(processor, config)
      

      【讨论】:

        猜你喜欢
        • 2010-12-26
        • 1970-01-01
        • 1970-01-01
        • 2023-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多