问题描述
即使我拥有完全的 AWS 访问权限并且能够在 AWS SSO 控制台中创建内容,以下 CLI 命令仍然失败:
aws sso-admin create-account-assignment
--instance-arn="arn:aws:sso:::instance/ssoins-xxx"
--target-id="xyz"
--target-type="AWS_ACCOUNT"
--permission-set-arn="arn:aws:sso:::permissionSet/ssoins-xxx/ps-qwe"
--principal-type="GROUP"
--principal-id="99672ae6a4-5d62c75e-a849-43a5-bd11-87b2f0c6fdf4"
对于 FailureReason
,在描述我收到的请求时:
收到 403 状态错误:用户:arn:aws:iam::xyz:user/ivan.aracki.com 无权执行:sso:CreateAccountAssignment on resource: arn:aws:sso:::account/xyz明确拒绝
解决方法
在我们的案例中,这似乎是因为我的用户属于拒绝此请求的 ForceMFA
组。出于某种原因,它并没有拒绝 ec2、s3 或其他 API 调用。可能 sso-admin API 的配置不同。
解决方案是遵循此 authenticate-mfa-cli AWS guide 并导出此调用中返回的变量:
aws sts get-session-token
--serial-number arn-of-the-mfa-device
--token-code code-from-token