Cómo configurar AWS Organization.
En este tutorial aprenderán a estructurar sus cuentas de AWS de manera jerárquica, aplicar políticas de seguridad a nivel de organización y cuenta, establecer límites de servicio y presupuesto, y habilitar funciones de auditoría y monitoreo.
Si dejamos de lado esta configuración podría resultar en una gestión menos eficiente y más compleja de las cuentas de AWS. Sin la estructura organizativa proporcionada por AWS Organizations, las cuentas de AWS operarían de manera independiente, lo que dificultaría la implementación de políticas de seguridad y acceso consistentes, la gestión financiera centralizada y la colaboración entre cuentas.
Este flujo es completamente opcional pero desde C4C7OPS recomendamos seguirlo antes de empezar a hacer la configuración de la consola para mejorar la experiencia de nuestros usuarios a largo plazo.
Podemos dividir esta configuración en cinco puntos importantes para facilitar el flujo:
- Configurar AWS Organization.
- Configurar Google Single Sign-On (SSO)
- Configuración del Link de SSO
- Configuración de grupos en AWS
- Configurar grupos de permisos para usuarios en AWS
1. Configurar AWS Organization.
AWS Organizations te permite gestionar y organizar múltiples cuentas de AWS bajo una única entidad. Esto puede ser útil para centralizar la administración de recursos, implementar políticas de seguridad y cumplimiento, y simplificar la facturación.
1.1 Nos dirigimos a la sección de “organization” en AWS.

1.2 Presionamos el botón de crear una organization.

1.3 Seleccionamos la organización por defecto “root”, presionamos “actions” y luego “create new”.
En este paso crearemos “organizations units” para nuestra arquitectura.

1.4 Asignamos un nombre dependiendo del objetivo de nuestra “organizational unit”.
En este punto debemos tener en cuenta ciertas recomendaciones para los nombres, desde C4C7OPS recomendamos el siguiente patrón:
-
production: Aquí vivirá el resultado final de nuestras aplicaciones
-
develop: Aquí vivirán versiones de desarrollo de nuestras aplicaciones para pruebas de que requieran despliegues y demás.
-
sandbox: Aquí podrán hacer pruebas de concepto y demás nuestros desarrolladores para eventualmente ser eliminadas y no “ensuciar” nuestros ambientes versionados.

1.5 Después procederemos a crear nuestras cuentas.
Para esto recomendamos usar un único correo y asignar alias por cada cuenta, como en el siguiente ejemplo (Gmail)

1.6 Volvemos a AWS Organization y presionamos “Add an AWS Account”.

1.7 Completamos los campos:

1.8 Movemos la “AWS Account” dentro de su respectiva “organizational unit” y repetimos el proceso con todas las “organizational unit”.


Este sería nuestro resultado:

2. Configurar Google Single Sign-On (SSO).
Configurar Google Single Sign-On (SSO) implica algunos pasos clave para integrar la autenticación de Google en AWS, como recomendación, hacer toda esta configuración sobre la región de Oregon, (Virginia es mucha más inestable)
2.1 Nos dirigimos a SSO en AWS.

2.2 Si no se ha habilitado saldrá la siguiente pantalla, presionamos “Enable”.

2.3 Presionamos en “settings”, luego en “actions” y en “change identity source”


2.4 Seleccionamos “External Identity Provider” y presionamos “Next”.

Después de este último paso nos quedaremos en esta pantalla y paralelamente vamos a generar una aplicación de AWS SAML en google.

2.5 Entramos a las opciones de la consola de administración de google, seleccionamos “Apps” y “Apps web y para dispositivos móviles”.
2.6 Presionamos “Agregar app” y luego en “Buscar apps”.

2.7 Buscamos “Amazon Web Service” y seleccionamos la opción de “Web (SAML)”.

2.8 Presionamos “Descargar metadatos” y luego en “Continuar”.

2.9 Copiamos nuestras clave acceso de “AWS”, llenamos los campos y continuamos.
Nota: No cerrar aún la pestaña de AWS después de terminar la configuración.



