我使用S3存储桶来存储文件,使用CloudFront来分发文件。我有一个自动处理同步的工具,它工作得很好。
但是,我希望能够以编程方式创建CloudFront失效。我需要在工具的策略中添加什么语句才能为此特定分发创建无效?
现在,我有这样的声明:
{
"Effect": "Allow",
"Action": [
"cloudfront:CreateInvalidation"
],
"Resource": "*"
}
但是,正如您所看到的,它允许为帐户中的任何分配创建失效。
我已经尝试将这些值用于Resource
属性,但由于某种原因,该工具给了我一个错误,说访问被拒绝:
arn:aws:cloudfront::12345678:distribution/ABCDEFG
arn:aws:cloudfront:::distribution/ABCDEFG
我需要在Resource
属性中指定哪些内容才能为特定分发创建无效?
例如,它的ARN为arn:aws:cloudfront::12345678:distribution/ABCDEFG
。
答案 0 :(得分:11)
success
命令不支持资源级权限。因此,仅支持cloudfront:CreateInvalidation
。因此,不可能将用户/角色限制为只能使特定分发无效。
来源:http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cf-api-permissions-ref.html
答案 1 :(得分:2)
现在 Clodfront 支持使用 IAM 策略的分发级别权限。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"cloudfront:UpdateDistribution",
"cloudfront:DeleteDistribution",
"cloudfront:CreateInvalidation"
],
"Resource": "arn:aws:cloudfront::<account_id>:distribution/<distribution_id>"
}
]
}
此处有更多详细信息:https://docs.amazonaws.cn/en_us/AmazonCloudFront/latest/DeveloperGuide/access-control-overview.html