airflow.providers.microsoft.azure.secrets.key_vault
¶
此模块包含 Azure Key Vault 后端。
模块内容¶
类¶
从 Azure Key Vault 密钥中检索 Airflow 连接或变量。 |
- class airflow.providers.microsoft.azure.secrets.key_vault.AzureKeyVaultBackend(connections_prefix='airflow-connections', variables_prefix='airflow-variables', config_prefix='airflow-config', vault_url='', sep='-', *, tenant_id='', client_id='', client_secret='', managed_identity_client_id='', workload_identity_tenant_id='', **kwargs)[源代码]¶
基类:
airflow.secrets.BaseSecretsBackend
,airflow.utils.log.logging_mixin.LoggingMixin
从 Azure Key Vault 密钥中检索 Airflow 连接或变量。
Azure Key Vault 可以配置为
airflow.cfg
中的密钥后端[secrets] backend = airflow.providers.microsoft.azure.secrets.key_vault.AzureKeyVaultBackend backend_kwargs = {"connections_prefix": "airflow-connections", "vault_url": "<azure_key_vault_uri>"}
例如,如果密钥前缀是
airflow-connections-smtp-default
,如果您提供{"connections_prefix": "airflow-connections"}
并请求 conn_idsmtp-default
,则可以访问该密钥。如果变量前缀是airflow-variables-hello
,如果您提供{"variables_prefix": "airflow-variables"}
并请求变量键hello
,则可以访问该变量。对于客户端身份验证,来自 Azure Python SDK 的
DefaultAzureCredential
用作凭据提供程序,它支持服务主体、托管标识和用户凭据。例如,要指定具有密钥的服务主体,您可以设置环境变量
AZURE_TENANT_ID
、AZURE_CLIENT_ID
和AZURE_CLIENT_SECRET
。另请参阅
有关客户端身份验证的更多详细信息,请参阅
DefaultAzureCredential
类参考:https://docs.microsoft.com/zh-cn/python/api/azure-identity/azure.identity.defaultazurecredential?view=azure-python- 参数
connections_prefix (str) – 指定要读取以获取连接的密钥的前缀。如果设置为 None(null),则不会将连接请求发送到 Azure Key Vault。
variables_prefix (str) – 指定要读取以获取变量的密钥的前缀。如果设置为 None(null),则不会将变量请求发送到 Azure Key Vault。
config_prefix (str) – 指定要读取以获取变量的密钥的前缀。如果设置为 None(null),则不会将配置请求发送到 Azure Key Vault。
vault_url (str) – 要使用的 Azure Key Vault 的 URL
sep (str) – 用于连接 secret_prefix 和 secret_id 的分隔符。默认值:”-“
tenant_id (str) – 要使用的 Azure Key Vault 的租户 ID。如果未给出,则回退到
DefaultAzureCredential
client_id (str) – 要使用的 Azure Key Vault 的客户端 ID。如果未给出,则回退到
DefaultAzureCredential
managed_identity_client_id (str) – 用户分配的托管标识的客户端 ID。如果提供 workload_identity_tenant_id,它们将传递给
DefaultAzureCredential
。workload_identity_tenant_id (str) – 应用程序的 Microsoft Entra 租户的 ID。也称为其“目录” ID。如果提供 managed_identity_client_id,它们将传递给
DefaultAzureCredential
。
- get_conn_value(conn_id)[源代码]¶
从 Azure Key Vault 密钥获取 Airflow 连接的序列化表示形式。
- 参数
conn_id (str) – 要检索的 Airflow 连接 ID