Ir al contenido principal

Apuntes resumen gratuito AWS Solutions Architect. Dominio 1. Teoría y práctica.

Guía Completa para AWS Solutions Architect (2025): Dominio 1 - Diseñar Arquitecturas Seguras

Este artículo, concebido como una guía de estudio exhaustiva, aborda el primer dominio del examen de la certificación informática AWS Certified Solutions Architect - Associate: Diseñar Arquitecturas Seguras. La presente guía gratuita, creada por Info Certificaciones IT, sigue rigurosamente el syllabus oficial (el temario evaluable) de esta prestigiosa certificación de Amazon Web Services, actualizada para 2025.

Cada tema se divide en dos partes fundamentales para un aprendizaje integral:

  • Una parte teórica que explica los conceptos clave de seguridad en AWS que debe conocer.
  • Una parte práctica con casuísticas que le permitirán comprender mejor los usos y aplicaciones en escenarios del mundo real.

Esta guía está creada como un resumen completo para poder repasar todos los conceptos. No obstante, ciertos apartados se beneficiarán de una consulta complementaria a la documentación oficial de AWS en caso de duda o para profundizar.

Para poner a prueba sus conocimientos, dispone de mis tests de práctica en Udemy, diseñados específicamente para el examen AWS Solutions Architect - Associate.

Tabla de Contenidos: Dominio 1 - Diseñar Arquitecturas Seguras

  1. Diseñar un Acceso Seguro a los Recursos de AWS
  2. Diseñar Cargas de Trabajo y Aplicaciones Seguras

Diseñar un Acceso Seguro a los Recursos de AWS

El primer pilar para una arquitectura segura en AWS es un diseño robusto del acceso a sus recursos. Esto implica una gestión cuidadosa de identidades, permisos y la configuración de la red.

1. Controles de Acceso y Administración en Varias Cuentas

Administrar el acceso y los permisos en múltiples cuentas de AWS es fundamental para garantizar la seguridad y el cumplimiento de sus recursos en la nube. Algunas técnicas y herramientas importantes incluyen:

1.1. AWS Organizations

AWS Organizations le permite administrar y consolidar varias cuentas de AWS en una estructura jerárquica. Esto facilita la administración centralizada de políticas de acceso y seguridad en todas las cuentas (mediante Service Control Policies - SCPs), así como la aplicación de políticas de cumplimiento y auditoría de forma consistente.

1.2. Políticas de Control de Acceso

Las políticas de control de acceso en AWS son reglas, generalmente en formato JSON, que definen quién puede acceder a sus recursos y qué acciones pueden realizar. Puede aplicar estas políticas a usuarios, grupos o roles de AWS Identity and Access Management (IAM).

1.3. Roles de IAM

Los roles de IAM permiten delegar permisos a usuarios, servicios de AWS y aplicaciones sin tener que compartir credenciales de acceso permanentes (como claves de acceso a largo plazo). Al utilizar roles de IAM, puede aplicar el principio de mínimo privilegio y limitar el acceso únicamente a los recursos y acciones necesarios para una tarea específica.

2. Servicios de Identidad y Acceso Federados de AWS

Los servicios de identidad y acceso federados de AWS permiten la integración de sistemas de identidad externos (como su directorio corporativo Active Directory o proveedores de identidad social) y la autenticación de usuarios a través de múltiples cuentas y aplicaciones.

2.1. AWS Identity and Access Management (IAM)

IAM es el servicio principal de AWS para la administración de identidades y accesos. Permite crear y administrar usuarios, grupos, roles y políticas de acceso. IAM también admite la federación de identidades (por ejemplo, con SAML 2.0 o OpenID Connect), lo que le permite integrar sus sistemas de identidad existentes y autenticar a los usuarios a través de proveedores de identidad externos sin necesidad de crear usuarios IAM duplicados.

2.2. AWS Single Sign-On (AWS SSO) - Ahora AWS IAM Identity Center

AWS IAM Identity Center (sucesor de AWS SSO) es un servicio que simplifica la administración centralizada del acceso a varias cuentas de AWS y aplicaciones empresariales. Con IAM Identity Center, puede permitir que los usuarios inicien sesión utilizando sus credenciales corporativas existentes o las configuradas en el propio servicio, para acceder a todas las cuentas y aplicaciones asignadas desde un portal de usuario único.

