­čąç Administrador de Identidad de Usuario, IAM (Identity Access Management)

­čŹ┐ ┬┐En qu├ę consiste el servicio IAM (Identity and Access Management)?

Para entender como AWS administra la identidad y el acceso a los servicios tenemos que entender primero los conceptos de Usuarios, Grupos y Roles.

­čŹ┐ Vista general de IAM

IAM por sus siglas en ingl├ęs (Identity and Access Management) es decir Administrador de Accesos e Identidades, es la herramienta de AWS para el uso y manejo de:

  • Usuarios.
  • Grupos.
  • Pol├şticas de acceso.
  • Roles.
  • Credenciales de usuario.
  • Pol├şticas de uso de contrase├▒as.
  • Multi-factor authentication (MFA).
  • Llaves de acceso de la API.

Cuando se va a crear una cuenta de AWS, por default se va a crear una cuenta root en AWS que tiene acceso completo a todos los recursos de AWS para tu cuenta.

Cualquier nuevo usuario que se crea a partir de este punto no tiene ning├║n tipo de acceso, al menos hasta que se le asigne alguno por parte del root. Esto es as├ş porque AWS opera a trav├ęs de una premisa, la de asignar la menor cantidad de permisos necesarios para cada cuenta que se crea. Por ejemplo si alguien requiere manejar instancias de EC2 pero no requiere acceso a las bases de datos, solo deber├şa tener acceso a crear dichas instancias y ning├║n otro permiso que no este asociado a sus actividades.

­čŹ┐ ┬┐Cu├íles son las mejores pr├ícticas al momento de usar IAM?

Las mejores prácticas son guias que nos recomiendan la configuración del ambiente que pueda ser segura y al mismo tiempo eficiente para cumplir con nuestros objetivos. Para IAM algunas prácticas sugeridas son:

  • Crear un link de inicio de sesi├│n personalizado para acceder a la consola de AWS.
  • Eliminar las llaves de acceso del root de forma que sea a trav├ęs de un usuario y no del root que se administren los recursos.
  • Habilitar Multi-Factor Authentication, que fuerza al usuario a utilizar un dispositivo para validar su acceso.
  • Utiliza grupos para asignar permisos, esto previene que tengas que crear/asignar permisos para cada usuario.
  • Crea pol├şticas para el manejo de contrase├▒as, de forma que se eviten por ejemplo el uso de contrase├▒as muy sencillas y se force al usuario a cambiar de contrase├▒a con cierta frecuencia.

­čŹ┐ Multi-Factor Authentication (MFA)

Esta modalidad permite habilitar seguridad adicional sobre la cuenta del root o cualquier otra cuenta creada para la gesti├│n de la consola de AWS. En resumen asocia cada cuenta con un generador de tokens de 6 d├şgitos que rotan conforme avanza el tiempo. Este c├│digo generado cada ves que el usuario intenta iniciar una sesi├│n provee una capa adicional de seguridad para aquellos casos en el que el nombre de usuario y contrase├▒a se encuentren comprometidos. Este tipo de identificaci├│n es muy utilizado por los bancos, as├ş que posiblemente ya est├ęs familiarizado con el. En algunas ocasiones este c├│digo no es generado a trav├ęs de una app sino provisto mediante un mensaje SMS o por correo electr├│nico. Una app muy popular para la generaci├│n de estos c├│digos es Google Authenticator.

El flujo de identificaci├│n en AWS es el siguiente:

  • El usuario ingresa un nombre de usuario y contrase├▒a.
  • AWS pide a continuaci├│n que se ingrese el c├│digo generado por el dispositivo (MFA).
  • Si tanto credenciales como el c├│digo son los apropiados, se autoriza el acceso a la consola.

­čŹ┐ ┬┐Cu├íles son las mejores pr├ícticas para el manejo de los usuarios en IAM?

  • No utilizar la cuenta del root para prop├│sitos diarios.
  • Si se requiere tener acceso total (admin) frecuentemente, crear una cuenta para este prop├│sito asign├índole el policy AdministratorAccess.

­čŹ┐ ┬┐Cu├íles son las mejores pr├ícticas para el manejo de los grupos en IAM?

  • Un grupo en IAM es un conjunto de usuarios IAM. Los grupos le permiten asignar m├║ltiples permisos para m├║ltiples usuarios al mismo tiempo.
  • Los grupos son una forma conveniente y eficiente de manejar las cuentas y los permisos. Por ejemplo si un usuario cambia de departamento o de rol dentro de una organizaci├│n, es mas sencillo cambiarlo de un grupo que reasignar todos los permisos que este cambio requiera.

­čŹ┐ ┬┐Cu├íles son las mejores pr├ícticas al momento de utilizar pol├şticas de contrase├▒as?

Una pol├ştica de contrase├▒as determina la forma y el vencimiento que un usuario debe seguir cuando crea o modifica una contrase├▒a, entre las propiedades de dicha contrase├▒a encontramos:

  • Longitud de la contrase├▒a.
  • Tipos de caracteres requeridos (may├║sculas, min├║sculas, n├║meros, s├şmbolos).
  • Vencimiento de la contrase├▒a.
  • Imposibilidad de reutilizar contrase├▒as previamente utilizadas.
  • Permisos del usuario para cambiar su propia contrase├▒a.
  • Requerir al usuario cambiar su contrase├▒a despu├ęs de su primer inicio de sesi├│n.