2.10 Volvemos a las opciones de la consola de administración de google, seleccionamos “Apps” y “Apps web y para dispositivos móviles” y buscamos la app de AWS que instalamos.
Desplegamos las opciones de acceso y activamos la opción de “ACTIVADA para todos” y guardamos.


2.11 Volvemos a la pestaña de AWS y subimos el archivo de configuración que generamos antes.




3. Configuración del Link del SSO.
Esto nos hará más fácil compartir el link cuando demos acceso a nuestros usuarios.
3.1 Nos dirigimos a la sección de settings en “AWS IAM” y Presionamos “Actions” y luego en “Customize AWS access portal URL”.

3.2 Escribimos un nombre que se ajuste a nuestra empresa y lo guardamos.
Despues de esto se vera reflejada la configuración.


4. Configuración de grupos en AWS.
En esta sección crearemos un grupo en “AWS IAM” para organizar nuestros usuarios posteriormente.
4.1 Nos dirigimos a “AWS IAM” y presionamos en “Groups” y luego en “Create group”.

4.2 Configuramos el grupo y presionamos “Create group”.

4.3 Nos dirigimos a “Users” y presionamos en “Add user”

4.4 Configuramos la información del usuario.

4.5 Presionamos “Next” y seleccionamos el grupo donde queramos agregar esta información y confirmamos presionando “Add user”.

5. Configurar permisos de grupos en AWS Single Sign-on (SSO).
El objetivo de esta sección es establecer qué pueden hacer y que no pueden hacer los usuarios que hayamos creado a través de permisos.
5.1 Volvemos a “AWS IAM” y nos dirigimos a la sección de “AWS accounts”, después seleccionamos el usuario a configurar.

5.2 Presionamos “Assign user or groups” , seleccionamos el grupo y presionamos “Next”.

5.3 Presionamos “Create permission set”.
Esto abrirá otra pestaña donde crearemos dos ejemplos de grupos de permisos dependiendo de la libertad que deseemos dar al usuario para interactuar con nuestra nube.

5.4 Ejemplo de configuración de permisos para un usuario ADMIN.
En este caso mostraremos una posible configuración de permisos para el caso de que queramos darle acceso completo a un usuario a nuestra consola de AWS.
5.4.1 Seleccionamos las opciones de “Predefined permission set” , “AdministratorAccess” y luego oprimimos “Next”.

5.4.2 Dejamos la configuración por defecto, presionamos “Next” y luego “Create”.

5.4.3 Aqui podremos ver la creación exitosa del permiso.

5.4.4 Volvemos a la pestaña de configuración de usuarios en un grupo, hacemos refresh, seleccionamos nuestro grupo de permisos y se lo asignamos.

5.5 Ejemplo de configuración de permisos para un usuario BACKEND.
En este caso mostraremos una posible configuración de permisos para el caso de que queramos darle acceso solo a ciertas funcionalidades específicas para el flujo de trabajo del desarrollador.
5.5.1 Nos dirigimos de nuevo a la creación de un “Permission set”.

5.5.2 Esta vez seleccionaremos “Custom permission set”.

5.5.3 Nos llevará a seleccionar las políticas que deseemos agregar y buscaremos “ReadOnlyAccess” como primera política.

5.5.4 Luego limpiamos el filtro y buscamos “CloudWatchLogsFullAccess”

5.5.5 Presionamos “Next” y le asignamos un nombre y una descripción a nuestro “Permissions group”.

5.5.6 Validamos por última vez las políticas que seleccionamos y presionamos “Create”.

6. Conclusiones.
Después de haber terminado todos los pasos de la configuración tendremos una arquitectura de usuarios, grupos y permisos en AWS robusta, sólida y escalable. Ahora estamos listos para dar el siguiente paso: Conectar nuestra consola con C4C7OPS para potenciar nuestros proyectos con seguridad, escalabilidad y monitoreo.
Ya estás listo para descubrir el sinfín de ventajas que puede ofrecer C4C7OPS a tu organización.