paint-brush
Una guía esencial para IAM (Administración de acceso a la identidad) en 2022por@periklisgkolias
516 lecturas
516 lecturas

Una guía esencial para IAM (Administración de acceso a la identidad) en 2022

por Periklis Gkolias2022/04/07
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

El término IAM es uno de los comunes que escucha en entornos nativos de la nube. ¿Qué hace un sistema así? Y si lo sabe, ¿cuánto tiempo le llevó comprender el propósito completo? IAM significa Gestión de Acceso a la Identidad. Es un sistema complejo de entidades (humanos, aplicaciones, etc.) que solicitan acceso a un sistema, por un lado. Y también, hay un complejo conjunto jerárquico de reglas, para otorgar o denegar el acceso solicitado. Los fundamentos descritos aquí son independientes del proveedor, aunque la mayor parte de mi experiencia se deriva de la implementación de AWS.

Company Mentioned

Mention Thumbnail
featured image - Una guía esencial para IAM (Administración de acceso a la identidad) en 2022
Periklis Gkolias HackerNoon profile picture

El término IAM es uno de los comunes que escucha en entornos nativos de la nube. Sin embargo, ¿qué hace un sistema así? Y si lo sabe, ¿cuánto tiempo le llevó comprender el propósito completo? Explicaré los conceptos principales detrás de esta enorme familia de software, pensando en el ingeniero ocupado.


Los fundamentos descritos aquí son independientes del proveedor. Aunque la mayor parte de mi experiencia se deriva de la implementación de AWS.

¿Qué es IAM?

IAM significa Gestión de Acceso a la Identidad. Es un sistema complejo de entidades (humanos, aplicaciones, etc.) que solicitan acceso a un sistema, por un lado. Y también, existe un complejo conjunto jerárquico de reglas, para otorgar o denegar el acceso solicitado. Antes de continuar, a continuación se encuentran los principales términos que encontrará.


  • Recurso : cualquier cosa que valga la pena proteger. Un servicio de almacenamiento, una máquina virtual, etc.
  • Política : un conjunto de reglas que dictan "quién puede qué" en qué recurso. Y por supuesto, quien no puede
  • Acción : cualquier cosa que alguien pueda hacer, dentro del entorno de la nube. Por ejemplo, crear una máquina virtual
  • Usuario : Bueno... un usuario :)
  • Grupo : un grupo de usuarios, con los mismos permisos, aplicado
  • Principal : un usuario o una aplicación que solicita acceso
  • Rol : Un conjunto de poderes asignados a un principal. Por lo general, por un tiempo limitado.

por qué es útil

Su uso principal se encuentra en los ámbitos de la autenticación, la autorización, el acceso granular y la gobernanza. Veamos cuáles son esas cosas:


  • Autenticación : Hemos verificado quién es usted
  • Autorización : Queremos identificar si puedes realizar la acción que solicitas. Por lo general, se combina con la autenticación, pero no es necesario.
  • Acceso granular : Cada acción que puede ocurrir en un recurso, está controlada por permisos. Tener acceso para ver las reglas del firewall no significa que pueda cambiarlas. Esto se implementa con el control de acceso basado en roles
  • Gobernanza : las acciones que toma para saber qué diablos le está pasando a su entorno. Principalmente de un presupuesto, cumplimiento, alcance de acceso adecuado.


¿Sois una empresa de 1-3 personas? Entonces, configurar una solución IAM completa es excesivo y una carga para mantener. Pero si es más que eso o está planeando escalar, entonces debería comenzar a considerarlo. Pilares de IAM

Problemas por la falta de uno

Creo que puede ver los beneficios de una solución IAM. Veamos cuáles son algunos de los problemas comunes que enfrentan las organizaciones en su ausencia.

Acceso difícil de auditar y administrar

¿Has oído hablar de casos en los que un empleado tuvo más acceso del que debería? Y además, ¿nadie lo sabía? Esto se puede evitar con una solución de IAM configurada correctamente.

Configurar cuentas de nuevos empleados es un fastidio

