AWS 重命名权限
Posted
技术标签:
【中文标题】AWS 重命名权限【英文标题】:AWS Rename permissions 【发布时间】:2015-11-25 21:16:44 【问题描述】:在 AWS 我有以下内容
"Version": "2012-10-17",
"Statement": [
"Sid": "AllowGroupToSeeBucketvideo",
"Action": [
"s3:ListAllMyBuckets",
"s3:GetBucketLocation"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::mybucket"
]
,
"Sid": "AllowListingOfVideoBucket",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::mybucket"
]
,
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::mybucket/*"
]
]
我也希望能够重命名对象,但是有了这些权限,重命名失败有人知道我缺少什么吗?
【问题讨论】:
【参考方案1】:为了重命名,您需要将以下内容添加到您的允许操作中。
"s3:GetObjectVersion",
"s3:DeleteObjectVersion",
"s3:PutObjectAcl",
"s3:GetObjectAcl"
【讨论】:
谢谢!在我的情况下,我缺少“s3:PutObjectAcl”。【参考方案2】:我认为这些权限会有所帮助,我已经尝试过了!
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:GetObjectVersion",
"s3:DeleteObject",
"s3:DeleteObjectVersion",
"s3:GetObjectAcl"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::mx-provider-video-upload/9a9036/*"
]
【讨论】:
然后就不用担心ACL权限的WRITE_ACP了【参考方案3】:我在这里提供了相同的答案 How do you allow granting public read access to objects uploaded to AWS S3?
我发现当 ListAllMyBuckets 未授予 all 时,从控制台执行某些操作(例如重命名对象)会失败(但会从 CLI 成功!) > s3 资源。将以下内容添加到 IAM 政策解决了该问题:
"Sid": "AccessS3Console",
"Action": [
"s3:ListAllMyBuckets"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::*"
我测试的一些操作在控制台失败但从 CLI 成功:
重命名对象。控制台显示“错误 - 无法将文件重命名为”。 解决方法:删除并使用新名称重新上传对象。 使用“授予对此对象的公共读取访问权限”上传对象。控制台的状态栏显示操作卡在“进行中”。 解决方法:在不授予公共读取权限的情况下上传对象,然后右键单击它并选择“公开”。按照此处的说明操作后,我遇到了这些问题 https://aws.amazon.com/premiumsupport/knowledge-center/s3-console-access-certain-bucket/ 描述了如何限制对单个存储桶的访问(并防止查看帐户中存储桶的完整列表)。该帖子没有提及警告。
将用户的 Amazon S3 控制台访问限制为仅对特定存储桶或 文件夹(前缀),在用户的 AWS Identity 中更改以下内容并 访问管理 (IAM) 权限:
删除对 s3:ListAllMyBuckets 操作的权限。 仅为您希望用户访问的存储桶或文件夹添加对 s3:ListBucket 的权限。 注意:要允许用户从存储桶或文件夹上传和下载对象,您还必须包括 s3:PutObject 和 s3:GetObject。
警告:更改这些权限后,用户将获得访问权限 他们访问主 Amazon S3 控制台时出现拒绝错误。用户 必须使用指向存储桶的直接控制台链接访问存储桶,或者 文件夹。
【讨论】:
【参考方案4】:如果您的要求是授予对特定存储桶的访问权限,例如Sample 及其对象。这些权限将用于您的目的。
"Version": "2012-10-17",
"Statement": [
"Sid": "Stmt1448568376000",
"Effect": "Allow",
"Action": [
"s3:DeleteObject",
"s3:GetObject",
"s3:ListBucket",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::sample"
]
]
【讨论】:
我希望能够在我尝试的 AWS s3 中重命名一个文件,但它不接受并说它失败了【参考方案5】:我遇到了完全相同的问题,我发现重命名 S3 对象所需的权限只有:
"s3:GetObjectACL",
"s3:PutObject",
"s3:PutObjectACL"
s3:DeleteObject
不是必需的,这非常危险,尤其是在 S3 存储桶上未启用版本控制的情况下。我测试了s3:DeleteObject
和没有它,它仍然有效。
【讨论】:
以上是关于AWS 重命名权限的主要内容,如果未能解决你的问题,请参考以下文章