Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

729
Visualizações
Pase el rol de IAM de AWS CodeBuild dentro del contenedor de Docker [no se pueden ubicar las credenciales]

El rol configurado en el proyecto CodeBuild funciona bien con el entorno de tiempo de ejecución, pero no funciona cuando ejecutamos un comando desde dentro del contenedor, dice "no se pueden ubicar las credenciales".
Déjame saber cómo podemos usar el papel fuera de la caja dentro del contenedor.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Puede utilizar la fuente de credenciales "EcsContainer" para asumir el rol sin problemas sin tener que exportar nuevas credenciales en su buildspec.yml.

credential_source: el proveedor de credenciales que se usará para obtener las credenciales para la llamada inicial de asumir el rol. Este parámetro no se puede proporcionar junto con source_profile. Los valores válidos son:

  • Entorno para extraer las credenciales de origen de las variables de entorno.
  • Ec2InstanceMetadata para usar el rol de instancia EC2 como credenciales de origen.
  • EcsContainer para usar las credenciales del contenedor de ECS como las credenciales de origen.

De: https://docs.aws.amazon.com/cli/latest/topic/config-vars.html

Pasos:

Paso 0: cree un nuevo rol 'arn:aws:iam::0000000000:role/RoleToBeAssumed' y adjunte las políticas requeridas para proporcionar el permiso requerido para los comandos que está ejecutando durante la compilación.

Paso 1: agregue los permisos sts:assumeRole a su rol de servicio de CodeBuild. Aquí hay una política de muestra:

 { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "sts:*", "Resource": "arn:aws:iam::0000000000:role/RoleToBeAssumed" } ] }

Paso 2: configure su contenedor de compilación para usar los metadatos de la credencial como fuente para asumir el rol. Aquí hay un ejemplo de especificación de compilación:

 version: 0.2 phases: install: runtime-versions: nodejs: 8 commands: - aws sts get-caller-identity - mkdir ~/.aws/ && touch ~/.aws/config - echo "[profile buildprofile]" > ~/.aws/config - echo "role_arn = arn:aws:iam::0000000000:role/RoleToBeAssumed" >> ~/.aws/config - echo "credential_source = EcsContainer" >> ~/.aws/config - aws sts get-caller-identity --profile buildprofile
over 4 years ago · Santiago Trujillo Relatório

0

Si necesita ejecutar un contenedor Docker en un entorno de compilación y el contenedor requiere credenciales de AWS, debe transferir las credenciales del entorno de compilación al contenedor.

 docker run -e AWS_DEFAULT_REGION -e AWS_CONTAINER_CREDENTIALS_RELATIVE_URI your-image-tag aws s3 ls

https://docs.aws.amazon.com/codebuild/latest/userguide/troubleshooting.html#troubleshooting-versiones

over 4 years ago · Santiago Trujillo Relatório

0

Otra forma es asumir el rol manualmente y exportar los tokens de autenticación. Asegúrese de tener disponible ASSUME_ROLE_ARN como variable de entorno:

 commands: - TEMP_ROLE=`aws sts assume-role --role-arn $ASSUME_ROLE_ARN --role-session-name temp` - export TEMP_ROLE - export AWS_ACCESS_KEY_ID=$(echo "${TEMP_ROLE}" | jq -r '.Credentials.AccessKeyId') - export AWS_SECRET_ACCESS_KEY=$(echo "${TEMP_ROLE}" | jq -r '.Credentials.SecretAccessKey') - export AWS_SESSION_TOKEN=$(echo "${TEMP_ROLE}" | jq -r '.Credentials.SessionToken') - docker push $ECR_IMAGE_URL:$IMAGE_TAG
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda