airflow.providers.google.cloud.secrets.secret_manager
¶
關於從 Google Cloud Secrets Manager 獲取連線物件的物件。
模組內容¶
類別¶
從 Google Cloud Secrets Manager 檢索連線物件。 |
屬性¶
- 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)[原始碼]¶
繼承自:
airflow.secrets.BaseSecretsBackend
,airflow.utils.log.logging_mixin.LoggingMixin
從 Google Cloud Secrets Manager 檢索連線物件。
可透過
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 角色授予直接前一個身分,列表中的第一個帳戶將此角色授予原始帳戶。