3. Infraestructura Global de AWS

La infraestructura global de AWS está compuesta por Regiones y Zonas de Disponibilidad (AZs), que son fundamentales para garantizar la seguridad, confiabilidad y rendimiento de sus aplicaciones en la nube.

3.1. Regiones de AWS

Las Regiones de AWS son áreas geográficas separadas físicamente en las que se agrupan múltiples Zonas de Disponibilidad. Al seleccionar una región para desplegar sus recursos, debe tener en cuenta factores como la latencia para sus usuarios finales, los costes de los servicios (que pueden variar entre regiones), las leyes y regulaciones locales de soberanía de datos, y las necesidades de redundancia y respaldo de sus aplicaciones.

3.2. Zonas de Disponibilidad

Las Zonas de Disponibilidad son uno o más centros de datos discretos con alimentación, redes y conectividad redundantes dentro de una Región de AWS. Las AZs están diseñadas para ser aisladas de fallos en otras AZs y proporcionan una infraestructura de bajo coste y baja latencia para aplicaciones de alta disponibilidad. Al implementar sus recursos en múltiples Zonas de Disponibilidad, puede garantizar una alta disponibilidad y tolerancia a fallos para sus aplicaciones y datos.

4. Prácticas Recomendadas de Seguridad de AWS

Para garantizar la seguridad de sus recursos en AWS, es importante seguir las prácticas recomendadas de seguridad. Algunas de estas prácticas incluyen:

4.1. Principio de Mínimo Privilegio

El principio de mínimo privilegio significa otorgar a los usuarios, roles y aplicaciones únicamente los permisos estrictamente necesarios para realizar sus tareas designadas, y nada más. Al aplicar este principio, puede reducir significativamente el riesgo de acceso no autorizado y limitar el impacto potencial de una credencial comprometida o un ataque.

4.2. Rotación de Credenciales

La rotación de credenciales implica cambiar periódicamente las claves de acceso, contraseñas y otros secretos para ayudar a proteger sus cuentas y recursos en AWS. La rotación de credenciales puede ser un proceso manual o automatizado utilizando herramientas como AWS Secrets Manager o las políticas de contraseña de IAM.

4.3. Supervisión y Registro

La supervisión y el registro de actividades en sus cuentas y recursos de AWS son esenciales para detectar actividades sospechosas o no autorizadas, así como para auditorías y resolución de problemas. Servicios de AWS como Amazon CloudWatch (para métricas y alarmas), AWS CloudTrail (para el registro de llamadas a la API) y Amazon GuardDuty (para la detección inteligente de amenazas) pueden ayudarle a monitorear y registrar eventos de seguridad.

4.4. Protección de Datos

Proteja sus datos en AWS mediante técnicas como el cifrado en tránsito (usando TLS/SSL) y en reposo (usando servicios como AWS Key Management Service - KMS, o cifrado del lado del servidor en S3). Implemente un control de acceso granular a los datos y considere la segmentación de la red para aislar datos sensibles.

5. Modelo de Responsabilidad Compartida de AWS

El modelo de responsabilidad compartida de AWS establece que la seguridad y el cumplimiento en la nube son una responsabilidad conjunta entre AWS y el cliente.

5.1. Responsabilidad de AWS ("Seguridad DE la Nube")

AWS es responsable de proteger la infraestructura global que ejecuta todos los servicios ofrecidos en la nube de AWS. Esta infraestructura incluye el hardware, el software, las redes y las instalaciones que ejecutan los servicios de la nube de AWS. AWS también se encarga de garantizar la seguridad física de sus centros de datos y el cumplimiento de sus servicios con diversos estándares globales.

5.2. Responsabilidad del Cliente ("Seguridad EN la Nube")

Los clientes son responsables de la seguridad de todo lo que implementan o conectan a la nube de AWS. Esto incluye la configuración de políticas de acceso (IAM), la administración de usuarios, la protección de sus datos (cifrado, control de acceso), la configuración segura de los servicios de AWS que utilizan (como instancias EC2, bases de datos RDS, buckets S3), la aplicación de parches de seguridad a sus sistemas operativos y aplicaciones, y la configuración de firewalls (grupos de seguridad, ACLs de red).

