授权 EventBridge 使用客户自主管理型密钥 - Amazon EventBridge

授权 EventBridge 使用客户自主管理型密钥

如果您在账户中使用客户自主管理型密钥保护 EventBridge 资源,则该 KMS 密钥上的策略必须授予 EventBridge 代表您使用该密钥的权限。您可以在密钥策略中提供这些权限。

EventBridge 无需额外授权即可使用默认的 AWS 拥有的密钥来保护 AWS 账户中的 EventBridge 资源。

EventBridge 需要以下权限才能使用客户自主管理型密钥:

  • kms:DescribeKey

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

  • kms:GenerateDataKey

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

  • kms:Decrypt

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

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

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

作为安全最佳实践,请将 aws:SourceArnaws:sourceAccountkms:EncryptionContext:aws:events:event-bus:arn 条件密钥添加到 AWS 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" } }