Con una solución IAM configurada correctamente, esto es cuestión de unos pocos clics. Es decir, configure los usuarios, agréguelos a los grupos de IAM que usan sus equipos. Y eso es todo.


Pero sin eso? Debe realizar todas las configuraciones de permisos desde cero. Es posible que tenga un usuario de referencia para "copiar". Pero, ¿necesitamos todos los permisos que tiene este usuario de referencia? ¿Queremos tener un manejo especial para los usuarios que tienen menos de 6 meses en la empresa? ¿El usuario de referencia tiene permisos de superusuario que no deberían asignarse accidentalmente al nuevo empleado?

desvinculación de personas

Aquí tiene problemas de naturaleza similar al "caso de nuevo empleado". Pero también debe cambiar la contraseña de todas las cuentas que potencialmente usaron. Esto puede volverse feo muy rápido, sin mencionar los efectos secundarios que tiene en otros miembros del equipo.


Por ejemplo, uno tendrá que actualizar todas las ocurrencias de contraseñas en cada baja. En cada script y aplicación. ¿Qué pasa si tienes un cambio de equipo 2-3 veces al mes? ¿Qué tan productivo será esto?

Las tareas de identidad de productos necesitan intervención humana

Por comodidad, me refiero a tareas como restablecer una contraseña o volver a habilitar una cuenta que estaba bloqueada. Las soluciones de IAM de primer nivel tienen una manera de resolver estos problemas rápidamente y sin muchas molestias.

Mejores prácticas

Mejores prácticas

A continuación se presentan algunas de las mejores prácticas que he derivado. Está lejos de ser una lista completa, es solo mi experiencia personal. Sin embargo, los he visto en más de un equipo, por lo que probablemente sean lo suficientemente buenos.

Sin acceso completo... NUNCA

En un escenario del mundo real, no desea que todos los usuarios tengan acceso ilimitado a la cuenta. Idealmente, nadie debería tener (aparte del propietario de la cuenta). Si Jack está trabajando en la supervisión de registros, debería tener acceso de lectura a esa herramienta. No deberían poder reiniciar un servicio. O el equipo de contabilidad solo debe ver la información de facturación.

Saber cómo se establecen las reglas de escalabilidad de las máquinas virtuales no ayudará a nadie.

Grupos vs múltiples usuarios

Prefiera un solo grupo a varios usuarios cuando tenga la opción. Los grupos hacen que la administración sea exponencialmente más fácil.

Roles frente a múltiples grupos frente a un nuevo usuario

Cuando tenga la opción, prefiera asignar un rol a un usuario, en lugar de crear un nuevo usuario. Por ejemplo, no cree un usuario administrador y comparta la contraseña entre 10 personas. Crea un rol de administrador y asígnalo a quien lo necesite por un tiempo limitado.

Los permisos deben ser auditados con frecuencia

Es fácil cometer errores o realizar acciones maliciosas. Como mínimo, una empresa debe auditar que solo las personas adecuadas tengan acceso y esto sea al nivel mínimo.

También puede enviar un correo electrónico a un determinado equipo cuando ocurre una acción sospechosa. Por ejemplo, asignar una función de administrador a una nueva contratación.

Establecer límites de antemano

Si la solución de IAM lo permite, agregue límites a su ecosistema. Copiando de la documentación de Amazon (lo sé, lo prometí independiente del proveedor :))

Un límite de permisos es una característica avanzada para usar una política administrada para establecer los permisos máximos que una política basada en identidad puede otorgar a una entidad de IAM. El límite de permisos de una entidad le permite realizar solo las acciones permitidas tanto por sus políticas basadas en identidad como por sus límites de permisos.

En términos simples, puede definir los permisos "máximos" que se pueden asignar a cualquier persona. Por ejemplo, un usuario podrá, como máximo, ver los registros de la herramienta correspondiente y reiniciar un servicio. Si alguien intenta obtener un rol para crear una nueva máquina virtual, no se le permitirá.

Conclusión

Gracias por leer hasta aquí. Espero que haya disfrutado la introducción a las tecnologías IAM. Cualquier pregunta, por favor comuníquese.


También publicado aquí: https://perigk.github.io/post/iam-intro-wish-i-had/