新的 IAM 管理员用户看到"You are not authorized to perform this operation"



我正在尝试在OS X上开始使用AWS CLI。我通过pip安装了aws。我在IAM中创建了一个新用户,并附加了预先构建的AdministratorAccess-AWS托管策略策略。接下来,我复制了生成的Access Key ID和Secret Access Key。

我创建的用户不在任何组中。他们的政策是这样的:

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

接下来,我从命令行运行aws configure,并输入我复制的访问密钥和密钥,加上eu-west-1的区域代码(由于IAM用户是全局用户,因此似乎不太可能相关)和text的输出格式。

然后我尝试运行一个简单的测试命令来建立一个新的组:

aws ec2 create-security-group --group-name my-sg --description "My security group" --debug

但是,由于以下错误而失败:

调用CreateSecurityGroup操作:您无权执行此操作活动

其他命令也会以同样的方式失败。

我唯一的理论是,这是密钥中的复制粘贴错误,但我已经尝试过两次以上整个过程,但两次都以相同的方式失败了。我做错了什么?有没有一种方法可以调试流程的哪一部分失败了?

您的AWS CLI正在从其他地方获取凭据。请参阅配置设置和优先级

请确保它没有从环境变量或其他位置获取凭据。AWS CLI按以下顺序查找凭据和配置设置:

  • 命令行选项–区域、输出格式和配置文件可以指定为覆盖默认设置的命令选项
  • 环境变量–AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY等
  • AWS凭据文件—在Linux、OS X或Unix上位于~/.AWS/credentials,在Windows上位于C:\Users\USERNAME.AWS\credentials。除了默认配置文件外,此文件还可以包含多个命名配置文件
  • CLI配置文件—在Linux、OS X或Unix上通常位于~/.aws/config,在Windows上通常位于C:\Users\USERNAME.aws\config。此文件可以包含默认配置文件、命名配置文件以及每个配置文件的CLI特定配置参数
  • 实例配置文件凭据–这些凭据可以在具有指定实例角色的EC2实例上使用,并通过AmazonEC2元数据服务提供

在我的情况下,这是由于没有将正确的策略附加到与我进行身份验证的IAM用户。

AmazonEC2FullAccess策略附加到IAM管理控制台中的用户,该命令应该可以工作。

如果需要传递默认VPC ID作为参数,请确保您没有在VPC中创建安全组。

也可以在不同的地区尝试:

aws configure set region <regions>
aws ec2 describe-security-groups

注意:AWS已经开始在大多数地区提供默认的VPC

希望这能帮助并解决您的问题。

相关内容

最新更新