我正在使用AWS CLI在脚本中创建一个云五发行:
aws configure set preview.cloudfront true
aws cloudfront create-invalidation --distribution-id ABCD1234 --paths '/*'
我有一个带有此说明的策略:
{
"Sid": "xxx",
"Effect": "Allow",
"Action": [
"cloudfront:CreateInvalidation"
],
"Resource": [
"arn:aws:cloudfront::xxx:distribution/ABCD1234"
]
}
策略附加到正在运行命令的用户。但是,我仍然遇到此错误:
调用CreateInvalidation操作时发生的客户端错误(访问(发生:用户:ARN:AWS:IAM :: XXX:user/yyy无权执行:cloudfront:createInvalidation
问题是,云方无法与指定资源的策略一起使用。"加宽"策略解决了错误。
此支持线程状态:
CloudFront不支持IAM的资源级权限。
它也被埋葬在云的文档中:
Operation: POST Invalidation (CreateInvalidation)
Required Permissions: cloudfront:CreateInvalidation
Resources: *
这意味着策略需要:
{
"Sid": "xxx",
"Effect": "Allow",
"Action": [
"cloudfront:CreateInvalidation"
],
"Resource": [
"*" <-- must be a wildcard
]
}