amazon-web-services - 如何使用简单的 s3 存储桶策略授予对加密存储桶的跨账户访问权限?
问题描述
我有一个加密的 s3 存储桶
我想授予另一个帐户访问此存储桶的权限
通常我会这样做:
{
"Sid":"get",
"Effect":"Allow",
"Principal":{
"AWS":"arn:aws:iam::99999999999:root"
},
"Action":[
"s3:Get*",
],
"Resource":[
"arn:aws:s3:::my-bucket/*",
]
},
但是这个桶是加密的,他们得到这个错误:
upload failed: ./test to s3://my-bucket/test An error occurred (KMS.NotFoundException) when calling the PutObject operation: Key 'arn:aws:kms:us-east-1:99999999999:key/blahbalbhablhalbhalbh' does not exist
看起来他们需要 KMS 访问权限?我可以通过 kms 策略让他们的帐户访问 kms 密钥,这样可以解决问题吗?如果是这样,我需要创建一个自定义密钥来编辑策略吗?我想直接将他们的帐户 ID 访问权限分配给加密的存储桶
解决方案
你在正确的道路上!您需要创建客户管理的 KMS 密钥 (CMK) 并更新 KMS 密钥策略以使用该密钥进行解密。将项目放入存储桶时使用该加密密钥。确保 KMS 策略是最低权限!
推荐阅读
- razor - 为什么 Bootstrap 面板在 Blazor 客户端中不起作用?
- r - 如何在ggplot中绘制虚线95%置信区间
- amazon-web-services - Terraform:具有指定可用区的 ElastiCache Redis 集群?
- java - Java:ClassNotFound 异常
- azure - 如何通过 az 命令获取 azure 存储帐户密钥的到期日期?
- c# - 矩形在 MouseRightButtonDown 处旋转一次
- reactjs - 使用 ag-grid 组件反应属性网格
- php - 未找到用于邮件重置的 Lavarel Illuminate 类
- javascript - MongoDB Bulkwrite 查询冻结 Node.js 响应
- pandas - 根据另一个 df 中的特定索引替换一个 df 中的值