Quiero generar un listado de las concesiones de claves y las entidades principales de AWS KMS para mis cuentas de AWS Key Management Service (AWS KMS) por región de AWS.
Solución
Utilice la Interfaz de la línea de comandos de AWS (AWS CLI) o los AWS SDK para obtener el número de concesiones y entidades principales que tiene una clave de AWS KMS. Asegúrese de tener los permisos para ejecutar los comandos list-keys y list-grants de la AWS CLI.
Nota:
Ejecute los siguientes comandos para generar un listado con su clave de AWS KMS y las concesiones para Windows, Linux, macOS o Unix:
aws kms list-keys --region your-region
aws kms list-grants --region your-region --key-id your-AWS KMS-key-ID
Ejecute el siguiente comando para consultar todas las claves de AWS KMS de una región específica para Linux, macOS o Unix:
for key in $(aws kms list-keys --region your-region --query 'Keys[].KeyId' --output text);do aws kms list-grants --region your-region --key-id $key; done
Nota: En el ejemplo anterior se utiliza --query option, integrado en la AWS CLI, para filtrar los elementos resultantes.
Ejecute el siguiente comando para generar un listado con el número de concesiones que cada entidad principal tiene para una clave de AWS KMS para Linux, macOS o Unix:
aws kms list-grants --region your-region --key-id your-AWS KMS-key-ID | jq '.Grants[].GranteePrincipal' -r | sort | uniq -c;
Nota: Debe tener jq instalado para ejecutar el comando anterior. Para consultar las instrucciones de instalación de jq, consulte JSON output format.