Cómo determinar qué permisos de AWS / EC2 son necesarios para un proceso / script

Hay una estrategia que me funciona bien. Asegúrese de que se haga primero en un entorno de prueba, ya que utilizará un rol IAM permisivo al principio.

Es así: 1) si su aplicación se ejecuta en EC2, cree un perfil de instancia EC2 que sea un poco permisivo (que es un rol de IAM asignado a su instancia), 2) asegúrese de que todas las instancias EC2 en esta aplicación usen la misma instancia Perfil, 2) habilite CloudTrail en su cuenta, 3) exporte registros de CloudTrail donde pueda analizarlos (recomiendo AWS Elasticsearch, 4) analice los datos de CloudTrail en función de userIdentify (en este caso, escriba = AssumedRole y el rol de IAM que creó para el Perfil de instancia), eventSource (el servicio al que se realizó la solicitud) y eventName (la operación real de la API).

Si usa Elasticsearch, puede buscar y extraer de manera fácil y programática las llamadas API reales que realiza su aplicación; entonces puede usar esta información para ampliar la política de IAM que desea usar a largo plazo.

Creé una plantilla de CloudFormation que utilizo para automatizar la configuración. Aquí hay un artículo que escribí que explica cómo usarlo:

¿Le otorga a terceros acceso a su cuenta de AWS … ¿También desea saber qué está pasando? Utilice CloudTrail y el servicio AWS Elasticsearch