Nifi加密变量/属性文件



Nifi自定义属性(每个环境属性文件(看起来是定义特定于环境的路径和凭据的完美方式。唯一的问题是如何将敏感信息保存在那里?这里详细介绍了Nifi加密配置工具。

Nifi加密配置工具是否能够加密除nifi.properties之外的变量文件(用nifi.variable.registry.properties定义(

据我所知,它只加密nifi.properties。这很重要,因为使用Nifi Docker Image,我只能定义nifi.variable.registry.properties(NIFI_VARIABLE_REGISTRY_PROPERTIESenv-var(,而不能修改nifi.properties

NiFi加密配置工具与以下配置文件交互:

  • nifi.properties
  • login-identity-providers.xml
  • authorizers.xml
  • bootstrap.conf
  • flow.xml.gz

它不处理任何链接的自定义变量定义文件,并且不存在用于正确保护和存储敏感变量的机制由于这个原因,变量根本不支持任何敏感值

在现代版本的NiFi中,变量被视为已弃用——仍然支持,但不鼓励使用它们——并且在1.10.0版本中引入了参数作为现代解决方案。参数确实支持敏感值,并且可以从框架级别的每个属性描述符访问,而不是基于每个字段访问,这取决于开发人员支持它们的明确决定。您应该为流定义中所需的敏感值的存储确定参数的优先级。

根据您的威胁模型,您可能有不太强大但可接受的替代方案:

  • 如果您接受环境变量的安全级别,您可以直接填充这些变量,它们将在任何支持表达式语言的属性中被引用,与";NiFi变量">
  • 您可以通过自定义Docker映像、启动脚本等编辑nifi.properties文件。该文件中任何修改或添加的属性都可以通过将其密钥(属性密钥描述符,而不是加密密钥(以逗号分隔列表的形式添加到该文件中的nifi.sensitive.props.additional.keys来加密。这些属性也将受到工具包的保护,并在NiFi应用程序启动期间在内存中解密。但是,nifi.properties是用来保存框架级别的配置值,而不是组件级别的属性

最新更新