AWS Identity and Access Management (IAM)
Tags: spanish, aws, cloud, iam
Published: 2021-03-18 14:09:56

Unas de las principales preocupaciones cuando se migra una infraestructura On-Premise a una solución en la nube es el tema de la seguridad y IAM es el servicio encargado de manejar todo lo relacionado a la creación y administración de accesos a nuestra cuenta dentro de AWS así que es de suma importancia poder seguir las mejores prácticas.

Cuando creamos una nueva cuenta en AWS tenemos acceso a todos los servicios y recursos a través de la cuenta root que es la cuenta asociada a nuestro correo electrónico, esta cuenta NO debe ser usada para tareas del día a día se debe usar para crear nuestro primer usuario dentro de IAM y una vez hecha esta tarea solo usar la cuenta root para tareas muy específicas de administración.

#Algunas Características de IAM

##Permisos Granulares
Supongamos que dentro de tu organización hay varios departamentos ejemplo: Desarrollo, QA y Finanzas, puedes dar permisos específicos a cada departamento para que solo realicen tareas a las cuales están autorizados.

##Autenticación Multi-Factor
Es Posible agregar autenticación de 2 pasos para tu cuenta y para usuarios individuales, esto agrega una capa de seguridad extra. Para esto se pueden usar dispositivos físicos usados para tal propósito o algún software compatible con nuestro dispositivo móvil.

##Acceso seguro a recursos dentro de AWS
Si tenemos alguna aplicación ejecutándose dentro de una instancia EC2 podemos dar permisos específicos para que pueda usar cualquier recurso que sea necesario, Ejemplo: si necesita conectarse a DynamoDB o usar S3 podemos crear esos permisos y asignarlos a la instancia y la aplicación que allí se ejecute podrá hacer usos de los recursos permitidos.

##Uso Gratuito
Este Servicio no tienen ningún costo asociado

##Identity Federation
Puedes permitir el acceso a usuarios que tengan credenciales en otros proveedores por ejemplo dentro de tu red corporativa (Active Directory) o dentro de un proveedor de identidad en internet

#Prácticas recomendadas
* Crear usuarios individuales para cada persona que vaya a tener acceso a la cuenta de AWS
* Utilizar Grupos, los grupos no son más que contenedores de usuarios. Agrupar los usuarios dentro de grupos nos da la ventaja de poder asignar permisos sobre grupos de personas que tengan las mismas funciones dentro de nuestra organización.
* Aplicar el principio del mínimo privilegio (Least privilege AWS) que se refiere a asignar solo el permiso requerido para realizar una tarea.
* Uso de auditoria, es muy recomendado activar la auditoria AWS cloudtrail para saber las actividades realizadas por cada usuario.
* Uso de contraseñas sólidas, podemos ajustar las políticas para el uso de contraseñas mientras más robustas sean más tranquilos podremos estar.
* Uso de roles, Si tenemos una aplicación ejecutándose dentro de una instancia EC2 que necesita algún otro servicio de AWS la mejor practica es asignar un role a la instancia y evitar el uso de credenciales dentro del código de nuestra aplicación.
* Evitar el uso de la cuenta Root
* Habilitar el uso de MFA para todas las cuentas.

Sin lugar a dudas IAM es uno de los servicios mas importantes dentro de AWS ya que es la puerta de entrada a nuestra cuenta, si no seguimos mejores practicas a la hora de la creacion de nuestros usuarios estariamos poniendo en riesgo toda la infraestructura que alli reside.