airflow.providers.hashicorp.secrets.vault¶
与从 Hashicorp Vault 获取连接和变量相关的对象。
类¶
从 Hashicorp Vault 中检索连接和变量。 |
模块内容¶
- class airflow.providers.hashicorp.secrets.vault.VaultBackend(connections_path='connections', variables_path='variables', config_path='config', url=None, auth_type='token', auth_mount_point=None, mount_point='secret', kv_engine_version=2, token=None, token_path=None, username=None, password=None, key_id=None, secret_id=None, role_id=None, assume_role_kwargs=None, region=None, kubernetes_role=None, kubernetes_jwt_path='/var/run/secrets/kubernetes.io/serviceaccount/token', gcp_key_path=None, gcp_keyfile_dict=None, gcp_scopes=None, azure_tenant_id=None, azure_resource=None, radius_host=None, radius_secret=None, radius_port=None, **kwargs)[source]¶
基类:
airflow.secrets.BaseSecretsBackend
,airflow.utils.log.logging_mixin.LoggingMixin
从 Hashicorp Vault 中检索连接和变量。
可通过
airflow.cfg
配置,如下所示:[secrets] backend = airflow.providers.hashicorp.secrets.vault.VaultBackend backend_kwargs = { "connections_path": "connections", "url": "http://127.0.0.1:8200", "mount_point": "airflow" }
例如,如果您的密钥位于 Airflow
mount_point
中的connections
路径下,那么如果您提供{"connections_path": "connections"}
并请求conn_id
smtp_default
,即可访问它。- 参数:
connections_path (str) – 指定读取机密的路径以获取连接。(默认值:‘connections’)。如果设置为 None(空),则不会向 Vault 发送连接请求。
variables_path (str) – 指定读取机密的路径以获取变量。(默认值:‘variables’)。如果设置为 None(空),则不会向 Vault 发送变量请求。
config_path (str) – 指定读取机密的路径以获取 Airflow 配置。(默认值:‘config’)。如果设置为 None(空),则不会向 Vault 发送配置请求。
url (str | None) – 要访问的 Vault 实例的基础 URL。
auth_type (str) – Vault 的身份验证类型。默认值为
token
。可用值包括:(‘approle’,‘aws_iam’,‘azure’,‘github’,‘gcp’,‘kubernetes’,‘ldap’,‘radius’,‘token’,‘userpass’)auth_mount_point (str | None) – 可用于定义所选身份验证的 mount_point。默认值取决于所使用的身份验证方法。
mount_point (str | None) – 挂载机密引擎的“路径”。默认值为“secret”。请注意,如果身份验证通过不同的引擎完成,则此 mount_point 不用于身份验证。如果设置为 None,则应将挂载的机密作为每个变量/连接 ID 的前缀提供。有关身份验证 mount_points,请参阅 auth_mount_point。
kv_engine_version (int) – 选择要运行的引擎版本(
1
或2
,默认值:2
)。token (str | None) – 包含在发送到 Vault 的请求中的身份验证令牌。(适用于
token
和github
身份验证类型)token_path (str | None) – 包含身份验证令牌的文件路径,用于包含在发送到 Vault 的请求中(适用于
token
和github
身份验证类型)。username (str | None) – 身份验证用户名(适用于
ldap
和userpass
身份验证类型)。password (str | None) – 身份验证密码(适用于
ldap
和userpass
身份验证类型)。key_id (str | None) – 身份验证密钥 ID(适用于
aws_iam
和azure
身份验证类型)。secret_id (str | None) – 身份验证 Secret ID(适用于
approle
、aws_iam
和azure
身份验证类型)。role_id (str | None) – 身份验证 Role ID(适用于
approle
、aws_iam
身份验证类型)。assume_role_kwargs (dict | None) – AWS Assume Role 参数。请参阅 AWS STS 文档:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sts/client/assume_role.html
region (str | None) – 用于 STS API 调用的 AWS 区域(适用于
aws_iam
身份验证类型)。kubernetes_role (str | None) – 身份验证角色(适用于
kubernetes
身份验证类型)。kubernetes_jwt_path (str) – kubernetes jwt 令牌的路径(适用于
kubernetes
身份验证类型,默认值:/var/run/secrets/kubernetes.io/serviceaccount/token
)。gcp_key_path (str | None) – Google Cloud 服务账号密钥文件(JSON)的路径(适用于
gcp
身份验证类型)。与 gcp_keyfile_dict 互斥。gcp_keyfile_dict (dict | None) – 密钥文件参数的字典。(适用于
gcp
身份验证类型)。与 gcp_key_path 互斥。gcp_scopes (str | None) – 包含 OAuth2 范围的逗号分隔字符串(适用于
gcp
身份验证类型)。azure_tenant_id (str | None) – Azure Active Directory 的租户 ID(适用于
azure
身份验证类型)。azure_resource (str | None) – 在 Azure Active Directory 中注册的应用程序的配置 URL(适用于
azure
身份验证类型)。radius_host (str | None) – Radius 的主机(适用于
radius
身份验证类型)。radius_secret (str | None) – Radius 的 Secret(适用于
radius
身份验证类型)。radius_port (int | None) – Radius 的端口(适用于
radius
身份验证类型)。