#amazon-web-services #docker #aws-cli #amazon-ecr
Вопрос:
Я пытаюсь перенести изображение docker в ECR с моего mac. Я добавил идентификатор в 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
Мы используем одну и ту же роль. Я намерен выполнить следующую строку, как только будет получено ЗАШИФРОВАННОЕ пароль—
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]
Поскольку у моего товарища по команде такая же политика/разрешение, я не вижу проблемы с «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 Authenticator, но не смог
.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
Не похоже, что токен действителен от MFA аутентификатора
Ответ №1:
- первый aws-vault «GetAuthorizationToken» был вызван неработоспособным, неформатированным файлом конфигурации ~/.aws/. Роли должны быть указаны в следующем формате—
[профиль xx-xxxx-мониторинг служб] role_arn=arn:aws:iam::xxxxxxxxxxxx:роль/XXMonitoring source_profile=идентификатор sparent_profile=мид
[идентификация профиля]
- Вторая часть-это вопрос МИД. Серийный номер MFA должен соответствовать тому, что вы настроили в своем аутентификаторе. (ДУЭТ, Аутентификатор, Аутентификатор…) В вашей ~/.aws/конфигурации должен быть этот раздел—
[профиль МИД] mfa_serial=arn:aws:iam::xxxxxxxxxxxx:mfa/xxxxx.xxxx@xxxxx.com