Introducción
AWS Identity and Access Management (IAM) es un servicio que permite gestionar de manera segura el acceso a los servicios y recursos de AWS. Con IAM, puedes crear y gestionar usuarios y grupos, y utilizar permisos para permitir o denegar su acceso a los recursos de AWS.
Conceptos Clave
- Usuarios: Entidades que representan a una persona o aplicación que interactúa con AWS.
- Grupos: Colecciones de usuarios que comparten permisos.
- Roles: Entidades que permiten delegar permisos a usuarios y servicios de AWS.
- Políticas: Documentos JSON que definen permisos para usuarios, grupos y roles.
Configuración Básica
Crear un Usuario IAM
- Accede a la consola de administración de AWS.
- Navega a IAM: En el menú de servicios, selecciona "IAM".
- Selecciona "Usuarios" en el panel de navegación.
- Haz clic en "Agregar usuario".
- Introduce un nombre de usuario y selecciona el tipo de acceso (programático, consola de administración o ambos).
- Configura permisos: Puedes agregar el usuario a un grupo existente, copiar permisos de un usuario existente o adjuntar políticas directamente.
- Revisa y crea el usuario.
Crear un Grupo IAM
- Accede a la consola de administración de AWS.
- Navega a IAM.
- Selecciona "Grupos" en el panel de navegación.
- Haz clic en "Crear nuevo grupo".
- Introduce un nombre de grupo.
- Adjunta políticas: Selecciona las políticas que deseas aplicar al grupo.
- Revisa y crea el grupo.
Crear una Política IAM
- Accede a la consola de administración de AWS.
- Navega a IAM.
- Selecciona "Políticas" en el panel de navegación.
- Haz clic en "Crear política".
- Usa el editor visual o JSON para definir la política.
- Revisa y crea la política.
Crear un Rol IAM
- Accede a la consola de administración de AWS.
- Navega a IAM.
- Selecciona "Roles" en el panel de navegación.
- Haz clic en "Crear rol".
- Selecciona el tipo de entidad que usará el rol (servicio de AWS, cuenta de AWS, etc.).
- Adjunta políticas: Selecciona las políticas que deseas aplicar al rol.
- Revisa y crea el rol.
Ejemplo Práctico
Crear un Usuario con Acceso Programático
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ] }
- Accede a IAM y selecciona "Usuarios".
- Haz clic en "Agregar usuario".
- Introduce el nombre de usuario (por ejemplo,
developer
). - Selecciona "Acceso programático".
- Adjunta la política anterior para permitir acceso completo a S3.
- Revisa y crea el usuario.
Crear un Grupo con Permisos Limitados
- Accede a IAM y selecciona "Grupos".
- Haz clic en "Crear nuevo grupo".
- Introduce el nombre del grupo (por ejemplo,
read-only-group
). - Adjunta la política "AmazonS3ReadOnlyAccess".
- Revisa y crea el grupo.
Crear un Rol para un Servicio de AWS
- Accede a IAM y selecciona "Roles".
- Haz clic en "Crear rol".
- Selecciona "AWS service" y luego "EC2".
- Adjunta la política "AmazonS3FullAccess".
- Revisa y crea el rol.
Ejercicios Prácticos
Ejercicio 1: Crear un Usuario con Acceso a DynamoDB
- Crea un usuario IAM con acceso programático.
- Adjunta una política que permita acceso completo a DynamoDB.
Solución
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:*", "Resource": "*" } ] }
Ejercicio 2: Crear un Grupo con Permisos de Lectura en S3
- Crea un grupo IAM.
- Adjunta una política que permita solo lectura en S3.
Solución
Adjunta la política "AmazonS3ReadOnlyAccess" al grupo.
Ejercicio 3: Crear un Rol para Lambda con Acceso a CloudWatch Logs
- Crea un rol IAM para el servicio Lambda.
- Adjunta una política que permita acceso a CloudWatch Logs.
Solución
Adjunta la política "AWSLambdaBasicExecutionRole" al rol.
Errores Comunes y Consejos
- No usar políticas gestionadas por AWS: Siempre que sea posible, utiliza políticas gestionadas por AWS para simplificar la gestión de permisos.
- No revisar permisos: Asegúrate de revisar y entender los permisos que estás otorgando para evitar accesos no deseados.
- No usar roles: Utiliza roles en lugar de usuarios con acceso programático para servicios de AWS, ya que es más seguro y manejable.
Conclusión
IAM es una herramienta poderosa para gestionar el acceso a los recursos de AWS. Comprender cómo crear y gestionar usuarios, grupos, roles y políticas es fundamental para mantener la seguridad y eficiencia en tu entorno de AWS. En el próximo módulo, exploraremos otros servicios esenciales de AWS que te ayudarán a construir y gestionar tus aplicaciones en la nube.
Curso de AWS
Módulo 1: Introducción a AWS
- ¿Qué es AWS?
- Configuración de tu cuenta de AWS
- Infraestructura global de AWS
- Consola de administración de AWS