我正在尝试在OSX上开始使用AWS CLI。我通过pip安装了aws
。我在IAM中创建了一个新用户并附加了预构建的AdministratorAccess - AWS Managed policy
策略。接下来,我已经复制了生成的访问密钥ID和秘密访问密钥。
我创建的用户不在任何组中。他们的政策如下:
{
"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
然而,这失败并出现以下错误:
调用时出现客户端错误(UnauthorizedOperation) CreateSecurityGroup操作:您无权执行此操作 操作
其他命令以相同方式失败。
我唯一的理论是,它是键中的复制和粘贴错误,但我尝试过两次以上的整个过程并且两次都以相同的方式失败。我究竟做错了什么?有没有办法可以调试流程的哪个部分失败?
答案 0 :(得分:6)
您的AWS CLI正在从其他地方获取凭据。见Configuration Settings and Precedence
确保它没有从环境变量或其他位置获取凭据。 AWS CLI按以下顺序查找凭据和配置设置:
答案 1 :(得分:2)
在我的情况下,这是因为没有为我正在验证的IAM用户附加正确的策略。
在IAM管理控制台中将AmazonEC2FullAccess
政策附加到用户,该命令应该有效。
答案 2 :(得分:0)
确保您没有在VPC中创建安全组,如果是这种情况,则需要将默认VPC ID作为参数传递。
还可以尝试使用不同的区域:
aws configure set region <regions>
aws ec2 describe-security-groups
注意:AWS已开始在大多数地区提供默认VPC。
希望这有助于解决您的问题。