6. Aplicación de las Habilidades Clave del Syllabus (Ejemplos)

El syllabus de AWS Solutions Architect - Associate enfatiza varias habilidades clave para diseñar arquitecturas seguras.

6.1. Aplicar las prácticas recomendadas de seguridad a los usuarios de IAM y a los usuarios raíz

Esto incluye, de forma prioritaria, la habilitación de la Autenticación Multifactor (MFA) para la cuenta raíz (root user) y para todos los usuarios IAM, especialmente aquellos con permisos elevados. MFA añade una capa adicional de protección más allá del nombre de usuario y la contraseña.

Pasos para habilitar MFA (ejemplo general):

  1. Inicie sesión en la Consola de Administración de AWS.
  2. Navegue al servicio IAM.
  3. Seleccione "Usuarios" en el panel de navegación.
  4. Haga clic en el nombre del usuario al que desea aplicar MFA.
  5. Vaya a la pestaña "Credenciales de seguridad".
  6. En la sección "Autenticación multifactor (MFA)", haga clic en "Administrar".
  7. Siga las instrucciones para configurar un dispositivo MFA virtual (como Google Authenticator o Authy) o un dispositivo MFA de hardware.

6.2. Diseñar un modelo de autorización flexible que incluya usuarios, grupos, roles y políticas de IAM

Un modelo de autorización bien diseñado es fundamental. Esto implica:

  • Usuarios de IAM: Crear usuarios individuales para personas o aplicaciones que necesiten acceso. Evitar el uso de la cuenta raíz para tareas diarias.
  • Grupos de IAM: Agrupar usuarios con responsabilidades similares (ej. "Desarrolladores", "AdministradoresDeBasesDeDatos") y asignar permisos a nivel de grupo en lugar de a usuarios individuales. Esto simplifica la gestión de permisos.
  • Políticas de IAM: Definir permisos granulares utilizando políticas JSON. Aplicar el principio de mínimo privilegio, otorgando solo los permisos necesarios. Utilizar políticas administradas por AWS cuando sea posible y crear políticas personalizadas (customer-managed) para necesidades específicas.
  • Roles de IAM: Para delegar acceso a servicios de AWS, usuarios de otras cuentas, o identidades federadas, sin necesidad de compartir credenciales a largo plazo.

6.3. Diseñar una estrategia de control de acceso basada en roles

Esto se basa en el uso extensivo de roles de IAM. Componentes clave incluyen:

  • AWS Security Token Service (AWS STS): Permite a los usuarios y servicios solicitar credenciales de seguridad temporales y de privilegios limitados para asumir roles de IAM. Estas credenciales temporales caducan, lo que mejora la seguridad.
  • Cambio de Roles (AssumeRole): Permite a un usuario o servicio asumir un rol (con sus permisos asociados) en la misma cuenta o en una cuenta diferente. Esto es útil para escenarios de acceso entre cuentas o para otorgar permisos elevados de forma temporal.
  • Acceso entre Cuentas: Utilizar roles para permitir que recursos en una cuenta de AWS accedan a recursos en otra cuenta de forma segura y controlada, sin compartir claves de acceso.

7. Caso Práctico: Gestión de Acceso Seguro en Múltiples Cuentas

