使用 aws-vault 将 docker 图像推送到 ECR 失败
use aws-vault to push docker image to ECR failed
我正在尝试将 docker 图像从我的 mac 推送到 ECR。我在aws-vault中添加了身份,但是使用aws-vault获取密码失败。我的同伴有相同的权限,他可以毫无问题地登录 ECR。
.aws % aws-vault list
Profile Credentials Sessions
======= =========== ========
identity identity -
.aws % ENCRYPTED_PASSWORD=$(aws-vault exec identity -- aws ecr get-login-password --region us-west-2)
An error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: User: arn:aws:iam::97xxxxxxxxxx:user/xxxxx.xxxxxx@xxxxxxxxx.com is not authorized to perform: ecr:GetAuthorizationToken on resource: * with an explicit deny in an identity-based policy
我们使用的是同一个角色。我打算在获得 ENCRYPTED_PASSWORD 后执行以下行--
aws-vault exec identity -- aws ecr --region us-west-2 | docker login -u AWS -p ${ENCRYPTED_PASSWORD} xxxxxxxxxxxx.dkr.ecr.us-west-2.amazonaws.com/my-ecr
我的.aws/config有这行参考上面的
[profile identity]
因为我的队友有相同的 policy/permission,所以我不认为“GetAuthorizationToken”是个问题。还有什么?我正在尝试找到一种方法将我的 docker 图像从 Mac 推送到 ECR。
完全重做配置,将所有角色链接到身份。
[profile xx-xxxx-services-monitoring]
role_arn=arn:aws:iam::xxxxxxxxxxxx:role/XXMonitoring
source_profile=identity
sparent_profile=mfa
[profile identity]
现在是令牌问题--我从 MFA 验证器输入代码但失败
.aws % aws-vault exec xx-xxxx-main-admin -- aws ecr get-login --region us-west-2
Warning: parent_profile is deprecated, please use include_profile instead in your AWS config
Enter token for arn:aws:iam::xxxxxxxxxxxx:mfa/xxxxxx.xxxx@xxxxxx.com: **125492**
aws-vault: error: exec: Failed to get credentials for xx-xxxx-main-admin: AccessDenied: MultiFactorAuthentication failed, unable to validate MFA code. Please verify your MFA serial number is valid and associated with this user.
status code: 403, request id: 25808115-d9fa-480d-87d4-xxxxxxxxxxxxx
从 Authenticator MFA 看来令牌无效
第一个 aws-vault“GetAuthorizationToken”是由不健康、格式错误的 ~/.aws/config 文件引起的。必须使用以下格式指定角色--
[配置文件 xx-xxxx-服务监控]
role_arn=arn:aws:iam::xxxxxxxxxxxx:role/XXMonitoring
source_profile=身份
sparent_profile=mfa
[个人资料身份]
第二部分是MFA问题。 MFA 序列号必须与您在身份验证器中配置的相匹配。 (DUO, Authy, Authenticator...) 你的 ~/.aws/config 应该有这个部分--
[个人资料 mfa]
mfa_serial=arn:aws:iam::xxxxxxxxxxxx:mfa/xxxxx.xxxx@xxxxx.com
我正在尝试将 docker 图像从我的 mac 推送到 ECR。我在aws-vault中添加了身份,但是使用aws-vault获取密码失败。我的同伴有相同的权限,他可以毫无问题地登录 ECR。
.aws % aws-vault list
Profile Credentials Sessions
======= =========== ========
identity identity -
.aws % ENCRYPTED_PASSWORD=$(aws-vault exec identity -- aws ecr get-login-password --region us-west-2)
An error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: User: arn:aws:iam::97xxxxxxxxxx:user/xxxxx.xxxxxx@xxxxxxxxx.com is not authorized to perform: ecr:GetAuthorizationToken on resource: * with an explicit deny in an identity-based policy
我们使用的是同一个角色。我打算在获得 ENCRYPTED_PASSWORD 后执行以下行--
aws-vault exec identity -- aws ecr --region us-west-2 | docker login -u AWS -p ${ENCRYPTED_PASSWORD} xxxxxxxxxxxx.dkr.ecr.us-west-2.amazonaws.com/my-ecr
我的.aws/config有这行参考上面的
[profile identity]
因为我的队友有相同的 policy/permission,所以我不认为“GetAuthorizationToken”是个问题。还有什么?我正在尝试找到一种方法将我的 docker 图像从 Mac 推送到 ECR。
完全重做配置,将所有角色链接到身份。
[profile xx-xxxx-services-monitoring]
role_arn=arn:aws:iam::xxxxxxxxxxxx:role/XXMonitoring
source_profile=identity
sparent_profile=mfa
[profile identity]
现在是令牌问题--我从 MFA 验证器输入代码但失败
.aws % aws-vault exec xx-xxxx-main-admin -- aws ecr get-login --region us-west-2
Warning: parent_profile is deprecated, please use include_profile instead in your AWS config
Enter token for arn:aws:iam::xxxxxxxxxxxx:mfa/xxxxxx.xxxx@xxxxxx.com: **125492**
aws-vault: error: exec: Failed to get credentials for xx-xxxx-main-admin: AccessDenied: MultiFactorAuthentication failed, unable to validate MFA code. Please verify your MFA serial number is valid and associated with this user.
status code: 403, request id: 25808115-d9fa-480d-87d4-xxxxxxxxxxxxx
从 Authenticator MFA 看来令牌无效
第一个 aws-vault“GetAuthorizationToken”是由不健康、格式错误的 ~/.aws/config 文件引起的。必须使用以下格式指定角色--
[配置文件 xx-xxxx-服务监控] role_arn=arn:aws:iam::xxxxxxxxxxxx:role/XXMonitoring source_profile=身份 sparent_profile=mfa
[个人资料身份]
第二部分是MFA问题。 MFA 序列号必须与您在身份验证器中配置的相匹配。 (DUO, Authy, Authenticator...) 你的 ~/.aws/config 应该有这个部分--
[个人资料 mfa] mfa_serial=arn:aws:iam::xxxxxxxxxxxx:mfa/xxxxx.xxxx@xxxxx.com