amazon-web-services - descargar - instalar aws cli en ubuntu
Cómo probar las credenciales para las herramientas de línea de comandos de AWS (2)
Hay una forma directa:
aws iam get-user
le dirá los detalles sobre quién es usted (el usuario actual de IAM), siempre que el usuario tenga privilegios de
iam
.
Hay un par de llamadas CLI que admiten
--dry-run
flag como
aws ec2 run-instances
que le indica si tiene la configuración / crédito necesaria para realizar la operación.
También hay
--auth-dry-run
que 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 qué clave.
La mejor manera de comprender qué usuario / rol tiene qué privilegios es utilizar el Simulador de políticas de IAM .
¿Hay un comando / subcomando que se pueda pasar a la utilidad
aws
que pueda 1) verificar que las credenciales en el archivo
~/.aws/credentials
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 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.
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:
{
"Account": "123456789012",
"UserId": "AR#####:#####",
"Arn": "arn:aws:sts::123456789012:assumed-role/role-name/role-session-name"
}
El formato exacto ARN 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.