AWS root用户执行eks:DescribeCluster操作出现AccessDenied权限错误
首先执行以下命令验证当前AWS CLI实际调用时使用的身份:aws sts get-caller-identity
返回结果中的Arn字段就是当前生效的身份,和报错中的publishing-service-dev用户ARN核对即可确认身份调用异常的问题。
你遇到的身份不匹配问题,本质是AWS CLI凭证优先级导致的,按以下顺序排查即可:
- 排查是否配置了AWS相关环境变量:AWS CLI读取环境变量凭证的优先级高于本地配置文件,Linux/macOS执行
echo $AWS_ACCESS_KEY_ID、Windows CMD执行echo %AWS_ACCESS_KEY_ID%、Windows PowerShell执行$env:AWS_ACCESS_KEY_ID,如果返回不为空,说明本地环境变量配置了其他账号的凭证,删除对应环境变量后重试即可。 - 排查本地配置文件内容:打开
~/.aws/credentials(Windows路径为C:\Users\<你的用户名>\.aws\credentials),检查[default]条目下的AK/SK是否和你配置的root用户凭证一致,也可以直接执行aws configure list查看当前默认配置的来源和取值。 - 排查是否指定了其他profile:如果执行命令时加了
--profile参数,或者配置了AWS_PROFILE环境变量,会优先使用对应profile的凭证,核对是否有相关配置。 - 如果你的命令是在EC2/ECS/EKS等AWS云资源内部执行的,还会优先使用资源绑定的IAM角色,排查对应资源的角色配置即可。
重要安全提醒:绝对不要使用AWS root用户的Access Key配置CLI工具,root用户拥有账号全量操作权限,一旦密钥泄露会导致极高的安全风险,包括资源被恶意删除、产生巨额账单等。正确做法是创建具备对应权限的IAM用户用于日常操作,root用户仅用于账号级别的特殊管理操作,日常不要使用。
内容的提问来源于stack exchange,提问作者stz184
相关产品推荐
相关产品推荐

