问题描述
有没有办法从不同的帐户导入密钥(我们称之为 ACC B:客户密钥),在那里我可以加密某些数据,例如,机密管理器或特定的 s3 存储桶,甚至我(ACC A ) 无法访问它?机密管理器或特定 S3 存储桶中的机密驻留在 ACC A 中。
解决方法
或者一个特定的 s3 存储桶,即使我(ACC A)也无法访问它?
对于这种情况,您可以考虑使用 CMK(客户管理的密钥),其中客户端可能具有必要的权限。 CMK 也可能来自不同的账户。 (如果我没记错的话)
https://aws.amazon.com/premiumsupport/knowledge-center/s3-object-encrpytion-keys/
You want to grant cross-account access to your S3 objects.
You can configure the policy of a custom CMK to allow
access from another account.
S3 的另一个选择是使用客户端 S3 加密,但会产生一些开销 - 客户端需要自己存储和管理密钥。
我可以在哪里加密某些数据,例如机密管理器
我不确定 SecretManager 是否能够使用来自不同帐户的 KMS。
要加密任何数据,客户端仍然可以直接使用 KMS。 https://docs.aws.amazon.com/wellarchitected/latest/financial-services-industry-lens/use-envelope-encryption-with-customer-master-keys.html
在这种情况下,我宁愿建议使用 AWS Encryption API,它的作用与此相同,并强制执行最佳做法。