AWS IAM 政策问题
Posted
技术标签:
【中文标题】AWS IAM 政策问题【英文标题】:AWS IAM policy issue 【发布时间】:2020-09-26 14:53:14 【问题描述】:我创建了一个名为 sally 的 IAM 用户,并且在创建时没有附加任何托管策略。然后将以下 IAM 策略附加到它。
"Version": "2012-10-17",
"Statement": [
"Action": "S3:*",
"Resource": [
"arn:aws:s3:::cat-pics",
"arn:aws:s3:::cat-pics/*"
],
"Effect": "Allow"
]
但是当我以 sally 用户身份登录控制台时,我不断收到以下错误: 错误 拒绝访问 基本上,用户无法看到 cat-pics 存储桶或上传到其中的任何对象。我在这里想念什么?我是否需要向用户添加任何托管策略?请告诉我。
谢谢
【问题讨论】:
您确定以正确的用户身份登录吗? 是的,我确定,因为我可以在控制台右上角看到 sally@account-id。孟买地区也存在存储桶。 试试这个网址。 s3.console.aws.amazon.com/s3/buckets/cat-pics 【参考方案1】:对于尝试通过控制台访问存储桶的用户来说,这是正确的策略文档。
"Version": "2012-10-17",
"Statement": [
"Sid": "TheseActionsSupportBucketResourceType",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:ListBucketVersions"
],
"Resource": [
"arn:aws:s3:::cat-pics"
]
,
"Sid": "TheseActionsRequireAllResources",
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"s3:ListMultipartUploadParts"
],
"Resource": [
"*"
]
,
"Sid": "TheseActionsRequireSupportsObjectResourceType",
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::cat-pics/*"
]
]
此处提供了该问题的详细说明: https://aws.amazon.com/blogs/security/iam-policy-summaries-now-help-you-identify-errors-and-correct-permissions-in-your-iam-policies/ 谢谢
【讨论】:
【参考方案2】:问题在于此策略允许仅此存储桶的完全访问权限,但如果您使用控制台,则需要其他权限才能访问。 AWS documentation 表示您需要在存储桶之外的 GetBucketLocation
和 ListAllMyBuckets
权限才能使用控制台。
将此添加到策略中,它应该可以工作:
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Resource": "*"
,
【讨论】:
以上是关于AWS IAM 政策问题的主要内容,如果未能解决你的问题,请参考以下文章