我正在尝试在OSX上开始使用AWS CLI.我是aws
通过pip 安装的.我在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
但是,这失败并出现以下错误:
调用CreateSecurityGroup操作时发生客户端错误(UnauthorizedOperation):您无权执行此操作.
其他命令以相同方式失败.
我唯一的理论是它是键中的复制和粘贴错误,但我已经尝试过两次以上的整个过程并且两次都以相同的方式失败.我究竟做错了什么?有没有办法可以调试流程的哪个部分失败?
您的AWS CLI正在从其他位置获取凭据.请参阅配置设置和优先顺序
确保它没有从环境变量或其他位置获取凭据.AWS CLI按以下顺序查找凭据和配置设置:
命令行选项 - 可以将区域,输出格式和配置文件指定为命令选项以覆盖默认设置.
环境变量 - AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY等
AWS凭证文件 - 位于Linux,OS X或Unix上的〜/ .aws /凭证,或Windows上的C:\ Users\USERNAME .aws \凭证.除默认配置文件外,此文件还可以包含多个命名配置文件.
CLI配置文件 - 通常位于Linux,OS X或Unix上的〜/ .aws/config,或Windows上的C:\ Users\USERNAME .aws\config.此文件可以包含默认配置文件,命名配置文件以及每个配置文件的CLI特定配置参数.
实例配置文件凭据 - 这些凭据可用于具有指定实例角色的EC2实例,并通过Amazon EC2元数据服务提供.