授予 AWS RDS 访问 KMS CMK 的最佳实践
Best practice for granting AWS RDS access to KMS CMK
我正在使用一个 AWS RDS 数据库集群,该集群使用驻留在同一 AWS 账户中的 KMS CMK 加密。
我的数据库集群似乎在默认 KMS 策略下运行良好,但我不确定如果我没有特别授予它,RDS 如何访问密钥。
这是预期的最佳做法吗?或者我是否需要为 RDS 添加特定的策略?我有点偏执,我的集群可能缺少权限并且可能在将来的某个时候停止工作。
原来不需要添加特定的策略来允许RDS访问KMS。
RDS 从创建数据库集群的实体授予的授权中获得对密钥的访问权限。
您可以通过运行以下命令查看赠款列表:
aws kms list-grants --key-id yourkey
这是我找到此信息的来源 link:
https://www.reddit.com/r/aws/comments/f17a25/rds_and_kms_access_a_follow_up/
您似乎成功了,但如果您使用的是客户管理的 CMK,答案可能不完整。当您使用客户管理的 KMS CMK 时,您可以控制谁(什么)可以在 KMS 中使用您的 CMK。例如,如果您在 CMK Key Policy for kms:creategrant for all principles 中明确拒绝并重启数据库,您会发现数据库无法启动,因为它将无法加载数据。 (如果您进行此类测试,请确保您使用单可用区,因为多可用区在您重新启动时将准备好热故障转移)。默认情况下,密钥策略启用对 IAM 的委托,因此您可以在 IAM 中管理对密钥的访问,但这不是必需的。您可以细粒度地控制对客户管理的 CMK 中的 creategrant 等项目的访问。您甚至可以使用加密上下文的条件来授予某些服务并拒绝其他服务,甚至是特定的 rds 实例或 ebs 卷:https://docs.aws.amazon.com/kms/latest/developerguide/services-rds.html
有关 RDS 和支持的加密类型的更多信息,请参阅此处。 https://aws.amazon.com/blogs/database/securing-data-in-amazon-rds-using-aws-kms-encryption/
另外,使用EBS加密需要什么,也就是RDS用来存储的,看这里:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#ebs-encryption-requirements
我正在使用一个 AWS RDS 数据库集群,该集群使用驻留在同一 AWS 账户中的 KMS CMK 加密。
我的数据库集群似乎在默认 KMS 策略下运行良好,但我不确定如果我没有特别授予它,RDS 如何访问密钥。
这是预期的最佳做法吗?或者我是否需要为 RDS 添加特定的策略?我有点偏执,我的集群可能缺少权限并且可能在将来的某个时候停止工作。
原来不需要添加特定的策略来允许RDS访问KMS。
RDS 从创建数据库集群的实体授予的授权中获得对密钥的访问权限。
您可以通过运行以下命令查看赠款列表:
aws kms list-grants --key-id yourkey
这是我找到此信息的来源 link: https://www.reddit.com/r/aws/comments/f17a25/rds_and_kms_access_a_follow_up/
您似乎成功了,但如果您使用的是客户管理的 CMK,答案可能不完整。当您使用客户管理的 KMS CMK 时,您可以控制谁(什么)可以在 KMS 中使用您的 CMK。例如,如果您在 CMK Key Policy for kms:creategrant for all principles 中明确拒绝并重启数据库,您会发现数据库无法启动,因为它将无法加载数据。 (如果您进行此类测试,请确保您使用单可用区,因为多可用区在您重新启动时将准备好热故障转移)。默认情况下,密钥策略启用对 IAM 的委托,因此您可以在 IAM 中管理对密钥的访问,但这不是必需的。您可以细粒度地控制对客户管理的 CMK 中的 creategrant 等项目的访问。您甚至可以使用加密上下文的条件来授予某些服务并拒绝其他服务,甚至是特定的 rds 实例或 ebs 卷:https://docs.aws.amazon.com/kms/latest/developerguide/services-rds.html
有关 RDS 和支持的加密类型的更多信息,请参阅此处。 https://aws.amazon.com/blogs/database/securing-data-in-amazon-rds-using-aws-kms-encryption/
另外,使用EBS加密需要什么,也就是RDS用来存储的,看这里:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#ebs-encryption-requirements