1. Libros y videos
  2. Arquitectura AWS
  3. Conceptos básicos
Extrait - Arquitectura AWS Diseñe infraestructuras cloud robustas, seguras y evolutivas
Extractos del libro
Arquitectura AWS Diseñe infraestructuras cloud robustas, seguras y evolutivas Volver a la página de compra del libro

Conceptos básicos

Introducción

Antes de profundizar en el análisis de los servicios de AWS, es fundamental consolidar sus conocimientos básicos.

Este capítulo presenta los cinco pilares sobre los que se sustenta toda infraestructura en la nube exitosa: el inicio de sesión en su cuenta de AWS, la gestión de identidades y accesos con IAM, la organización de cuentas a través de AWS Organizations y las SCP, la automatización de la infraestructura mediante "Infrastructure as Code" y, por último, las reglas de oro de la seguridad y el cumplimiento normativo.

Cada uno de estos elementos, si no se configura correctamente, se puede convertir en un punto de fallo. Por el contrario, si se domina a la perfección, transforma la complejidad de la nube en una auténtica fuente de agilidad y tranquilidad.

IAM: gestión de identidades y accesos

Iniciar sesión en la consola de AWS

 Abra su navegador en https://aws.amazon.com/ y haga clic en Sign In to the Console.

 En la pantalla de inicio de sesión, seleccione Root user si utiliza la cuenta principal, o IAM user si inicia sesión con un usuario de IAM.

 Si se trata de un Root user, introduzca su dirección de correo electrónico, a continuación su contraseña y, si procede, el código MFA.

 Si se trata de un usuario de IAM, introduzca primero el ID de cuenta o su alias y, a continuación, su nombre de usuario. Confirme con su contraseña y su código MFA, si lo tiene configurado.

 Una vez autenticado, accederá a la Consola de gestión de AWS, donde la barra de búsqueda en la parte superior, el selector de región y su nombre de usuario, que aparecen en la esquina superior derecha, le proporcionan un control inmediato de su entorno.

images/ei02sanstitre.png

Nada más acceder a la consola, IAM se convierte en su punto de referencia en materia de seguridad. En primer lugar, se definen las entidades: los usuarios representan a las personas o aplicaciones que necesitan acceso directo, mientras que los roles corresponden a identidades temporales que se "asumen" para ejecutar una tarea concreta, sin almacenar claves a largo plazo. En lugar de asignar derechos de administrador de forma arbitraria, se crean políticas JSON que especifican exactamente las acciones autorizadas, por ejemplo, explorar un bucket de S3 o iniciar una instancia de EC2, y se asocian estas políticas a los grupos de usuarios o a los roles adecuados.

Para reforzar la protección, se da prioridad sistemáticamente a las claves de acceso temporales emitidas por AWS STS, en lugar de las claves IAM de larga duración: estos tokens solo son válidos durante unos minutos o unas horas. También se impondrá la autenticación multifactorial (MFA) en las cuentas sensibles, en particular la cuenta root y todos los roles de administración...

AWS Organizations y SCP: organizar varias cuentas de forma eficaz

A medida que aumenta su uso de AWS, concentrar todos sus proyectos en una sola cuenta acaba resultando inmanejable. Entre los entornos de desarrollo, pruebas y producción y los servicios transversales como el registro de eventos o la seguridad, resulta imposible separar claramente quién gasta qué y quién accede a qué recursos. Por eso, AWS pone a su disposición AWS Organizations, un servicio que permite agrupar varias cuentas bajo una misma entidad, cada una estructurada en unidades organizativas (OU) y protegida por políticas de control de servicios (SCP). El siguiente esquema ilustra la configuración típica: una cuenta de gestión en la parte superior, seguida de las OU "Development", "Test" y "Production", cada una de las cuales alberga varias cuentas secundarias, y cada OU está sujeta a una SCP específica.

1. La cuenta de gestión y el árbol de cuentas

images/figure.png

