首页 > 解决方案 > 如何授予外部 AWS IAM 用户对特定 S3 Bucket 文件夹的访问权限

问题描述

我需要授予外部用户访问单个 Amazon S3 存储桶文件夹的权限。我有他们的 ARN 信息,但在授予访问权限时遇到问题。

{
    "Version": "2012-10-17",
    "Id": "S3AccessPolicy",
    "Statement": [
        {
            "Sid": "TestAccess",
            "Effect": "Allow",
            "Principal": {
                "AWS": "<external ARN>"
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::rootlevelbucket",
                "arn:aws:s3:::rootlevelbucket/specificfolder/*"
            ]
        }
    ]
}

标签: amazon-web-servicesamazon-s3

解决方案


跨账户访问有 2 个方面。您拥有存储桶策略的第一部分,但外部账户的管理员需要使用如下所示的 IAM 策略授予用户对 S3 的访问权限。您可以在 IAM 策略上使用 s3:*,因为您的存储桶策略将仅限于您列出的命令。

AWS 文档

外部用户的 IAM 政策:

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Sid": "RootlevelbucketAccess",
         "Effect": "Allow",
         "Action": [
            "s3:*"
         ],
         "Resource": [
             "arn:aws:s3:::rootlevelbucket",
             "arn:aws:s3:::rootlevelbucket/specificfolder/*"
         ]
      }
   ]
}

推荐阅读