Estoy tratando de obtener un archivo de s3 usando aws-cli
aws s3api get-object --bucket <bucket_name> --key /foo.com/bar/summary-report-yyyymmdd.csv.gz temp_file.csv.gz --profile <profile_name>pero estoy recibiendo el siguiente error -
An error occurred (AccessDenied) when calling the GetObject operation: Access DeniedHe vuelto a comprobar mi configuración usando
aws configure --profile <profile_name>y todo parece estar correcto allí. Estoy usando las mismas credenciales para navegar y buscar el archivo en el navegador S3 sin ningún problema.
La documentación es de uso mínimo ya que tengo un acceso muy limitado a este cubo. No puedo verificar los permisos o usar
aws s3 --profile <profile_name> lsAccessDenied puede significar que no tiene permiso, pero es el error devuelto si el objeto no existe (puede leer aquí por qué usar este error)
Puede asegurarse de tener acceso al depósito mediante el aws s3api list-objects como
aws s3api list-objects --bucket <bucket_name> --query 'Contents[].{Key: Key, Size: Size}' --profile <profile_name> Lo más probable es que en su caso el problema sea con el usuario de / delante de la tecla
aws s3api get-object --bucket <bucket_name> --key foo.com/bar/summary-report-yyyymmdd.csv.gz temp_file.csv.gz --profile <profile_name>Para mí el problema era el acceso a kms. Encontré esto útil: https://aws.amazon.com/premiumsupport/knowledge-center/s3-troubleshoot-403/