tra*_*k13 6 amazon-web-services aws-cli
我正在尝试创建一个命令,该命令将在推出新代码时使 CloudFront 分配无效。这是为了解决推出的新 HTML 不会在 24 小时内出现在我的网络应用程序上的问题。这个想法来自这个AWS CLI 命令参考
这是命令:
aws cloudfront create-invalidation --distribution-id XXXXXXXXXXXXXX --invalidation-batch file://invbatch.json
Run Code Online (Sandbox Code Playgroud)
这是我运行命令时得到的响应:
调用 CreateInvalidation 操作时出现客户端错误 (AccessDenied):用户:arn:aws:iam::XXXXXXXXXXXXXXX:user/cats-kittens-beanstalk-user is notauthorized to perform: cloudfront:CreateInvalidation
知道为什么会这样吗?我知道即使用户被授权在某些情况下运行命令,AWS 也会抛出此访问被拒绝 - 请参阅此处。
小智 3
IAM 策略不允许限制对特定 CloudFront 分配的访问。解决方案是对资源使用通配符,而不是仅引用特定的 CloudFront 资源。将其添加到您的 IAM 策略将解决您遇到的问题。
以下是有效 IAM 策略中的示例:
{
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": [
"cloudfront:CreateInvalidation",
"cloudfront:GetInvalidation",
"cloudfront:ListInvalidations"
],
"Resource": "*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
文件:
归档时间: |
|
查看次数: |
2503 次 |
最近记录: |