使用IAM限制对特定Cloudfront分发的访问

时间:2015-04-10 10:05:31

标签: amazon-web-services amazon-cloudfront amazon-iam

我正在尝试将特定IAM用户的访问权限授予特定的Cloudfront分发版。 我试过这个政策:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1428659042000",
            "Effect": "Allow",
            "Action":["cloudfront:*"],
            "Resource": [ "arn:aws:cloudfront:E3J2B3GMZI73G0" ]
        }
    ]
}

AWS-IAM策略检查程序说arn无效。根据有关Cloudfront的IAM限制的文档,AWS未指出任何限制对特定分发的访问的示例。他们总是提到:

"Resource":"*"

如何让特定用户访问具体的Cloudfront Distribution?

2 个答案:

答案 0 :(得分:29)

遗憾的是,

资源级AWS Identity and Access Management (IAM)权限尚未得到所有AWS服务的支持,Amazon CloudFront确实没有按照AWS Services That Support IAM中的概述表进行,CloudFront Resources中也明确确认了这些权限。 {{3}}:

  

在编写策略以控制对CloudFront操作的访问时,使用星号(*)作为资源。这是因为您无法使用IAM来控制对特定CloudFront资源的访问。例如,您无法授予用户访问特定分发的权限。使用IAM授予的权限包括您在CloudFront中使用的所有资源。 由于您无法指定用于控制访问的资源,因此您无需在IAM策略中使用CloudFront资源ARN (Amazon资源名称)。 [...] [强调我的]

答案 1 :(得分:-3)

我有类似的问题,使用以下格式:

arn:aws:cloudfront::123456789012:distribution/ABCDEFG1234567

其中

123456789012是您的AWS账户的AWS账户ID,

ABCDEFG1234567是您授予访问权限的发行版的分发ID。

总体政策:

{
    "Version": "2012-10-17",
    "Statement": [
    {
        "Sid": "AllowAllCloudFrontPermissions",
        "Effect": "Allow",
        "Action": [
            "cloudfront:*"
            ],
        "Resource":"arn:aws:cloudfront:: 123456789012:distribution/ABCDEFG1234567"
    }
}