Cuando crea su primera organización, la cuenta con la que inicia sesión se utiliza automáticamente como "cuenta de gestión". Esta cuenta centraliza la facturación y la administración de todas las cuentas secundarias, sin incluir ella misma ningún servicio específico: solo contiene los parámetros generales, los presupuestos globales y las políticas de la organización. En el ejemplo del esquema, el cuadrado morado de la parte superior representa esta cuenta de gestión.

Bajo esta cuenta, se estructuran los entornos mediante unidades organizativas (OU). Por ejemplo, en el esquema, la OU "Development" (recuadro azul punteado) contiene dos cuentas secundarias: "AWS Development Account 1" y "AWS Development Account 2". Del mismo modo, la Test OU (recuadro punteado amarillo) agrupa dos cuentas dedicadas a las pruebas y la Production OU (recuadro punteado verde) contiene varias cuentas de producción. Esta jerarquía permite aplicar reglas o configuraciones que se propagan automáticamente a todas las cuentas de una OU, sin tener que intervenir individualmente en cada cuenta.

Cada cuenta secundaria cuenta con su propio aislamiento: dispone de sus propias credenciales de root, sus propios roles de IAM, sus VPC y sus recursos. Por el contrario, la facturación...

Infraestructura como código: ¿por qué automatizar en lugar de hacer clic?

En los inicios de AWS, crear un servidor web apenas requería más que hacer clic en "Launch Instance" en la consola. Esa simplicidad, aparentemente liberadora, esconde una trampa: en cuanto se repite la operación en tres regiones, cinco entornos y una decena de cuentas, la consola se convierte en un laberinto. Se nos olvida una etiqueta “Owner” aquí, abrimos sin querer el puerto 22 a todo el mundo allá y nos encontramos sin una forma sencilla de volver a hacer exactamente lo mismo que acabamos de implementar manualmente. Para romper este ciclo surgió la Infrastructure as Code o IaC. La idea consiste en tomar los "clics" que realizamos en la interfaz gráfica, transformarlos en archivos de texto que describan el estado deseado de la infraestructura y, a continuación, encargar a un motor de orquestación que materialice dicho estado.

La definición de IaC se resume en tres puntos: en primer lugar, cada recurso (VPC, bucket de S3, rol de IAM, clúster de EKS) existe en forma de una declaración legible, versionable y comparable entre versiones (basta con un simple diff para visualizar los cambios), al igual que cualquier archivo fuente. En segundo lugar, todo despliegue se realiza según el modelo "plan / apply": se compara el estado deseado (descrito en el código) con el estado real, y la herramienta genera la lista de cambios necesarios antes de aplicarlos. Por último, cualquier modificación sigue el mismo ciclo que el código de la aplicación: commit...

Seguridad y cumplimiento normativo: sentar unas bases sólidas

Una vez descrita su infraestructura en código y distribuidos sus recursos en varias cuentas bien gestionadas, queda por asegurar el conjunto: esa es la misión de la seguridad y el cumplimiento normativo. En AWS, estos dos aspectos se complementan mutuamente: el cumplimiento normativo exige un nivel de seguridad cuantificable; la seguridad proporciona las pruebas necesarias para sus auditorías. El objetivo no es solo cumplir con los requisitos de SOC 2 o ISO 27001, sino prevenir un incidente antes de que se convierta en una crisis de confianza.

1. La responsabilidad compartida, versión operativa

Todo comienza por la frontera clásica: AWS protege la infraestructura física y los servicios gestionados, mientras que usted protege sus datos, configuraciones e identidades.

En la práctica, esto significa que no hay ninguna contraseña de root almacenada en un gestor de equipos, las claves KMS no se guardan en un wiki y el puerto 22 no está abierto a 0.0.0.0 "a la espera de que se implemente el bastión". 

El perímetro de identidad: proteger a las personas y a las máquinas

En los capítulos anteriores se ha hecho hincapié en el principio del privilegio mínimo y en el uso de roles temporales. La consolidación pasa por tres medidas:

  • activar la autenticación multifactorial (MFA)...