在AWS CLI上调用CreateInvalidation操作时拒绝访问

时间:2015-11-09 19:27:49

标签: amazon-web-services

我正在尝试创建一个命令,在推出新代码时会使CloudFront分配无效。这是尝试解决新推出的HTML不会在我的网络应用上显示最多24小时的问题。这个想法来自这个AWS CLI COMMAND REFERENCE

这是命令:

aws cloudfront create-invalidation --distribution-id XXXXXXXXXXXXXX --invalidation-batch file://invbatch.json

这是我运行命令时得到的响应:

调用CreateInvalidation操作时发生客户端错误(AccessDenied):User:arn:aws:iam :: XXXXXXXXXXXXXX:user / cats-kittens-beanstalk-user无权执行:cloudfront:CreateInvalidation

知道为什么会这样吗?我知道,即使用户有权在某些情况下运行命令,AWS也会拒绝此访问权限 - 请参阅here

1 个答案:

答案 0 :(得分:3)

您使用的AWS凭据无权使您的CloudFront分配失效。您应该进入AWS IAM控制台并查看您正在使用的用户" cats-kittens-beanstalk-user" ??,并为该用户添加适当的权限。

或者,在IAM中创建具有适当权限的新用户。

  

我知道即使用户是,AWS也会拒绝此访问权限   授权在某些情况下运行命令

在您链接的示例中,S3似乎尝试在他们没有拥有的S3存储桶上执行操作,或者一个不存在的操作,所以我认为权限错误在那种情况下非常合适。

如果您完全确定您的用户具有相应的权限,那么您的.comson文件中的分发ID或内容可能不正确,从而导致CloudFront认为您正在尝试编辑您不喜欢的分发拥有,或者不存在。