Y. *_*ash 28 amazon-ec2 amazon-web-services amazon-ecs aws-cli
我已经尝试通过向我的用户提供AmazonEC2ContainerRegistryFullAccess
策略来遵循关于为我的用户设置ECR授权的AWS说明.
但是,当我尝试在我的电脑上运行时,aws ecr get-login
我收到一个错误,我没有得到许可.
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: *
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
Dio*_*elo 36
用户必须拥有 ECR 上所有资源的 GetAuthorizationToken。为了使策略更加严格,您可以仅将所有操作授予所需的注册表,并且仅将 ecr:GetAuthorizationToken 授予所有资源。以下是附加到您的用户的策略示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ecr:BatchCheckLayerAvailability",
"ecr:BatchGetImage",
"ecr:CompleteLayerUpload",
"ecr:GetDownloadUrlForLayer",
"ecr:InitiateLayerUpload",
"ecr:PutImage",
"ecr:UploadLayerPart"
],
"Effect": "Allow",
"Resource": "<REPOSITORY_ARN_HERE>"
},
{
"Action": [
"ecr:GetAuthorizationToken"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
小智 34
您必须将策略附加到IAM角色.
我附上了AmazonEC2ContainerRegistryFullAccess并且它有效.
Tar*_*syk 16
这是一个完整的答案,在我遵循所有步骤之后 - 我能够使用 ECR
错误可能有两种含义:
1) 您没有被授权,因为您没有附加到您的用户的 ECR 策略
2)您没有被授权,因为您使用的是 2FA 并且使用 cli 是不安全的,除非您设置临时会话令牌
这是获得访问权限的所有步骤的列表(包括处理 2FA)
如果您启用了 2FA
aws sts get-session-token --serial-number arn-of-the-mfa-device --token-code code-from-token
。arn-of-the-mfa-device
可以在您的个人资料的 2FA 部分中找到。令牌,是从设备生成的令牌。AccessKeyId
,SecretAccessKey
和SessionToken
。AWS 建议使用任何一个 cron 作业来刷新令牌,这意味着如果您正在执行此操作,您正在测试事物,您的生产资源很可能没有启用 2FA。您可以通过提供--duration-seconds
但最多 36 小时来增加会话。可以在authentication-mfa-cli找到一个很好的解释这应该可以胜任
正如错误描述中出现的那样,我必须在我的策略中允许操作“GetAuthorizationToken”。
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": "ecr:GetAuthorizationToken",
"Resource": "*"
}
Run Code Online (Sandbox Code Playgroud)
注意:这不是我的完整政策,而是声明的一个小节。
我发现启用2FA后,没有选择使用aws ecr get-login,一旦我从帐户中删除了2FA,我便获得了授权令牌
如果您尝试从 PUBLIC AWS 存储库中提取映像,则必须将以下用户权限添加到您的策略中:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecr-public:GetAuthorizationToken",
"sts:GetServiceBearerToken"
],
"Resource": "*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
请在此处查看完整文档。
归档时间: |
|
查看次数: |
11668 次 |
最近记录: |