Se recomienda el control de acceso para las aplicaciones críticas con múltiples capas para asegurar que no existan errores de configuración que dejen expuestos a los recursos, para limitar el acceso sólo desde donde prevemos que deberían llegar los accesos, y solo a los destinos mínimos requeridos.
AWS guarda en la sesión información que es útil para usar en condiciones de IAM, de modo que logres otorgar los accesos en las circunstancias adecuadas.
Criterios como si el pedido (API Call) viene desde un rango de IPs, o si se está invocando desde una cuenta perteneciente a su organización, son condiciones que puedes adjuntar a las políticas de IAM.
Para otras aplicaciones que uno debe gestionar a escala, una buena práctica es el uso de Attribute Based Access Controls (ABAC). Si utilizan AWS SSO (servicio gratuito) pueden aprovechar su soporte de Session Tags para trasladar atributos desde su directorio hasta AWS y utilizar esos atributos para determinar el acceso a los distintos recursos.
AWS SSO puede utilizar su propio repositorio de usuarios, permite integrarse a directorios como Microsoft Active Directory, o proveedores de identidades externos como Okta, Ping Identity, OneLogin y Azure AD.
Attribute-Based Access Control with AWS Single Sign-On
El servicio AWS IAM y AWS SSO son gratuitos y la configuración de políticas de recursos (como bucket policies) no tienen costo adicional.