AWS CLI Client.UnauthorizedOperation即使设置了密钥也是如此

时间:2015-01-29 18:57:40

标签: amazon-ec2 aws-cli

我正在尝试设置AWS CLI工具,并按照http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/set-up-ec2-cli-linux.html#setting_up_ec2_command_linux

的说明进行操作

但是,在完成所有步骤并设置AWS_ACCESS_KEYAWS_SECRET_KEY之后,我得到了

$ ec2-describe-regions
Client.UnauthorizedOperation: You are not authorized to perform this operation. (Service: AmazonEC2; Status Code: 403; Error Code: UnauthorizedOperation; Request ID: 55f02cc4-2e9f-4a0a-8b55-46bcc1973f50)

然后我尝试重新生成新凭据,但仍然遇到相同的错误。我似乎无法找到有关此问题的其他任何人的信息。我尝试使用-O-W传递密钥,但这也不起作用。

知道我可能做错了吗?

3 个答案:

答案 0 :(得分:33)

我正在免费套餐,并且发现向单个用户授予管理员政策更容易,这支持所有亚马逊命令行工具的访问权限。如果您认为该政策过于宽松,可以在以后降级该政策。

  1. 访问https://console.aws.amazon.com/iam/home
  2. 在左侧菜单中选择policies
  3. 来自亚马逊现有政策的
  4. 创建管理员政策
  5. 选择管理员复选框并附加给您的用户
  6. aws policy grant

    假设您已设置了访问密钥,您现在应该拥有给定用户的完整命令行访问权限。

    › ec2-describe-regions
    Client.UnauthorizedOperation: You are not authorized to perform this operation. (Service: AmazonEC2; Status Code: 403; Error Code: UnauthorizedOperation; Request ID: 3398ed18-1caf-4c04-865b-a54f796c653c)
    

    › ec2-describe-regions
    REGION  eu-central-1    ec2.eu-central-1.amazonaws.com
    REGION  sa-east-1   ec2.sa-east-1.amazonaws.com
    REGION  ap-northeast-1  ec2.ap-northeast-1.amazonaws.com
    REGION  eu-west-1   ec2.eu-west-1.amazonaws.com
    REGION  us-east-1   ec2.us-east-1.amazonaws.com
    REGION  us-west-1   ec2.us-west-1.amazonaws.com
    REGION  us-west-2   ec2.us-west-2.amazonaws.com
    REGION  ap-southeast-2  ec2.ap-southeast-2.amazonaws.com
    REGION  ap-southeast-1  ec2.ap-southeast-1.amazonaws.com
    

    amazons UX需要一些时间才能适应它

答案 1 :(得分:17)

非常不幸的是,使用EC2 CLI工具的基本指南甚至没有提到这一点,但看起来我的问题是我的IAM帐户下没有正确的策略设置。

{
"Version": "2012-10-17",
"Statement": [{
  "Effect": "Allow",
  "Action": "ec2:Describe*",
  "Resource": "*"
}]
}

有关详细信息,请参阅此链接: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html

答案 2 :(得分:1)

必须将某些策略分配给IAM用户和组,而不是IAM角色。我们将AdministratorAccessAmazonEC2FullAccess等策略分配给为联合创建的IAM角色,并且AWS CLI命令失败且响应相同。

为IAM用户和组分配策略可确保策略有效。我们为管理员分配了AmazonEC2FullAccess政策等政策。对于列出区域和实例,如describe-regions命令所示,AmazonEC2ReadOnlyAccess等策略就足够了,因为它们包含必要的语句以允许对所需资源进行受限制的操作。