airflow.providers.google.cloud.secrets.secret_manager
¶
与从 Google Cloud Secrets Manager 获取连接相关的对象。
模块内容¶
类¶
从 Google Cloud Secrets Manager 中检索 Connection 对象。 |
属性¶
- airflow.providers.google.cloud.secrets.secret_manager.SECRET_ID_PATTERN = '^[a-zA-Z0-9-_]*$'[source]¶
- class airflow.providers.google.cloud.secrets.secret_manager.CloudSecretManagerBackend(connections_prefix='airflow-connections', variables_prefix='airflow-variables', config_prefix='airflow-config', gcp_keyfile_dict=None, gcp_key_path=None, gcp_credential_config_file=None, gcp_scopes=None, project_id=PROVIDE_PROJECT_ID, sep='-', impersonation_chain=None, **kwargs)[source]¶
基类:
airflow.secrets.BaseSecretsBackend
,airflow.utils.log.logging_mixin.LoggingMixin
从 Google Cloud Secrets Manager 中检索 Connection 对象。
可通过
airflow.cfg
配置如下[secrets] backend = airflow.providers.google.cloud.secrets.secret_manager.CloudSecretManagerBackend backend_kwargs = {"connections_prefix": "airflow-connections", "sep": "-"}
例如,如果 Secrets Manager 密钥 ID 为
airflow-connections-smtp_default
,如果您提供{"connections_prefix": "airflow-connections", "sep": "-"}
并请求 conn_idsmtp_default
,则可以访问该密钥。如果 Secrets Manager 密钥 ID 为
airflow-variables-hello
,如果您提供{"variables_prefix": "airflow-variables", "sep": "-"}
并请求变量键hello
,则可以访问该密钥。完整的密钥 ID 应遵循 “[a-zA-Z0-9-_]” 模式。
- 参数
connections_prefix (str) – 指定读取以获取连接的密钥的前缀。如果设置为 None (null),则不会向 GCP Secrets Manager 发送连接请求
variables_prefix (str) – 指定读取以获取变量的密钥的前缀。如果设置为 None (null),则不会向 GCP Secrets Manager 发送变量请求
config_prefix (str) – 指定读取以获取包含密钥的 Airflow 配置的密钥前缀。如果设置为 None (null),则不会向 GCP Secrets Manager 发送配置请求
gcp_key_path (str | None) – Google Cloud 服务帐户密钥文件 (JSON) 的路径。与 gcp_keyfile_dict 互斥。如果未提供,则使用当前环境中的默认凭据。
gcp_keyfile_dict (dict | None) – 密钥文件参数的字典。与 gcp_key_path 互斥。
gcp_credential_config_file (dict[str, str] | str | None) – GCP 凭据配置文件的文件路径或内容。
gcp_scopes (str | None) – 包含 OAuth2 范围的逗号分隔字符串
project_id (str) – 从中读取密钥的项目 ID。如果未传递,则将使用凭据中的项目 ID。
sep (str) – 用于连接 connections_prefix 和 conn_id 的分隔符。默认值:“-”
impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务帐户,用于使用短期凭据模拟,或用于获取列表中最后一个帐户的访问令牌所需的帐户链列表,该访问令牌将在请求中被模拟。如果设置为字符串,则该帐户必须授予原始帐户服务帐户令牌创建者 IAM 角色。如果设置为序列,则列表中的标识必须将服务帐户令牌创建者 IAM 角色授予直接前一个标识,列表中的第一个帐户将此角色授予原始帐户。