授权使用 EventBridge 客户管理的密钥 - Amazon EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

授权使用 EventBridge 客户管理的密钥

如果您在账户中使用客户托管密钥来保护您的 EventBridge 资源,则该 KMS 密钥的策略必须 EventBridge 允许您代表您使用该密钥。您可以在密钥策略中提供这些权限。

EventBridge 不需要额外的授权即可使用默认设置 Amazon 拥有的密钥 来保护您 Amazon 账户中的 EventBridge 资源。

EventBridge 需要以下权限才能使用客户托管密钥:

  • kms:DescribeKey

    EventBridge 需要此权限才能检索所提供的密钥 ID 的 KMS 密钥 ARN,并验证密钥是否对称。

  • kms:GenerateDataKey

    EventBridge 需要此权限才能生成数据密钥作为数据的加密密钥。

  • kms:Decrypt

    EventBridge 需要此权限才能解密与加密数据一起加密并存储的数据密钥。

    EventBridge 将其用于事件模式匹配;用户永远无法访问数据。

使用客户管理的密钥进行 EventBridge 加密时的安全性

作为安全最佳实践,请在密钥策略中添加aws:SourceArnaws:sourceAccount、或kms:EncryptionContext:aws:events:event-bus:arn条件 Amazon KMS 密钥。IAM 全局条件密钥有助于确保仅对指定的总线或账户 EventBridge 使用 KMS 密钥。

以下示例演示了如何在事件总线的 IAM 策略中遵循此最佳实践:

{ "Sid": "Allow the use of key", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition" : { "StringEquals": { "aws:SourceAccount": "arn:aws:events:region:account-id", "aws:SourceArn": "arn:aws:events:region:account-id:event-bus/event-bus-name", "kms:EncryptionContext:aws:events:event-bus:arn": "arn:aws:events:region:account-id:event-bus/event-bus-arn" } }