Amazon web services 在AWS CLI上调用CreateInvalization操作时拒绝访问

Amazon web services 在AWS CLI上调用CreateInvalization操作时拒绝访问,amazon-web-services,Amazon Web Services,我试图创建一个命令,当推出新代码时,该命令将使CloudFront发行版无效。这是为了解决新推出的HTML不需要24小时就可以出现在我的web应用程序上的问题。这个想法来源于此 命令如下: aws cloudfront创建无效--分发id XXXXXXXXXXXXX--无效批处理file://invbatch.json 以下是我运行命令时得到的响应: 调用CreateInvalization操作时发生客户端错误(AccessDenied):用户:arn:aws:iam::XXXXXXXXXXXX

我试图创建一个命令,当推出新代码时,该命令将使CloudFront发行版无效。这是为了解决新推出的HTML不需要24小时就可以出现在我的web应用程序上的问题。这个想法来源于此

命令如下:

aws cloudfront创建无效--分发id XXXXXXXXXXXXX--无效批处理file://invbatch.json

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

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


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

您使用的AWS凭据没有使CloudFront分发版无效的权限。您应该进入AWS IAM控制台,查看您正在使用的用户“cats kittens beanstalk user”?,并为该用户添加适当的权限

或者,在IAM中创建具有相应权限的新用户

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

在您链接的示例中,S3认为他们试图在一个S3存储桶上执行一个操作,而这个存储桶不是他们自己的,或者是不存在的,因此我认为在那个实例中,权限错误是完全合适的


如果您完全确定您的用户具有适当的权限,则可能是您的分发id或.json文件中的某些内容不正确,导致CloudFront认为您正在试图编辑一个您不拥有的分发,或一个不存在的分发。

谢谢-这是正确的。在我的权限更改后,该命令起作用。