IAM Access Analyzer
Servicio que analiza automáticamente las políticas de recursos en buckets S3, roles IAM y más, detectando accesos externos y permisos no utilizados para fortalecer la postura de seguridad
Descripción general
IAM Access Analyzer es un servicio de seguridad que utiliza un motor de razonamiento matemático (razonamiento automatizado) para analizar las políticas adjuntas a los recursos de AWS, detectando accesos externos no intencionados y permisos excesivos. Monitorea continuamente las políticas de recursos en buckets S3, roles IAM, claves KMS, funciones Lambda, colas SQS y más, reportando hallazgos cuando los recursos son accesibles desde cuentas externas de AWS o desde el público. Además, su función de análisis de accesos no utilizados examina los registros de acceso de CloudTrail para identificar permisos otorgados pero nunca utilizados, apoyando la generación automática de políticas de mínimo privilegio. La función de verificaciones de políticas personalizadas permite integrar validaciones automatizadas en pipelines CI/CD para confirmar que los cambios en las políticas se mantienen dentro de los límites previstos.
Análisis de acceso externo y hallazgos
El análisis de acceso externo de Access Analyzer utiliza un motor de razonamiento automatizado para evaluar exhaustivamente las condiciones de las políticas de recursos, detectando recursos accesibles desde fuera de la zona de confianza (Zone of Trust). La zona de confianza se configura normalmente a nivel de cuenta de AWS, pero cuando se utiliza Organizations, puede extenderse a toda la organización. Cada hallazgo detalla qué recurso otorga qué acciones a qué principal. El estado de los hallazgos se gestiona en tres estados: Active, Archived y Resolved, y el uso compartido externo intencional puede clasificarse como Archived para reducir el ruido de falsos positivos. Las reglas de archivo predefinidas pueden archivar automáticamente hallazgos que coincidan con condiciones específicas. Por ejemplo, configurando una regla como "el uso compartido de un bucket S3 con una cuenta de socio específica está aprobado", los hallazgos que coincidan con ese patrón se archivan automáticamente al generarse. Se recomienda integrar con EventBridge para notificar a Security Hub o Slack cuando aparecen nuevos hallazgos.
Análisis de accesos no utilizados y optimización de políticas
El análisis de accesos no utilizados examina los registros de acceso de CloudTrail para identificar permisos otorgados a usuarios y roles IAM que nunca se han utilizado realmente. Al especificar un período de análisis (hasta 180 días), se reportan como hallazgos las acciones nunca invocadas, las claves de acceso no utilizadas, las contraseñas no utilizadas y los roles no utilizados durante ese período. Esta información permite eliminar permisos excesivos y acercarse al principio de mínimo privilegio. La función de generación de políticas crea automáticamente políticas IAM que contienen solo las acciones realmente utilizadas, basándose en los registros de CloudTrail. Un enfoque práctico por etapas consiste en iniciar operaciones con permisos amplios (como AdministratorAccess), acumular registros durante un período y luego usar la generación de políticas para reducir al mínimo privilegio. El análisis de accesos no utilizados se habilita por cuenta, y una cuenta de administrador delegado en Organizations puede gestionar centralmente los resultados de análisis de todas las cuentas miembro. El precio es de 0,20 USD por rol y usuario IAM al mes, lo que facilita la previsión de costos incluso en entornos a gran escala.
Verificaciones de políticas personalizadas e integración CI/CD
Las verificaciones de políticas personalizadas utilizan razonamiento automatizado para verificar si los cambios en las políticas IAM cumplen con los estándares de seguridad de la organización. Por ejemplo, se pueden definir reglas como "las políticas que otorgan s3:* están prohibidas" o "el acceso a claves KMS específicas está restringido a roles designados", y determinar programáticamente si los cambios en las políticas violan esas reglas. La API CheckNoNewAccess compara una política existente con una propuesta para verificar que no se añaden nuevos permisos de acceso. La API CheckAccessNotGranted confirma que el acceso a acciones o recursos especificados no está presente en una política. Integrar estas APIs como pasos de aprobación en CodePipeline o GitHub Actions bloquea automáticamente los cambios de políticas que no cumplen los estándares de seguridad antes del despliegue. Un patrón de prevalidación de políticas IAM en plantillas de CloudFormation o Terraform dentro de pipelines CI es altamente efectivo para la gobernanza a escala. Los resultados de verificación se devuelven como PASS o FAIL, lo que permite su uso directo en la lógica condicional del pipeline.