airflow.providers.google.cloud.hooks.kms

此模块包含一个 Google Cloud KMS hook。

CloudKMSHook

用于 Google Cloud Key Management service 的 Hook。

模块内容

class airflow.providers.google.cloud.hooks.kms.CloudKMSHook(gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]

基类: airflow.providers.google.common.hooks.base_google.GoogleBaseHook

用于 Google Cloud Key Management service 的 Hook。

参数:
  • gcp_conn_id (str) – 用于获取连接信息的连接 ID。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务帐户,用于使用短期凭据进行模拟,或者用于获取列表中最后一个帐户的 access_token 的帐户链,该帐户将在请求中被模拟。如果设置为字符串,则该帐户必须授予原始帐户 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须向其直接前一个身份授予 Service Account Token Creator IAM 角色,列表中的第一个帐户将此角色授予原始帐户。

get_conn()[source]

检索与 Cloud Key Management service 的连接。

返回:

Cloud Key Management service 对象

返回类型:

google.cloud.kms_v1.KeyManagementServiceClient

encrypt(key_name, plaintext, authenticated_data=None, retry=DEFAULT, timeout=None, metadata=())[source]

使用 Google Cloud KMS 加密明文消息。

参数:
  • key_name (str) – 用于加密的密钥(或密钥版本)的资源名称。格式为 projects/*/locations/*/keyRings/*/cryptoKeys/**

  • plaintext (bytes) – 要加密的消息。

  • authenticated_data (bytes | None) – 可选的附加认证数据,在解密消息时也必须提供。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。

  • timeout (float | None) – 等待请求完成的时间(以秒为单位)。请注意,如果指定了重试,则超时适用于每次尝试。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的附加元数据。

返回:

原始消息的 Base64 编码密文。

返回类型:

str

decrypt(key_name, ciphertext, authenticated_data=None, retry=DEFAULT, timeout=None, metadata=())[source]

使用 Google Cloud KMS 解密密文消息。

参数:
  • key_name (str) – 用于解密的密钥的资源名称。格式为 projects/*/locations/*/keyRings/*/cryptoKeys/**

  • ciphertext (str) – 要解密的消息。

  • authenticated_data (bytes | None) – 加密消息时提供的任何附加认证数据。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。

  • timeout (float | None) – 等待请求完成的时间(以秒为单位)。请注意,如果指定了重试,则超时适用于每次尝试。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的附加元数据。

返回:

原始消息。

返回类型:

bytes

此条目有帮助吗?