Saltar a contenido

aws-root-manager: Gestiona el acceso root de AWS en tu organización

En AWS, la gestión de las credenciales root siempre ha sido un punto de fricción para los administradores de organizaciones. Cada vez que se creaba una cuenta nueva debíamos configurar el MFA para el acceso root siguiendo las buenas prácticas y el modelo de madurez. Pero habilitar el MFA es un paso manual, y con AWS Organizations este problema escalaba. Podríamos ignorarlo, aplicar una SCP para bloquear acciones realizadas con el usuario root y lidiar con el check fallido que todas las herramientas de seguridad nos reportaban.

En 2023 AWS anunció que el MFA pasaría a ser obligatorio, y el momento está cerca. El 24 de Marzo de 2025 será obligatorio registrar un MFA al usar el usuario root.

Como solución a este problema, el 15 de noviembre de 2024 AWS anunció una nueva funcionalidad que nos permite manejar de forma centralizada el acceso de root en una organización sin necesidad de intervenir manualmente en cada cuenta. Pero si tenemos una gran cantidad de cuentas, realizar las acciones una a una no es lo más cómodo del mundo.

Para facilitar esta gestión, hemos creado aws-root-manager , una herramienta que permite manejar el estado de las credenciales root en todas las cuentas de una organización de manera eficiente y automatizada.

logo

Presentamos aws-root-manager

Una herramienta CLI para facilitarnos la gestión del acceso root en una organización de AWS.

demo

Sus funcionalidades son:

  • Comprobar si el acceso de root centralizado está habilitado.
  • Habilitar el acceso de root centralizado.
  • Mostrar el estado de las credenciales root en todas las cuentas de la organización.
  • Eliminar credenciales root en todas las cuentas que las tengan activas.
  • Permitir la recuperación de la contraseña de root.
  • Outputs en formato tabla, json y csv.
  • Un selector de cuentas genial. 😎

Requisitos

  • Acceso a la cuenta de management de tu organización de AWS desde tu terminal.

  • También necesitarás los siguientes permisos de IAM:

    iam:ListOrganizationsFeatures
    organizations:DescribeOrganization
    organizations:ListAccounts
    sts:AssumeRoot
    

  • Además, si la gestión de credenciales de root no está habilitada en tu organización, los siguientes permisos serán necesarios para habilitarlo:

    iam:EnableOrganizationsRootCredentialsManagement
    iam:EnableOrganizationsRootSessions (necesario únicamente cuando se vayan a eliminar *resource policies* de S3 o SQS)
    organizations:EnableAwsServiceAccess
    

Habilitar Root User Management en AWS

Antes de usar aws-root-manager, es necesario habilitar la gestión centralizada de credenciales root en AWS Organizations. Esto se puede hacer de varias maneras:

La forma más fácil y rápida!

aws-root-manager enable

(Opcional) Para interactuar con resource policies también es necesario habilitar las acciones root sessions:

aws-root-manager enable --enableRootSessions

Asegúrate de que trusted access está habilitado para el servicio de IAM:

aws organizations enable-aws-service-access \
  --service-principal iam.amazonaws.com

Habilita la gestión de credenciales de root en la organización:

aws iam enable-organizations-root-credentials-management

(Opcional) Para interactuar con resource policies también es necesario habilitar las acciones root sessions:

aws iam enable-organizations-root-sessions

Aquí os vamos a redirigir a la documentación oficial ya que está perfectamente explicado.

Prueba aws-root-manager!

Puedes encontrar la herramienta y toda la información necesaria en nuestro repo aws-root-manager . Te invitamos a probarla y a contribuir con mejoras.

¡Esperamos que aws-root-manager te sea útil!


Y esto es todo, amigos! Si os queda alguna duda o tenéis algún comentario no dudéis en escribirnos.

Saludos, y que la fuerza os acompañe.