S3:如何授予对多个存储桶的访问权限?

Posted

技术标签:

【中文标题】S3:如何授予对多个存储桶的访问权限?【英文标题】:S3: How to grant access to multiple buckets? 【发布时间】:2015-11-16 21:12:22 【问题描述】:

我有一个允许访问 1 个存储桶的政策:


    "Version": "2012-10-17",
    "Statement": [
        
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::MYBUCKETNAME"
        ,
        
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::MYBUCKETNAME/*"
        
    ]

我很好奇我是如何允许访问多个存储桶的?但是,我不想允许访问所有存储桶。我真的只是将“声明”部分的 2 个子部分加倍吗?

此外,我需要授予访问权限的存储桶的名称将有一个模式,例如:

abc-xyz-client

客户总是与众不同。添加某种通配符访问是否更容易?

【问题讨论】:

【参考方案1】:

Resource 键的值可以是一个桶数组。

例如

"Resource" : ["arn:aws:s3:::MYBUCKETNAME", "arn:aws:s3:::MYBUCKETNAME2"]

【讨论】:

我们是否也可以使用通配符来允许访问所有存储桶? 是的。 The following ARN uses * to indicate all Amazon S3 resources (all S3 buckets and objects in your account).arn:aws:s3:::*

以上是关于S3:如何授予对多个存储桶的访问权限?的主要内容,如果未能解决你的问题,请参考以下文章

向 Amazon S3 存储桶授予权限

无需凭据即可从特定 IP 授予对 AWS S3 存储桶的访问权限

AWS-IAM:授予对单个存储桶的访问权限

授予对 s3 存储桶的公共访问权限,而不是为 aws 无服务器应用程序提供静态网站

私有登台S3存储桶的策略

授予 Redshift Cluster 对另一个账户拥有的 S3 存储桶的访问权限