排查 CMEK 问题

您可以使用客户管理的加密密钥 (CMEK) 来保护 Eventarc。 密钥通过 Cloud Key Management Service (Cloud KMS) 创建和管理。下表介绍了在将 Cloud KMS 与 Eventarc 搭配使用时可能遇到的不同 CMEK 问题以及如何解决这些问题。

创建或更新 Eventarc 资源时出现的问题

CMEK 问题 错误消息 说明
已停用的按键 $KEY is not enabled, current state is: DISABLED

为 Eventarc 资源提供的 Cloud KMS 密钥已停用。与该资源关联的事件或消息将不再受保护。

解决方案:

  1. 显示用于渠道的密钥
  2. 重新启用 Cloud KMS 密钥
超出配额 Quota exceeded for limit

您已达到 Cloud KMS 请求配额上限。

解决方案:

  • 限制 Cloud KMS 调用的数量。
  • 增加配额。
如需了解详情,请参阅监控和调整 Cloud KMS 配额
区域不匹配 Key region $REGION must match the resource to be protected

提供的 KMS 密钥区域与渠道的区域不同。

解决方案:

使用来自同一区域的 Cloud KMS 密钥。 请注意,对于多区域 eu 中的渠道,应使用多区域 europe 中的 Cloud KMS 密钥对其进行保护。如需了解详情,请参阅 Cloud KMS 位置Eventarc 多区域位置。

组织政策限制条件 project/PROJECT_ID violated org policy constraint

Eventarc 集成了以下两种组织政策限制条件,以帮助确保在整个组织范围内使用 CMEK。任何现有 Eventarc 资源均不受在资源创建后设置的政策约束;不过,更新资源可能会失败。

  • constraints/gcp.restrictNonCmekServices 会导致没有指定 Cloud KMS 密钥的所有资源创建请求失败。

    解决方案:

    为 Eventarc 资源指定 Cloud KMS 密钥。如需了解详情,请参阅要求为新的 Eventarc 资源使用 CMEK

  • constraints/gcp.restrictCmekCryptoKeyProjects 会限制可用于保护 Eventarc 资源的 Cloud KMS 密钥。

    解决方案:

    为 Eventarc 项目使用受支持的 Cloud KMS 密钥。如需了解详情,请参阅为 Eventarc 项目限制 Cloud KMS 密钥

事件传送期间出现的问题

CMEK 问题 错误消息 说明
已停用的按键 $KEY is not enabled, current state is: DISABLED

为 Eventarc 资源提供的 Cloud KMS 密钥已停用。与该资源关联的事件或消息将不再受保护。

解决方案:

  1. 显示用于渠道的密钥
  2. 重新启用 Cloud KMS 密钥
超出配额 Quota exceeded for limit

您已达到 Cloud KMS 请求配额上限。

解决方案:

  • 限制 Cloud KMS 调用的数量。
  • 增加配额。
如需了解详情,请参阅监控和调整 Cloud KMS 配额
权限错误 Permission 'cloudkms.cryptoKeyVersions.useToEncrypt' denied on resource $KEY (or it may not exist)

提供的 Cloud KMS 密钥不存在,或者 Identity and Access Management (IAM) 权限未正确配置。

解决方案:

如需解决通过 Cloud External Key Manager (Cloud EKM) 使用外部管理的密钥时可能遇到的问题,请参阅 Cloud EKM 错误参考

后续步骤