Сгенерировать docker / config.json для предполагаемой роли AWS - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь перейти в реестр AWS (через Kaniko).В учетной записи реестра есть роль functional, моя учетная запись должна принять.Поэтому я пытаюсь сгенерировать .docker/config.json через:

set -o errexit -o nounset -o pipefail
export HOME=/root
mkdir -p "/root/.aws/"
cat <<EOF > /root/.aws/credentials
[functional]
role_arn = arn:aws:iam::359685361593:role/functional
source_profile = default
[default]
aws_access_key_id=$AWS_ACCESS_KEY_ID
aws_secret_access_key=$AWS_SECRET_ACCESS_KEY
EOF
export AWS_DEFAULT_REGION=eu-central-1
export AWS_SDK_LOAD_CONFIG=true
export AWS_PROFILE=functional
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
docker_cmd=$(aws ecr get-login --no-include-email)
url=$(echo "$docker_cmd" | sed -rn 's/docker login -u (.*) -p (.*) (.*)/\3/p')
auth=$(echo "$docker_cmd" | sed -rn 's/docker login -u (.*) -p (.*) (.*)/\1:\2/p')
auth=$(echo -n "$auth" | base64 -w 0)
cat <<EOF > /kaniko/.docker/config.json
{
  "auths": {
    "$url": {
      "auth": "$auth"
    }
  }
}
EOF

В конце концов, я получаю config.json, но он не работает.Канико печатает status code 401; Not Authorized.

Теперь я предполагаю, что роль принимающей роли как-то не удалась.Но я понятия не имею, как добраться до config.json с предполагаемой ролью.

Есть ли способ отладки этого или есть более простой способ выполнить роль, принимая на себя?

...