许多 aws sso-admin 命令因 403 而失败

Many aws sso-admin commands failing with 403

尽管我拥有完整的 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,在描述我收到的请求时:

Received a 403 status error: User: arn:aws:iam::xyz:user/ivan.aracki.com is not authorized to perform: sso:CreateAccountAssignment on resource: arn:aws:sso:::account/xyz with an explicit deny

在我们的案例中,这似乎是因为我的用户是拒绝此请求的 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