首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS ECR GetAuthorizationToken

AWS ECR GetAuthorizationToken
EN

Stack Overflow用户
提问于 2016-07-26 10:26:46
回答 11查看 78.2K关注 0票数 94

我尝试按照AWS的指示将AmazonEC2ContainerRegistryFullAccess策略授予我的用户,从而将ECR授权设置为我的用户。

然而,当我试图在我的PC上运行aws ecr get-login时,我会得到一个错误,即我没有权限。

代码语言:javascript
运行
复制
An error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: User: arn:aws:iam::ACCOUNT_NUMBER:user/MY_USER is not authorized to perform: ecr:GetAuthorizationToken on resource: *

我做错了什么?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2017-03-12 16:54:49

我发现当启用2FA时,就没有选择使用aws ecr get-登录,一旦我从我的帐户中删除了2FA,我就得到了授权令牌。

票数 13
EN

Stack Overflow用户

发布于 2016-09-25 08:03:11

您必须将策略附加到您的IAM角色。

我附上了AmazonEC2ContainerRegistryFullAccess,它起了作用。

票数 110
EN

Stack Overflow用户

发布于 2019-06-03 12:57:53

下面是一个完整的答案,在我完成所有步骤之后-我能够使用ECR。

这个错误可能有几个意思:

  1. 您没有被授权,因为您没有将ECR策略附加到您的用户。
  2. 您没有被授权,因为您使用的是2FA,除非您设置了临时会话令牌,否则使用cli是不安全的。
  3. 您提供了无效凭据。

下面是--获取访问的所有步骤的列表(包括处理2FA)

  1. 首先,您必须创建,该策略允许您访问ECR中的GetAuthorizationToken操作。
  2. 将此策略附加到用户或组(组/角色总是更好的方法,我对角色的投票,例如DevOps)
  3. 确保在您的环境中设置了AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY。我建议使用将凭据和配置文件分隔开的aws文件夹。

如果启用了2FA,则为

  1. 您需要使用此命令aws sts get-session-token --serial-number arn-of-the-mfa-device --token-code code-from-token生成会话令牌。arn-of-the-mfa-device可以在你的个人资料,2FA部分找到。令牌是从设备生成的令牌。
  2. 用接收到的AccessKeyIdSecretAccessKeySessionToken更新aws。AWS建议让cron作业刷新令牌,这意味着如果您正在进行测试,您的prod资源很可能没有启用2FA。您可以通过提供--duration-seconds来增加会话,但最多只能增加36个小时。在认证-mfa-cli可以找到一个很好的解释

这应该能胜任这项工作

票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38587325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档