es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Credenciales parciales encontradas en env, falta: AWS_SECRET_ACCESS_KEY utilizando el pipeline de Bitbucket.

Estoy obteniendo el error “Credenciales parciales encontradas en env” al ejecutar el siguiente comando.

aws sts assume-role-with-web-identity –role-arn $AWSROLEARN –role-session-name build-session –web-identity-token $BITBUCKETSTEPOIDC_TOKEN –duration-seconds 1000

Estoy usando la siguiente versión de AWS CLI y Python –

aws-cli/2.2.9 Python/3.8.8 Linux/5.4.92-flatcar exe/x86_64.debian.11 prompt/off

También he configurado las variables de entorno AWSWEBIDENTITYTOKENFILE y AWSROLEARN. Aun así, sigo obteniendo este error. No he configurado el archivo de credenciales aws ~/.aws/credentials y el archivo de configuración ~/.aws/config ya que no es necesario, ya que estoy usando un token de identidad web para generar credenciales temporales.

A continuación se muestra el paso del pipeline de Bitbucket:

  • step:
    oidc: true
    name: Build
    image: python:3.7
    script:

    • export AWS_REGION=us-east-2
    • export AWS_ROLE_ARN=arn:aws:iam::XXXXXX:role/bitbucket-pipelines-sso
    • export AWS_WEB_IDENTITY_TOKEN_FILE=$(pwd)/web-identity-token
    • echo $BITBUCKET_STEP_OIDC_TOKEN > $(pwd)/web-identity-token
    • curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.2.9.zip" -o "awscliv2.zip" && unzip awscliv2.zip
    • ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
    • aws sts assume-role-with-web-identity –role-arn $AWS_ROLE_ARN –role-session-name build-session –web-identity-token $BITBUCKET_STEP_OIDC_TOKEN –duration-seconds 1000 >> irp-cred.txt

He consultado esto, esto pero sin suerte. ¿Alguien puede ayudarme?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El error “Se encontraron credenciales parciales en la env” ocurre cuando AWS CLI detecta credenciales parciales en las variables de entorno. Esto significa que faltan algunas o todas las credenciales requeridas.

    En este caso específico, dado que estás utilizando un token de identidad web para generar credenciales temporales, no necesitas configurar los archivos de credenciales y configuración de AWS. Sin embargo, debes asegurarte de que las variables de entorno necesarias estén configuradas correctamente.

    Las variables de entorno que deben estar configuradas son:

    • AWS_ROLE_ARN
    • AWS_WEB_IDENTITY_TOKEN_FILE
    • AWS_REGION (opcional)

    A partir del archivo bitbucket-pipelines.yml proporcionado, parece que todas estas variables de entorno están configuradas correctamente.

    Una posible razón para el error podría ser la ruta incorrecta del archivo de token de identidad web. Has exportado la variable de entorno AWS_WEB_IDENTITY_TOKEN_FILE utilizando la ruta absoluta, lo cual puede que no funcione como se esperaba. En su lugar, puedes intentar exportar la variable utilizando la ruta relativa desde la raíz del repositorio de Pipeline de la siguiente manera:

    - export AWS_WEB_IDENTITY_TOKEN_FILE=./web-identity-token
    

    Si la sugerencia anterior aún no resuelve el error, puedes intentar utilizar la opción --debug con el comando aws sts assume-role-with-web-identity para obtener información más detallada sobre el error.

    - aws sts assume-role-with-web-identity --role-arn $AWS_ROLE_ARN --role-session-name build-session --web-identity-token $BITBUCKET_STEP_OIDC_TOKEN --duration-seconds 1000 --debug >> irp-cred.txt
    

    Esto proporcionará más información sobre el error específico que está causando el problema.

    Además, también puedes consultar la documentación de AWS sobre cómo configurar la federación de identidad web para obtener más información.

Comments are closed.