Cómo probar las credenciales para las herramientas de línea de comandos de AWS

Resuelto smitelli asked hace 54 años • 0 respuestas

¿Existe algún comando/subcomando que se pueda pasar a la awsutilidad que pueda 1) verificar que las credenciales en el ~/.aws/credentialsarchivo 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 tiene permisos para IAM o cualquier servicio específico.

El caso de uso para esto es una verificación de idoneidad en el momento de la implementación para asegurarse de que las credenciales sean buenas. Lo ideal sería que hubiera alguna forma de comprobar el valor devuelto y cancelar la implementación si hay credenciales no válidas.

smitelli avatar Jan 01 '70 08:01 smitelli
Aceptado

Utilice GetCallerIdentity :
aws sts get-caller-identity

A diferencia de otras llamadas API/CLI, siempre funcionará, independientemente de sus permisos de IAM.

Obtendrá un resultado en el siguiente formato:

{
    "Account": "123456789012", 
    "UserId": "AR#####:#####", 
    "Arn": "arn:aws:sts::123456789012:assumed-role/role-name/role-session-name"
}

El formato de 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.

Jason avatar Feb 15 '2017 04:02 Jason

Hay una manera sencilla: aws iam get-userinformará los detalles sobre quién es usted (el usuario de IAM actual), siempre que el usuario tenga iamprivilegios.

Hay un par de llamadas CLI que admiten --dry-runindicadores como aws ec2 run-instanceslos que le indican si tiene la configuración/cred necesaria para realizar la operación.

También está --auth-dry-runel que comprueba si tiene los permisos necesarios para el comando, sin ejecutarlo realmente. Si tiene los permisos necesarios, el comando devuelve DryRunOperation; de lo contrario, devuelve Operación no autorizada. [De la documentación de AWS: opciones comunes ]

Podrá enumerar las claves de acceso de IAM desde Management Console, que puede verificar para ver a quién se le ha asignado qué clave.

La mejor manera de comprender qué usuario/rol tiene qué privilegios es utilizar IAM Policy Simulator .

Naveen Vijay avatar Aug 05 '2015 16:08 Naveen Vijay