Tom*_*rne 7 amazon-web-services aws-cli
我正在使用aws cli,我的IAM用户拥有完整的管理员权限.我们公司需要MFA,因此我的IAM用户有一个MFA强制执行政策.要使用cli,我使用获取令牌aws sts get-session-token.
这一切都让我使用aws cli就好了,直到我尝试获取AWS容器注册表的docker登录.然后我收到一个错误......
$ aws ecr get-login --registry-ids XXXXX
An error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: User: arn:aws:iam::XXXXX:user/yyyyy is not authorized to perform: ecr:GetAuthorizationToken on resource: *
如果我暂时从IAM用户中删除MFA强制策略,则命令会成功.
所以问题是,如何aws ecr get-login启用MFA强制执行?
小智 8
您首先需要获取会话令牌。这可以通过以下方式完成:
aws sts get-session-token --serial-number <arn-of-the-mfa-device> --token-code <code-generated-by-MFA-device>
Run Code Online (Sandbox Code Playgroud)
通过转到 AWS 控制台 IAM 部分中的用户详细信息,可以找到 arn-of-the-mfa-device。上述命令的输出将为您提供一个会话令牌,以及其他访问凭证,供您使用。然后你应该运行:
aws configure set aws_session_token <the-session-token-in-the-output-of-above-command>
Run Code Online (Sandbox Code Playgroud)
之后,像往常一样进行aws ecr登录。
| 归档时间: |
|
| 查看次数: |
1409 次 |
| 最近记录: |