Usuarios, grupos y roles en AWS IAM

Resumen

AWS Identity and Access Management (IAM) es el servicio que controla quién entra a tu cuenta de AWS y qué puede hacer ahí dentro. Si administras un equipo con desarrolladores, vendedores o testers, IAM te permite asignar permisos específicos a cada persona o servicio sin abrir la puerta a todos tus recursos. Lo mejor: es gratis y viene incluido en cualquier cuenta de AWS.

Qué es IAM y para qué sirve en AWS

IAM es el servicio que administra identidades y accesos dentro de tu cuenta de AWS. Con él puedes crear usuarios, agruparlos y definir mediante políticas qué recursos pueden ver, modificar o ignorar.

Cuando creas tu cuenta de AWS, recibes un inicio de sesión llamado usuario root. Esa cuenta tiene control total sobre todos tus recursos, así que desde ahí generas los demás usuarios para tu equipo.

¿Qué es IAM en AWS? Es el servicio que te permite crear usuarios, grupos y roles para controlar quién accede a cada recurso dentro de tu cuenta. Es gratuito y viene activado por defecto.

Cómo funcionan los usuarios y grupos en IAM

Los usuarios de IAM representan a personas reales: una persona desarrolladora, alguien del equipo de ventas, un tester o un ingeniero de versiones. Cada uno necesita un nivel distinto de acceso, y ahí entran las políticas.

Imagina que diriges una empresa con este equipo:

  • 10 desarrolladores o desarrolladoras que necesitan entrar a los servidores de desarrollo.
  • 5 vendedores o vendedoras que solo deben leer informes de ventas guardados en almacenamiento.
  • 2 testers que requieren acceso a servidores de desarrollo y de pruebas.
  • 1 ingeniero de versiones con acceso completo.

Dar permisos uno por uno se vuelve un dolor de cabeza. Por eso IAM permite crear grupos: defines una política una sola vez, la asocias al grupo y luego sumas personas a ese grupo. Si entra alguien nuevo al equipo de desarrollo, lo agregas y listo.

Cómo se ve una política de IAM en JSON

Las políticas se crean desde la consola de IAM y se expresan como un documento JSON que puedes editar visualmente. Por ejemplo, si quieres permitir que un usuario guarde archivos en S3, el servicio de almacenamiento de AWS, la política incluye estos permisos:

  • ListBucket: deja ver el contenido del bucket donde se almacenan los archivos.
  • PutObject y GetObject: permiten subir o descargar objetos dentro del bucket.
  • Una ruta con barra diagonal y asterisco que da acceso a todo lo que vive dentro del bucket.

Las políticas pueden volverse muy complejas, pero esa flexibilidad es justo lo que hace a IAM tan potente para empresas con muchos servicios y equipos.

Para qué sirven los roles de IAM y en qué se diferencian de los usuarios

Los roles funcionan parecido a los permisos de usuario, pero con una diferencia clave: no solo personas pueden asumirlos, también lo hacen los servicios de AWS.

¿Qué es un rol en IAM? Es un conjunto de permisos temporales que pueden asumir tanto usuarios como servicios de AWS para acceder a recursos específicos sin necesidad de credenciales fijas.

Un ejemplo claro: tienes una máquina virtual alojando tu sitio web y ese sitio se conecta a una base de datos dentro de AWS. En lugar de meter usuario y contraseña en el código, creas un rol con permisos sobre la base de datos y le indicas a la máquina virtual que asuma ese rol. La máquina obtiene acceso solo cuando lo necesita.

Esto agrega una capa extra de seguridad sobre el típico esquema de usuario, contraseña y firewall. Y aplica para muchísimos escenarios dentro de AWS, así que los roles se vuelven herramientas centrales cuando empiezas a conectar servicios entre sí.

¿Cuál es la diferencia entre usuario y rol en IAM? El usuario representa a una persona con credenciales permanentes. El rol otorga permisos temporales que pueden ser asumidos por personas o por servicios de AWS.

Por qué conviene dominar IAM antes de usar otros servicios de AWS

Casi cualquier servicio de AWS depende de IAM para definir quién hace qué. Entender bien usuarios, grupos, políticas y roles te ahorra problemas de seguridad y te prepara para integrar servicios como S3, bases de datos o Secrets Manager.

¿Tú cómo organizarías los permisos de tu equipo en IAM? Cuéntalo en los comentarios.