Imaginemos una empresa con tres departamentos: Ventas, Finanzas y Marketing. Cada departamento tiene su propia cuenta de AWS. Necesitamos asegurar el acceso a los recursos de AWS para cada departamento de forma centralizada y segura.

  1. Utilizar AWS Organizations: Para administrar de forma centralizada las cuentas de Ventas, Finanzas y Marketing. Aplicar Políticas de Control de Servicios (SCPs) a nivel de Unidad Organizativa (OU) o cuenta para restringir los servicios y acciones permitidos, asegurando que cada departamento solo tenga acceso a lo necesario.
  2. Crear Grupos y Políticas de IAM Específicos: En una cuenta de administración centralizada (o en cada cuenta departamental si se prefiere una gestión más granular), crear grupos de IAM específicos (ej. GrupoVentas, GrupoFinanzas, GrupoMarketing). Asignar políticas de IAM detalladas a cada grupo para limitar el acceso a los recursos y servicios de AWS según las necesidades de cada departamento.
  3. Implementar AWS IAM Identity Center (sucesor de AWS SSO): Para permitir que los empleados utilicen sus credenciales corporativas existentes (si se federa con un IdP externo) o las credenciales de IAM Identity Center para acceder a las cuentas y aplicaciones de AWS asignadas. Esto simplifica la gestión del acceso y mejora la experiencia del usuario.
  4. Habilitar MFA Obligatorio: Asegurar que la autenticación multifactor (MFA) esté habilitada y sea obligatoria para todos los usuarios, especialmente para la cuenta raíz y los usuarios IAM con privilegios administrativos en todas las cuentas.
  5. Diseñar Estrategia de Acceso Basada en Roles: Utilizar AWS STS y roles de IAM para el acceso entre cuentas. Por ejemplo, si un desarrollador del equipo de Marketing necesita acceder temporalmente a un bucket S3 en la cuenta de Ventas, se le podría permitir asumir un rol específico en la cuenta de Ventas que solo otorgue los permisos necesarios para esa tarea.
  6. Revisión Periódica de Permisos: Implementar un proceso para revisar y ajustar regularmente las políticas de IAM y los roles para asegurar que se mantenga el principio de mínimo privilegio y se eliminen accesos innecesarios.

Diseñar Cargas de Trabajo y Aplicaciones Seguras

Una vez establecido un modelo de acceso seguro, el siguiente paso es diseñar sus aplicaciones y cargas de trabajo teniendo la seguridad como prioridad desde el inicio.

1. Configuración de Aplicaciones y Seguridad de Credenciales

1.1. IAM: Gestión de Credenciales (Aplicado a Aplicaciones)

AWS Identity and Access Management (IAM) es fundamental para gestionar de forma segura el acceso a servicios y recursos en AWS, no solo para usuarios humanos sino también para aplicaciones y servicios. Para las aplicaciones, esto significa:

  • Roles de IAM para Instancias EC2 y otros servicios: En lugar de incrustar claves de acceso en el código de su aplicación o en archivos de configuración en una instancia EC2, asigne un rol de IAM a la instancia. La aplicación que se ejecuta en la instancia puede entonces obtener credenciales temporales a través del servicio de metadatos de la instancia, con los permisos definidos en el rol.
  • AWS Secrets Manager: Para credenciales de bases de datos, claves de API y otros secretos, utilice AWS Secrets Manager. Este servicio permite rotar, administrar y recuperar secretos de forma segura, evitando tener que codificarlos directamente en su aplicación.

1.2. Autenticación y Autorización en sus Aplicaciones

La autenticación verifica la identidad de un usuario o servicio. La autorización determina qué acciones puede realizar una identidad autenticada.

  • Amazon Cognito: Para aplicaciones web y móviles, Amazon Cognito proporciona directorios de usuarios (User Pools) para el registro e inicio de sesión, y grupos de identidades (Identity Pools) para otorgar a los usuarios acceso a otros servicios de AWS. Soporta federación con proveedores de identidad social (Google, Facebook, Apple) y empresariales (SAML 2.0, OpenID Connect).

2. Puntos de Enlace de Servicios de AWS (VPC Endpoints)

Los VPC Endpoints permiten la conexión privada entre su Amazon Virtual Private Cloud (VPC) y servicios de AWS soportados, así como servicios de VPC endpoint (impulsados por AWS PrivateLink), sin requerir una puerta de enlace de Internet, un dispositivo NAT, una conexión VPN o una conexión AWS Direct Connect. El tráfico entre su VPC y el servicio no sale de la red de Amazon.

  • Interface Endpoints: Proporcionan una interfaz de red elástica (ENI) con una dirección IP privada en su subred como punto de entrada para el tráfico destinado a servicios como API Gateway, CloudWatch Logs, Kinesis, SQS, SNS, etc.
  • Gateway Endpoints: Proporcionan un destino en su tabla de enrutamiento para el tráfico destinado a Amazon S3 y DynamoDB.

El uso de VPC Endpoints mejora la seguridad al mantener el tráfico dentro de la red de AWS y puede reducir los costes de transferencia de datos.

3. Puertos de Control, Protocolos y Tráfico en la Red en AWS

3.1. Grupos de Seguridad

