使用AWS CLI执行describe-vpcs时提示无权限授权问题求助
问题场景
我正在学习Udemy平台上的《AWS Amazon Elastic Kubernetes Service Kubernetes masterclass devops microservices》课程,完成AWS CLI配置:
- 执行
aws configure,填写了AWS Access Key ID、AWS Secret Access Key - 设置默认区域为
eu-west-2,默认输出格式为json
执行aws ec2 describe-vpcs时收到错误:
An error occurred (UnauthorizedOperation) when calling the DescribeVpcs operation: You are not authorized to perform this operation
核心原因
当前使用的AWS Access Key对应的IAM用户没有被授予ec2:DescribeVpcs操作权限,要么是未配置允许该操作的策略,要么是策略明确拒绝了该操作。
解决步骤
1. 给IAM用户添加对应权限
- 登录AWS控制台,打开IAM服务
- 找到配置CLI时用的Access Key所属的IAM用户
- 给该用户附加包含
ec2:DescribeVpcs权限的策略:- 简单方案:直接附加AWS托管策略
AmazonEC2ReadOnlyAccess,这个策略包含所有EC2只读操作权限,足够满足课程需求 - 自定义方案:创建并附加以下自定义策略,仅授予
ec2:DescribeVpcs权限:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:DescribeVpcs", "Resource": "*" } ] }
- 简单方案:直接附加AWS托管策略
2. 确认当前CLI使用的身份
执行以下命令,验证当前CLI调用AWS API的身份是否为刚才配置权限的IAM用户,避免用错了Access Key:
aws sts get-caller-identity
3. 验证区域配置(可选)
虽然错误是权限问题,但可以额外确认区域配置是否正确,也可以在命令中显式指定区域测试:
aws ec2 describe-vpcs --region eu-west-2
内容的提问来源于stack exchange,提问作者Chris Hunter-Johnson
相关产品推荐
相关产品推荐

