¿Hay un comando / subcomando que se pueda pasar a la aws
utilidad que pueda 1) verificar que las credenciales en el ~/.aws/credentials
archivo sean válidas y 2) dar alguna indicación a qué usuario pertenecen las credenciales? Estoy buscando algo genérico que no haga suposiciones acerca de que el usuario tenga permisos para IAM o cualquier servicio específico.
El caso de uso para esto es una verificación de la cordura en el tiempo de despliegue para asegurarse de que las credenciales sean buenas. Idealmente, habría alguna forma de verificar el valor de retorno y cancelar la implementación si hay credenciales no válidas.
amazon-web-services
aws-cli
smitelli
fuente
fuente
Respuestas:
Use GetCallerIdentity :
aws sts get-caller-identity
A diferencia de otras llamadas API / CLI, siempre funcionará, independientemente de sus permisos de IAM.
Obtendrá salida en el siguiente formato:
El formato ARN exacto dependerá del tipo de credenciales, pero a menudo incluye el nombre del usuario (humano).
Utiliza los códigos de error estándar de AWS CLI que dan 0 en caso de éxito y 255 si no tiene credenciales.
fuente
aws iam get-user --profile test-mfa
, me sale:An error occurred (AccessDenied) when calling the GetUser operation
. Sin embargo, lasaws sts get-caller-identity --profile test-mfa
salidas (de manera similar, sin token de sesión MFA activo) son latest-mfa
Cuenta, el ARN y el ID de usuario.Hay una manera directa:
aws iam get-user
diría los detalles sobre quién es usted (el usuario actual de IAM), siempre que el usuario tengaiam
privilegios.Hay un par de llamadas CLI que admiten
--dry-run
marcas como laaws ec2 run-instances
que le indica si tiene la configuración / crédito necesaria para realizar la operación.También se
--auth-dry-run
comprueba si tiene los permisos necesarios para el comando, sin ejecutar realmente el comando. Si tiene los permisos requeridos, el comando devuelve DryRunOperation; de lo contrario, devuelve una operación no autorizada. [De la documentación de AWS - Opciones comunes ]Podrá enumerar las claves de acceso de IAM desde la consola de administración que puede verificar para ver quién ha sido asignado a cada clave.
La mejor manera de comprender qué usuario / rol tiene qué privilegios es utilizar IAM Policy Simulator .
fuente
AccessDenied
error, que incluía laarn:aws:iam::123...890:user/somebody
cadena completa como parte de la salida del error.