Los Grupos de Seguridad actúan como un firewall virtual a nivel de instancia para controlar el tráfico entrante y saliente para sus instancias EC2 y otros recursos como RDS. Son stateful, lo que significa que si permite tráfico entrante, el tráfico saliente de respuesta se permite automáticamente, independientemente de las reglas de salida.

  • Reglas Entrantes (Inbound): Controlan el tráfico que llega a sus recursos. Por ejemplo, permitir tráfico HTTP (puerto 80) y HTTPS (puerto 443) desde cualquier dirección IP (0.0.0.0/0) para un servidor web.
  • Reglas Salientes (Outbound): Controlan el tráfico que sale de sus recursos. Por defecto, permiten todo el tráfico saliente.

3.2. Tablas de Enrutamiento

Las Tablas de Enrutamiento determinan hacia dónde se dirige el tráfico de red desde sus subredes. Cada subred en su VPC debe estar asociada a una tabla de enrutamiento. Las tablas contienen reglas (rutas) que especifican los destinos y los gateways o interfaces de red para alcanzar esos destinos.

3.3. ACL de Red (Listas de Control de Acceso de Red)

Las ACLs de Red actúan como un firewall a nivel de subred para controlar el tráfico entrante y saliente de una o más subredes. Son stateless, lo que significa que debe definir explícitamente reglas tanto para el tráfico entrante como para el saliente de respuesta. Operan como una capa adicional de defensa antes de los grupos de seguridad.

3.4. Gateways NAT e Instancias NAT

Un Gateway NAT (Network Address Translation) o una Instancia NAT permiten que las instancias en una subred privada inicien conexiones salientes a Internet u otros servicios de AWS (por ejemplo, para descargar actualizaciones), pero evitan que Internet inicie conexiones entrantes a esas instancias privadas. El Gateway NAT es un servicio gestionado por AWS y es la opción preferida por su alta disponibilidad y ancho de banda.

4. Estrategias de Segmentación de Red

La segmentación de red es una práctica clave para mejorar la seguridad al aislar diferentes partes de su infraestructura.

  • Subredes Públicas: Son subredes que tienen una ruta directa a una Internet Gateway. Generalmente se utilizan para recursos que necesitan ser accesibles desde Internet, como servidores web o balanceadores de carga públicos.
  • Subredes Privadas: Son subredes que no tienen una ruta directa a una Internet Gateway. Los recursos en subredes privadas pueden acceder a Internet a través de un Gateway NAT (para tráfico saliente) o permanecer completamente aislados. Se utilizan para recursos que no deben ser directamente accesibles desde Internet, como bases de datos o servidores de aplicaciones backend.

5. Integración de Servicios de AWS para Proteger Aplicaciones

5.1. AWS Shield

AWS Shield es un servicio gestionado de protección contra ataques de Denegación de Servicio Distribuido (DDoS). Shield Standard se activa automáticamente para todos los clientes de AWS sin coste adicional y protege contra los ataques DDoS más comunes a nivel de red y transporte. Shield Advanced ofrece protección adicional y personalizada contra ataques DDoS más grandes y sofisticados para aplicaciones en EC2, ELB, CloudFront, Global Accelerator y Route 53, con acceso a soporte 24/7 del equipo de respuesta DDoS de AWS y protección de costes.

5.2. AWS WAF

AWS Web Application Firewall (WAF) es un firewall de aplicaciones web que ayuda a proteger sus aplicaciones web o APIs contra exploits web comunes que podrían afectar la disponibilidad, comprometer la seguridad o consumir recursos excesivos. AWS WAF le permite controlar el tráfico que llega a sus aplicaciones mediante la definición de reglas de seguridad personalizables (basadas en direcciones IP, cabeceras HTTP, cadenas de URI, inyección SQL, cross-site scripting - XSS) o utilizando conjuntos de reglas gestionadas por AWS o por partners de AWS Marketplace.

5.3. AWS IAM Identity Center (sucesor de AWS SSO)

Como se mencionó antes, AWS IAM Identity Center simplifica la gestión del acceso a múltiples cuentas de AWS y aplicaciones empresariales. Para la seguridad de aplicaciones, puede integrarse con sus aplicaciones para proporcionar un inicio de sesión único federado.

5.4. AWS Secrets Manager

