在AWS CloudShell执行DetachRolePolicy命令时遇InvalidClientTokenId错误
解决AWS CloudShell解绑IAM角色策略时的InvalidClientTokenId错误
以下是针对该错误的实用排查和解决步骤:
刷新CloudShell会话凭证
CloudShell的临时凭证会自动刷新,但长时间闲置可能失效。直接关闭当前CloudShell窗口,重新开启新会话后,再次执行命令:aws iam detach-role-policy --role-name "roleName" --policy-arn "policy-arn"验证当前身份权限
先确认当前CloudShell使用的IAM身份:aws sts get-caller-identity检查该身份的权限策略是否包含
iam:DetachRolePolicy动作,且资源范围覆盖目标角色和策略的ARN。清除自定义凭证配置
如果之前手动执行过aws configure设置静态凭证,会覆盖CloudShell的默认临时凭证。先检查现有配置:aws configure list若存在静态access key/secret,执行以下命令清除:
aws configure unset aws_access_key_id aws configure unset aws_secret_access_key之后重启CloudShell重试。
核对角色和策略ARN的正确性
确认roleName无拼写错误,policy-arn格式正确(示例:arn:aws:iam::123456789012:policy/MyPolicy)。可以通过AWS控制台进入角色和策略详情页,复制正确的ARN替换命令参数。检查区域配置一致性
确认当前CloudShell的区域与目标角色、策略所在区域一致:aws configure get region若不一致,切换到正确区域:
aws configure set region us-east-1 # 替换为实际区域
内容的提问来源于stack exchange,提问作者Muhammad Manzoor
相关产品推荐
相关产品推荐

