services que iam aws amazon-web-services amazon-s3 aws-cli

amazon web services - que - El ID de la clave de acceso de AWS no existe en nuestros registros



iam console aws (8)

Intento los siguientes pasos y funcionó: 1. cd ~ 2. cd .aws 3. vi credenciales 4. eliminar aws_access_key_id = aws_secret_access_key = colocando el cursor en esa línea y presionando dd (comando vi para eliminar la línea).

Borre tanto la línea como la ganancia de cheque.

Creé una nueva clave de acceso y la configuré en AWS CLI con aws configure . Creó el archivo .ini en ~/.aws/config . Cuando corro aws s3 ls da:

Ocurrió un error de cliente (InvalidAccessKeyId) al llamar a la operación ListBuckets: El Id. De la clave de acceso de AWS que proporcionó no existe en nuestros registros.

AmazonS3FullAccess política de AmazonS3FullAccess también se adjunta al usuario. ¿Cómo arreglar esto?


Ninguna de las respuestas más votadas funciona para mí. Finalmente, paso las credenciales dentro del script de python, usando la API del cliente.

import boto3 client = boto3.client( ''s3'', aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY, aws_session_token=SESSION_TOKEN)

Tenga en cuenta que el argumento aws_session_token es opcional. No se recomienda para trabajos públicos, pero facilita la vida para pruebas simples.


Otra cosa que puede causar esto, incluso si todo está configurado correctamente, es ejecutar el comando desde un Makefile. por ejemplo, yo tenía una regla:

awssetup: aws configure aws s3 sync s3://mybucket.whatever .

cuando ejecuté make awssetup recibí el error: error fatal error: An error occurred (InvalidAccessKeyId) when calling the ListObjects operation: The AWS Access Key Id you provided does not exist in our records. . pero ejecutándolo desde la línea de comandos funcionó.


Para mí, confiaba en los IAM EC2 roles para dar acceso a nuestras máquinas a recursos específicos.

Ni siquiera sabía que había un archivo de credentials en ~/.aws/credentials , hasta que ~/.aws/credentials algunas de nuestras AccessKeys en la consola de IAM para reforzar nuestra seguridad, y de repente hice que uno de los scripts dejara de funcionar en una sola. máquina.

Eliminar ese archivo de credentials arreglé para mí.


Parece que ~/.aws/credentials no fue creado. Intenta crearlo manualmente con este contenido:

[default] aws_access_key_id = sdfesdwedwedwrdf aws_secret_access_key = wedfwedwerf3erfweaefdaefafefqaewfqewfqw

(en mi casilla de prueba, si ejecuto el comando aws sin tener el archivo de credenciales, el error es Unable to locate credentials. You can configure credentials by running "aws configure". ) ¿Puede intentar ejecutar estos dos comandos desde el mismo shell que está intentando? ejecutar aws :

$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE $ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

y luego intente el comando aws .


Parece que algunos valores ya se han establecido para las variables de entorno AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY .

Si es así, podría ver algunos valores al ejecutar los siguientes comandos.

echo $AWS_SECRET_ACCESS_KEY echo $AWS_ACCESS_KEY_ID

Necesita restablecer estas variables, si está utilizando aws configure

Para reiniciar, ejecute los siguientes comandos.

unset AWS_ACCESS_KEY_ID unset AWS_SECRET_ACCESS_KEY


Puede suceder que tenga las claves antiguas exportadas a través de las variables env (bash_profile) y dado que las variables env tienen mayor prioridad sobre los archivos de credenciales, está dando el error "el id de la clave de acceso no existe".

Elimine las claves antiguas del perfil bash y estará listo para comenzar.

Sucedió conmigo una vez antes cuando olvidé que tengo credenciales en bash_profile y me dio dolor de cabeza durante bastante tiempo :)


puede configurar perfiles en el archivo bash_profile usando

<profile_name> aws_access_key_id = <access_key> aws_secret_access_key = <acces_key_secret>

Si está utilizando múltiples perfiles. entonces use:

aws s3 ls --profile <profile_name>