AWS Secrets Manager le ayuda a proteger los secretos necesarios para acceder a sus aplicaciones, servicios y recursos de TI. El servicio le permite rotar, administrar y recuperar fácilmente credenciales de bases de datos, claves de API y otros secretos a lo largo de su ciclo de vida. En lugar de codificar información sensible directamente en sus aplicaciones, puede recuperar los secretos mediante programación desde Secrets Manager.

6. Proteger Conexiones de Red Externas desde la Nube de AWS y Hacia Ella

Las conexiones entre su entorno on-premises y su VPC en AWS deben ser seguras.

  • VPN (Virtual Private Network): Puede establecer una conexión VPN segura y cifrada entre su red local y su VPC utilizando AWS Site-to-Site VPN o AWS Client VPN.
  • AWS Direct Connect: Para una conexión de red dedicada y de mayor ancho de banda entre su entorno on-premises y AWS, AWS Direct Connect puede reducir los costes de red, aumentar el rendimiento del ancho de banda y proporcionar una experiencia de red más consistente que las conexiones basadas en Internet.

7. Caso Práctico: Protección de una Aplicación Web en AWS

Imaginemos que está desarrollando una plataforma de comercio electrónico en AWS que requiere protección contra amenazas comunes y conexiones seguras.

  1. Diseñar la Arquitectura de VPC:
    • Cree una VPC con al menos dos Zonas de Disponibilidad para alta disponibilidad.
    • Defina subredes públicas para los Application Load Balancers (ALB) y, si es necesario, para un bastion host.
    • Defina subredes privadas para sus instancias EC2 de servidores web/aplicaciones y para su base de datos RDS.
  2. Configurar Componentes de Seguridad de Red:
    • Grupos de Seguridad:
      • Para el ALB: Permitir tráfico entrante en los puertos 80 (HTTP) y 443 (HTTPS) desde Internet (0.0.0.0/0).
      • Para las instancias EC2 (servidores web/app): Permitir tráfico entrante solo desde el grupo de seguridad del ALB en el puerto de la aplicación (ej. 80 u 8080).
      • Para la base de datos RDS: Permitir tráfico entrante solo desde el grupo de seguridad de las instancias EC2 en el puerto de la base de datos (ej. 3306 para MySQL).
    • ACL de Red: Utilizar como una capa adicional, permitiendo el tráfico necesario a nivel de subred y denegando explícitamente cualquier tráfico no deseado.
    • Gateway NAT: Colocar en una subred pública y configurar las tablas de enrutamiento de las subredes privadas para que las instancias EC2 puedan acceder a Internet para actualizaciones, pero no puedan ser accedidas directamente desde Internet.
  3. Integrar Servicios de Seguridad de AWS:
    • Coloque AWS WAF delante de su Application Load Balancer para proteger contra exploits web comunes como inyección SQL y XSS. Utilice reglas gestionadas y reglas personalizadas.
    • Utilice AWS Shield Standard (activado por defecto) o considere Shield Advanced si su aplicación es crítica y propensa a ataques DDoS de gran escala.
    • Utilice Amazon Cognito para la autenticación y gestión de usuarios de su plataforma de comercio electrónico.
    • Almacene las credenciales de la base de datos y otras claves de API en AWS Secrets Manager y haga que su aplicación las recupere de forma segura en tiempo de ejecución.
  4. Proteger Conexiones de Red Externas:
    • Si necesita una conexión segura a su red corporativa on-premises (por ejemplo, para sincronizar inventario), establezca una AWS Site-to-Site VPN.
  5. Implementar Monitoreo y Registro:
    • Utilice Amazon CloudWatch para monitorear el rendimiento de sus instancias y el ALB.
    • Habilite AWS CloudTrail para registrar todas las llamadas a la API en su cuenta.
    • Active Amazon GuardDuty para la detección inteligente de amenazas.
    • Configure los logs de flujo de VPC (VPC Flow Logs) para capturar información sobre el tráfico IP que entra y sale de las interfaces de red en su VPC.

Siguiendo estos pasos, habrá diseñado y protegido de manera efectiva su plataforma de comercio electrónico en AWS, utilizando las habilidades y componentes clave de seguridad cubiertos en el Dominio 1 de la certificación AWS Solutions Architect - Associate.