¿Qué es IAM y cómo funciona IAM en AWS?
IAM (Identity and Access Management) se encuentra dentro del servicio «Security, Identity, & Compliance» en AWS (Amazon Web Services). Nos permite gestionar el acceso a los servicios y recursos de AWS de forma segura. Con IAM podemos crear y gestionar usuarios, grupos y roles de AWS y utilizar permisos para permitir o denegar su acceso a los recursos de AWS.
IAM se ofrece«sin cargo adicional» y sólo se nos cobra por otros servicios de AWS que utilicemos.
AWS IAM nos ayuda a
- Gestionar usuarios y su acceso:
Podemos crear usuarios en IAM, asignarles credenciales de seguridad individuales. Podemos gestionar los permisos para controlar qué operaciones puede realizar un usuario y cuáles no. - Gestionar losroles y sus permisos:
Podemos crear roles en IAM y gestionar los permisos para controlar qué operaciones puede realizar la entidad, o el servicio de AWS, que asume el rol. - Gestionarlos usuarios federados y sus permisos:
Podemos habilitar la federación de identidades para permitir que los usuarios, grupos y roles existentes en nuestra empresa accedan a la gestión de AWS
Para entender el servicio IAM con más detalle puedes consultar la documentación oficial de AWS.
En este artículo, veremos cómo crear un usuario IAM, un grupo, un rol IAM, asignar permisos y crear una política personalizada.
Nota: IAM no pertenece a una región concreta y se extiende a toda la cuenta de AWS.
Requisitos previos
- Cuenta AWS (Crea si no tienes una).
Qué haremos
- Iniciar sesión en AWS.
- Crear un Usuario IAM.
- Crea un Grupo IAM y añade un usuario a él.
- Crea un rol IAM.
- Crea una política IAM.
Inicia sesión en AWS
- Haz clic en aquí para ir a la página de inicio de sesión de AWS.
Cuando pulsemos el enlace anterior, veremos una página web como la siguiente en la que se nos pide que iniciemos sesión con nuestros datos de acceso.
Una vez que iniciemos sesión en AWS con éxito, veremos la consola principal con todos los servicios listados como sigue.
Crear un usuario IAM
Un usuario (IAM) es una entidad que creamos en AWS para representar a la persona o aplicación que lo utiliza para interactuar con AWS. Un usuario en AWS consta de un nombre y unas credenciales.
Haz clic en «Servicios» en la esquina superior izquierda y verás una pantalla con todos los servicios. Localiza «IAM» en «Seguridad, Identidad y Conformidad» y haz clic en «IAM«.
Verás un panel de control. Esta es la página de inicio de IAM. Haz clic en «Usuarios» en el panel izquierdo.
Haz clic en «Añadir usuario» para crear un nuevo usuario.
Aquí, dale un nombre al usuario que se va a crear. Podemos crear un usuario con dos tipos de acceso diferentes.
- Accesoprogramático:
Podemos realizar la operación en la cuenta de AWS desde la API de AWS, CLI, SDK y otras herramientas de desarrollo utilizando este tipo de acceso. - Acceso ala consola de administración de AWS:
Este tipo de acceso permite iniciar sesión en la consola de administración de AWS.
En este artículo, crearemos un usuario con «Acceso ala consola de administración de AWS».
Una vez que hagas clic en «Acceso ala consola de gestión de AWS», aparecerá un campo para asignar una contraseña al usuario.
Podemos tener una «contraseña autogenerada» o una «contraseña personalizada». Aquí seleccionaremos «Contraseña personalizada» y asignaremos una contraseña al usuario. Dependiendo de los requisitos, podemos obligar al usuario a cambiar la contraseña en su próximo inicio de sesión. Aquí, mantenla como está. Haz clic en «Siguiente: Permiso» para continuar y asignar los permisos.
En la siguiente pantalla, haz clic en «Adjuntar políticas existentes directamente» y busca «readonlyaccess» y selecciona la casilla de verificación como se muestra en la siguiente pantalla. Dando «ReadOnlyAccess«, el usuario no podrá crear ninguno de los recursos de AWS. Puedes revisar la lista de permisos para entenderlos. Haz clic en «Siguiente: Etiqueta» para continuar.
La asignación de etiquetas es opcional, pero ayuda a organizar, seguir o controlar el acceso de este usuario. Haz clic en «Siguiente:Revisar» para continuar y crear un usuario.
Revisa la configuración y haz clic en «Crear usuario» para crear un usuario.
Haz clic en «Descargar .csv» que contiene el «Enlace de acceso a la consola«. En caso de crear un usuario con «Acceso programático» este archivo es muy importante ya que contendrá el «ID de la clave de acceso» y la «Clave de acceso secreta» necesarios para obtener el acceso. Ahora, puedes hacer clic en «Cerrar» ya que hemos creado nuestro primer usuario.
Crear un rol IAM
Un rol IAM es una identidad IAM que podemos crear en nuestra cuenta AWS y que tiene permisos específicos. Es similar a un usuario IAM con políticas de permisos que determinan lo que la identidad puede y no puede hacer en AWS. El rol de IAM permite que los servicios de AWS realicen acciones en nuestro nombre.
En la página de inicio de IAM, haz clic en «Roles» en el panel izquierdo. Haz clic en «Crear rol«.
En este artículo, crearemos un rol para el servicio Lambda. Haz clic en «Lambda» y haz clic en «Siguiente: Permisos«.
En el cuadro de búsqueda, busca «ec2readonlyaccess» y marca la casilla de la política «AmazonEC2ReadyOnlyAccess«. Esto dará acceso de «sólo lectura» a la función Lambda en el servicio EC2. Haz clic en «Siguiente: Etiquetas«.
La adición de etiquetas es opcional, pero puede utilizarse para organizar, seguir o controlar el acceso de este rol. Haz clic en «Siguiente:Revisar» para continuar.
Dale un nombre al rol, añade una descripción y haz clic en «Crear rol«. Esto creará un rol que permitirá a las funciones Lambda llamar a los servicios de AWS en tu nombre con «ReadOnlyAccess» en el servicio «EC2«.
Crear un grupo IAM
Un grupo IAM es una colección de usuarios IAM. Podemos especificar los permisos para varios usuarios utilizando el rol, lo que puede facilitar la gestión de los permisos para esos usuarios.
En la página de inicio de IAM, haz clic en «Grupos» en el panel izquierdo. Haz clic en «Crear un nuevo grupo».
Especifica un nombre y haz clic en «Paso siguiente«.
Busca «readonlyaccess«, desplázate hasta el final y marca la casilla de verificación. Haz clic en «Pasosiguiente«.
Revisa la configuración y haz clic en «Crear grupo«.
Ahora tenemos un grupo con «ReadOnlyAccess«, lo que significa que los usuarios que pertenezcan a este grupo sólo tendrán acceso de «Sólo lectura» a los recursos/servicios de AWS.
Vuelve a la página de inicio de IAM y selecciona el grupo que acabamos de crear. Haz clic en «Añadir usuarios al grupo» para añadir nuestro usuario a este grupo.
Selecciona el usuario que hemos creado en el paso anterior y haz clic en «Añadirusuarios«. Esto añadirá a nuestro usuario al grupo que hemos creado con «ReadOnlyAccess«.
Crear una política IAM
Una política IAM es una entidad que se adjunta a una identidad o recurso para definir sus permisos.
En la página de inicio de IAM, haz clic en «Políticas» en el panel izquierdo. Haz clic en «Crear política».
Haz clic en «Servicio» para seleccionar el servicio para el que hay que crear la política. Busca un servicio en el cuadro de búsqueda y selecciona el servicio.
Obtendrás una lista de permisos que se pueden asignar, aquí selecciona«Lista«. Haz clic en «Revisar la política».
Dale un nombre a la política y haz clic en «Crear política». Esta política ahora se puede adjuntar a un usuario para darle sólo permisos de «Lista» en el Servicio EC2. Podemos seguir los mismos pasos que hemos seguido para adjuntar una política al crear un usuario para adjuntar esta política.
Conclusión:
En este artículo, hemos creado un usuario, un rol y les hemos adjuntado una política, hemos creado un grupo y le hemos añadido un usuario, hemos creado una política personalizada que se puede añadir al usuario.