Class AzureKeyVaultSecretsParameterProvider

java.lang.Object
org.apache.nifi.components.AbstractConfigurableComponent
org.apache.nifi.parameter.AbstractParameterProvider
org.apache.nifi.parameter.azure.AzureKeyVaultSecretsParameterProvider
All Implemented Interfaces:
org.apache.nifi.components.ConfigurableComponent, org.apache.nifi.parameter.ParameterProvider, org.apache.nifi.parameter.VerifiableParameterProvider

@Tags({"azure","keyvault","key","vault","secrets"}) @CapabilityDescription("Fetches parameters from Azure Key Vault Secrets. Each secret becomes a Parameter, which map to a Parameter Group byadding a secret tag named \'group-name\'.") public class AzureKeyVaultSecretsParameterProvider extends org.apache.nifi.parameter.AbstractParameterProvider implements org.apache.nifi.parameter.VerifiableParameterProvider
Reads secrets from Azure Key Vault Secrets to provide parameter values. Secrets must be created similar to the following Azure cli command:

az keyvault secret set --vault-name <your-unique-keyvault-name> --name <parameter-name> --value <parameter-value> --tags group-name=<group-name>

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final org.apache.nifi.components.PropertyDescriptor
     
    static final org.apache.nifi.components.PropertyDescriptor
     
    (package private) static final String
     
    static final org.apache.nifi.components.PropertyDescriptor
     
    private static final List<org.apache.nifi.components.PropertyDescriptor>
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    (package private) com.azure.security.keyvault.secrets.SecretClient
    configureSecretClient(org.apache.nifi.controller.ConfigurationContext context)
     
    private org.apache.nifi.parameter.Parameter
    createParameter(String parameterName, String parameterValue)
     
    private List<org.apache.nifi.parameter.ParameterGroup>
    createParameterGroupFromMap(Map<String,List<org.apache.nifi.parameter.Parameter>> nameToParametersMap)
     
    List<org.apache.nifi.parameter.ParameterGroup>
    fetchParameters(org.apache.nifi.controller.ConfigurationContext context)
     
    private List<com.azure.security.keyvault.secrets.models.KeyVaultSecret>
    getAllSecrets(com.azure.security.keyvault.secrets.SecretClient secretClient)
     
    private List<org.apache.nifi.parameter.ParameterGroup>
    getParameterGroupsFromSecrets(org.apache.nifi.controller.ConfigurationContext context, List<com.azure.security.keyvault.secrets.models.KeyVaultSecret> secrets)
     
    protected List<org.apache.nifi.components.PropertyDescriptor>
     
    List<org.apache.nifi.components.ConfigVerificationResult>
    verify(org.apache.nifi.controller.ConfigurationContext context, org.apache.nifi.logging.ComponentLog verificationLogger)
     

    Methods inherited from class org.apache.nifi.parameter.AbstractParameterProvider

    getIdentifier, getLogger, getName, getNodeTypeProvider, init, initialize

    Methods inherited from class org.apache.nifi.components.AbstractConfigurableComponent

    customValidate, equals, getPropertyDescriptor, getPropertyDescriptors, getSupportedDynamicPropertyDescriptor, hashCode, onPropertyModified, toString, validate

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.nifi.components.ConfigurableComponent

    getPropertyDescriptor, getPropertyDescriptors, onPropertyModified, validate
  • Field Details

    • AZURE_CREDENTIALS_SERVICE

      public static final org.apache.nifi.components.PropertyDescriptor AZURE_CREDENTIALS_SERVICE
    • KEY_VAULT_URI

      public static final org.apache.nifi.components.PropertyDescriptor KEY_VAULT_URI
    • GROUP_NAME_PATTERN

      public static final org.apache.nifi.components.PropertyDescriptor GROUP_NAME_PATTERN
    • GROUP_NAME_TAG

      static final String GROUP_NAME_TAG
      See Also:
    • PROPERTY_DESCRIPTORS

      private static final List<org.apache.nifi.components.PropertyDescriptor> PROPERTY_DESCRIPTORS
  • Constructor Details

    • AzureKeyVaultSecretsParameterProvider

      public AzureKeyVaultSecretsParameterProvider()
  • Method Details

    • getSupportedPropertyDescriptors

      protected List<org.apache.nifi.components.PropertyDescriptor> getSupportedPropertyDescriptors()
      Overrides:
      getSupportedPropertyDescriptors in class org.apache.nifi.components.AbstractConfigurableComponent
    • fetchParameters

      public List<org.apache.nifi.parameter.ParameterGroup> fetchParameters(org.apache.nifi.controller.ConfigurationContext context)
      Specified by:
      fetchParameters in interface org.apache.nifi.parameter.ParameterProvider
    • verify

      public List<org.apache.nifi.components.ConfigVerificationResult> verify(org.apache.nifi.controller.ConfigurationContext context, org.apache.nifi.logging.ComponentLog verificationLogger)
      Specified by:
      verify in interface org.apache.nifi.parameter.VerifiableParameterProvider
    • getAllSecrets

      private List<com.azure.security.keyvault.secrets.models.KeyVaultSecret> getAllSecrets(com.azure.security.keyvault.secrets.SecretClient secretClient)
    • getParameterGroupsFromSecrets

      private List<org.apache.nifi.parameter.ParameterGroup> getParameterGroupsFromSecrets(org.apache.nifi.controller.ConfigurationContext context, List<com.azure.security.keyvault.secrets.models.KeyVaultSecret> secrets)
    • createParameterGroupFromMap

      private List<org.apache.nifi.parameter.ParameterGroup> createParameterGroupFromMap(Map<String,List<org.apache.nifi.parameter.Parameter>> nameToParametersMap)
    • createParameter

      private org.apache.nifi.parameter.Parameter createParameter(String parameterName, String parameterValue)
    • configureSecretClient

      com.azure.security.keyvault.secrets.SecretClient configureSecretClient(org.apache.nifi.controller.ConfigurationContext context)