La computación en la nube ha introducido cambios significativos en la forma en que tradicionalmente se ha llevado a cabo la administración de IAM (Identity and Access Management) para sistemas internos. Si bien no se trata de temas nuevos, adquieren mayor importancia en el contexto de la nube Por ello, es fundamental contar con un sólido control de acceso de usuarios en la nube para garantizar la seguridad sin comprometer la eficiencia.
¿Por qué la gestión de identidad es diferente en la nube?
La gestión de identidad y acceso siempre ha sido un desafío complicado. En su núcleo, implica vincular una entidad (ya sea una persona, un sistema, un fragmento de código, etc.) a una identidad verificable con atributos variables, y tomar decisiones basadas en los derechos y accesos asociados con esa identidad. Incluso cuando se tiene control total sobre todo el proceso, gestionar de manera segura y verificable los diversos sistemas y tecnologías representa un desafío en sí mismo.
Uno de los principales desafíos en la nube radica en la gestión de la identidad y el acceso a los recursos. Por ejemplo, imaginemos tener que asignar acceso a un mismo usuario en docenas o cientos de servicios en la nube. La federación se utiliza como una herramienta clave para abordar este problema, estableciendo relaciones de confianza entre organizaciones y aplicándolas mediante tecnologías basadas en estándares.La federación y otras técnicas y tecnologías IAM han existido durante mucho tiempo, pero a medida que los departamentos de TI evolucionaron, se crearon soluciones ad hoc y silos de IAM.
La migración a la nube brinda la oportunidad de construir nuevas infraestructuras y procesos basados en arquitecturas y estándares modernos. A lo largo de los años, se han logrado grandes avances en la gestión de identidad y acceso. Sin embargo, muchas organizaciones solo han podido implementarlos en casos de uso limitados debido a restricciones presupuestarias y a la presencia de infraestructuras heredadas.
Vocabulario IAM
La Gestión de Identidad y Acceso (IAM) abarca un amplio campo de práctica con su propio vocabulario, lo cual puede resultar confuso para aquellos que no son especialistas en el tema.
Según la definición de Gartner, IAM es:
«La disciplina de seguridad que permite a las personas adecuadas acceder a los recursos adecuados en el momento adecuado por las razones correctas«.
Para comprender mejor este tema, es necesario familiarizarse con los términos más relevantes relacionados con la gestión de identidad y acceso en la nube:
Entidad: Se refiere a una persona o cualquier otro elemento que posea una identidad. Puede ser un individuo, un sistema, un dispositivo o incluso un código de aplicación.
Identidad: Es la representación única de una entidad en un determinado espacio de nombres. Una entidad puede tener múltiples identidades digitales, como una identidad laboral, una identidad en redes sociales y una identidad personal.
Identificador: Es el medio mediante el cual se puede afirmar una identidad. En el caso de las identidades digitales, esto suele ser un token criptográfico. En el mundo real, podría ser un documento de identificación como un DNI.
Atributos: Son las características o aspectos de una identidad. Los atributos pueden ser relativamente estáticos, como una unidad organizativa, o altamente dinámicos, como la dirección IP, el dispositivo utilizado, si el usuario se autenticó con autenticación multifactor (MFA), la ubicación, etc.
Persona: Es la manifestación de una identidad con atributos que indican el contexto.
Rol: Las identidades pueden tener múltiples roles que indican el contexto en el que se encuentran.
Autenticación
Es el proceso de confirmar una identidad. Al iniciar sesión en un sistema, se presenta un nombre de usuario (identificador) y una contraseña (un atributo al que nos referimos como factor de autenticación). También se conoce como Authn.
Autenticación multifactorial (MFA): es el uso de diversos elementos en el proceso de autenticación. Existen opciones comunes como contraseñas de un solo uso generadas por dispositivos físicos o virtuales (OTP), validación mediante OTP enviado por mensaje de texto, confirmación a través de dispositivos móviles, datos biométricos o tokens adicionales.
Control de acceso: es el acto de restringir el ingreso a un recurso.
Autorización: permite que una identidad acceda a algo, como datos o funciones. También se conoce como Authz.
Derecho es la asignación de una identidad: incluyendo roles, personajes y atributos, a una autorización. El derecho establece lo que una identidad está autorizada a hacer y se mantiene en una matriz de derechos o roles con fines de documentación.
Gestión de identidad federada: es el proceso de afirmar una identidad en diferentes sistemas u organizaciones.
Fuente autoritativa: es la fuente principal de una identidad, como un servidor de directorios que administra las identidades de los empleados. Un ejemplo claro sería el departamento de recursos humanos (RRHH).
Proveedor de identidad: es la fuente de la identidad en la federación. No siempre coincide con la fuente autorizada, pero en algunos casos puede confiar en la fuente autorizada, especialmente si actúa como un agente en el proceso.
Parte que confía: es el sistema que se basa en una afirmación de identidad proveniente de un proveedor de identidad.
Estándares para el control de acceso de usuarios en la nube
Dentro del ámbito de la gestión de identidad y acceso en la nube, existen diversos estándares que se pueden emplear. Aunque hay una amplia gama de opciones, la industria se está consolidando en un conjunto básico de estándares que son frecuentemente utilizados y respaldados por la mayoría de los proveedores:
Lenguaje de Marcado de Declaraciones de Seguridad (SAML) 2.0: Es un estándar de OASIS que permite la administración de identidades federadas y brinda soporte para autenticación y autorización. Utiliza XML para realizar declaraciones entre un proveedor de identidad y una entidad dependiente. Las declaraciones pueden contener información sobre autenticación, atributos y decisiones de autorización. Si bien SAML es ampliamente compatible con muchas herramientas empresariales y la nube, su configuración inicial puede resultar compleja.
OAuth: Es un estándar del IETF que se utiliza ampliamente para la autorización en servicios web. OAuth está diseñado para operar a través de HTTP y, actualmente, se encuentra en la versión 2.0, la cual no es compatible con la versión 1.0. Esto implica que las implementaciones pueden no ser interoperables. OAuth se utiliza con mayor frecuencia para delegar el control de acceso y las autorizaciones entre servicios.
OpenID: Es un estándar de autenticación federada que es ampliamente compatible con servicios web. Está basado en HTTP y utiliza URLs para identificar al proveedor de identidad y al usuario/identidad (por ejemplo, identity.identityprovider.com). La versión actual es OpenID Connect 1.0 y es muy común en servicios dirigidos a consumidores.
Otros estándares
Lenguaje de Marcado de Control de Acceso Extensible (XACML): Es un estándar para definir atributos basados en controles de acceso y autorizaciones. Se trata de un lenguaje de políticas utilizado para definir controles de acceso en un Punto de Aplicación de Políticas y luego transmitirlos a un Punto de Ejecución de Políticas. XACML puede ser utilizado junto con SAML y OAuth, ya que aborda una parte diferente del problema, como la toma de decisiones sobre qué acciones están permitidas en una entidad con base en un conjunto de atributos, en contraste con la gestión de inicio de sesión o la delegación de autoridad.
Además, existen otros dos estándares menos comunes, pero que pueden ser útiles en el contexto de la nube:
Sistema de Gestión de Identidades entre Dominios (SCIM): Es un estándar para el intercambio de información de identidad entre dominios. Se utiliza para el aprovisionamiento y la desaprovisionamiento de cuentas en sistemas externos, así como para el intercambio de información de atributos.
Estos estándares, junto con otros que puedan surgir, constituyen los pilares fundamentales para la administración de identidad y acceso en la nube.
Consejos esenciales al elegir un protocolo de identidad
- Ningún protocolo es la panacea que soluciona todos los problemas de identidad y control de acceso.
- Los protocolos de identidad deben analizarse en el contexto de casos de uso. Por ejemplo, el inicio de sesión único basado en el navegador, las claves API o la autenticación de móvil a Cloud podría llevar a distintos enfoques diferentes.
- El supuesto operativo clave debería ser que la identidad es un perímetro en sí mismo, al igual que una DMZ. Por lo tanto, cualquier protocolo de identidad debe seleccionarse y diseñarse desde el punto de vista de que puede atravesar un territorio «complicado» y resistir los ciberataques.
Administración de usuarios e identidades para infraestructuras Cloud
La gestión de identidad se enfoca en los procesos y tecnologías relacionados con el registro, aprovisionamiento, propagación, gestión y desactivación de identidades.
Tanto los proveedores de servicios en la nube como los usuarios de la nube deben tomar decisiones fundamentales sobre cómo gestionar las identidades:
- Los proveedores de servicios en la nube generalmente necesitan gestionar identidades internas, identificadores y atributos para los usuarios que acceden directamente a sus servicios. También deben admitir la federación para que las organizaciones no tengan que aprovisionar y gestionar manualmente todos los usuarios en el sistema del proveedor y emitir credenciales separadas.
- Los usuarios de la nube deben decidir dónde desean gestionar sus identidades y qué modelos arquitectónicos y tecnologías desean utilizar para integrarse con los proveedores. Algunos usuarios pueden optar por crear todas las identidades en el proveedor de la nube, pero esto puede resultar poco escalable para la mayoría de las organizaciones, por lo que la federación se convierte en una opción común. Sin embargo, puede haber casos excepcionales en los que tenga sentido mantener todas o algunas de las identidades con el proveedor de la nube aislado, como cuentas de administrador de respaldo para solucionar problemas con la conexión de identidad federada.
En el caso de la federación, los usuarios de la nube deben determinar la fuente autorizada que contiene las identidades únicas que se federarán, lo cual suele ser un servidor de directorio interno. Luego, deben decidir si utilizarán directamente esa fuente autorizada como proveedor de identidad, si utilizarán una fuente de identidad diferente alimentada desde la fuente autorizada (como un directorio vinculado a un sistema de recursos humanos) o si integrarán un intermediario de identidad.
Infraestructuras
Existen dos posibles arquitecturas: «Free-form» y «hub and spoke».
En la arquitectura «Free-form», los proveedores o fuentes de identidad internos (generalmente servidores de directorio) se conectan directamente a los proveedores de servicios en la nube.
En la arquitectura «hub and spoke«, los proveedores o fuentes de identidad internos se comunican con un intermediario central o repositorio que luego actúa como el proveedor de identidad para la federación con los proveedores en la nube.
Pero la federación directa de servidores de directorios internos en el modelo de forma libre plantea algunos problemas:
- El acceso a Internet es necesario para el funcionamiento del directorio, lo cual plantea posibles inconvenientes dependiendo de la estructura de red existente y las políticas de seguridad establecidas.
- Los intermediarios de identidad, conocidos como Identity Broker, se encargan de la federación entre proveedores de identidad y las partes que confían en ellos. Estos intermediarios pueden ubicarse en el límite de la red o incluso en la nube para facilitar la autenticación única en la web (SSO).
- Los proveedores de identidad no se limitan a ubicarse únicamente en las instalaciones físicas, ya que muchos proveedores de la nube ahora ofrecen servidores de directorio basados en la nube que admiten la federación internamente y con otros servicios en la nube.
Decisiones importantes para la implementación del control de acceso de usuarios en la nube
Una vez determinado el modelo a gran escala, es necesario tomar decisiones arquitectónicas y de proceso para la implementación en cuestión:
- La gestión de identidades para aplicaciones, sistemas, dispositivos y otros servicios debe ser considerada. Se puede optar por aprovechar el mismo modelo y estándares existentes o adoptar un enfoque diferente dentro de las implementaciones y aplicaciones en la nube. Es importante tener en cuenta que las descripciones anteriores se centran en los usuarios que acceden a los servicios, pero puede que no sean aplicables de la misma manera a los servicios que se comunican con otros servicios, sistemas o dispositivos, o a los componentes de aplicaciones dentro de una infraestructura como servicio (IaaS).
- Definir el proceso de aprovisionamiento de identidades y cómo se integra en las implementaciones en la nube. Es posible que existan múltiples procesos de aprovisionamiento para diferentes casos de uso, pero el objetivo debe ser lograr la mayor unificación posible. Si la organización cuenta con un proceso efectivo de aprovisionamiento para la infraestructura tradicional, lo ideal es extenderlo a las implementaciones en la nube. Sin embargo, si los procesos internos actuales presentan problemas, la transición a la nube puede ser una oportunidad para construir un proceso nuevo y más eficiente.
- El aprovisionamiento y soporte de implementaciones y proveedores individuales requiere de un proceso formal. Esto implica establecer las conexiones de federación necesarias, asignar atributos (incluyendo roles) entre el proveedor de identidad y la parte de confianza, habilitar la monitorización y registro requeridos (incluyendo la seguridad relacionada con la identidad, como el análisis del comportamiento), construir una matriz de derechos y documentar cualquier escenario de desconexión o arreglo en caso de fallas técnicas en la federación u otras técnicas utilizadas en la relación.
Autenticación en la nube y credenciales
El proceso de autenticación se refiere a la verificación de una identidad. En el contexto de la seguridad de la información, la autenticación generalmente se relaciona con el inicio de sesión de un usuario, pero en esencia implica confirmar la identidad en cada instancia. El proveedor de identidad es responsable de la autenticación.
La llegada de la computación en la nube ha tenido un impacto significativo en la autenticación, generando la necesidad de una autenticación sólida mediante múltiples factores. Esto se debe a dos razones principales:
- El amplio acceso a la red implica que los servicios en la nube se acceden siempre a través de la red, y frecuentemente a través de Internet. Esto significa que la pérdida de credenciales puede conducir más fácilmente a la toma de posesión de una cuenta por parte de un atacante, ya que los ataques no están limitados a la red local.
- El aumento del uso de la federación para el inicio de sesión único (SSO) implica que un conjunto de credenciales comprometidas puede poner en riesgo una mayor cantidad de servicios en la nube.
La autenticación multifactor (MFA) se presenta como una opción sólida para reducir los casos de toma de cuentas. Aunque no es una solución infalible, confiar únicamente en un factor (como una contraseña) para los servicios en la nube representa un riesgo muy alto. Al utilizar MFA en combinación con la federación, el proveedor de identidad puede y debe transmitir el estado de MFA como un atributo a la parte que confía.
Existen diversas opciones para implementar MFA, entre ellas:
- Los tokens físicos son dispositivos que generan contraseñas de un solo uso para la autenticación de usuarios, o que deben conectarse a un lector. Estos tokens son la mejor opción cuando se requiere un alto nivel de seguridad.
- Los tokens virtuales funcionan de manera similar a los tokens físicos, pero son aplicaciones de software que se ejecutan en dispositivos como teléfonos móviles o computadoras.
- Las contraseñas fuera de banda son mensajes de texto u otro tipo de comunicación que se envían al teléfono del usuario y se ingresan como una contraseña de un solo uso generada por un token. Aunque también son una buena opción, cualquier modelo de amenazas debe considerar la posibilidad de interceptación de mensajes, especialmente en el caso de mensajes de texto (SMS).
- La biometría está ganando popularidad como opción de autenticación, gracias a la disponibilidad de lectores biométricos en dispositivos móviles. En el contexto de los servicios en la nube, la autenticación biométrica ofrece una protección local y no envía información biométrica al proveedor de la nube. En cambio, se trata de un atributo que se puede enviar al proveedor. Sin embargo, es fundamental considerar la seguridad y la propiedad del dispositivo local en el que se implementa la autenticación biométrica.
Gestión de permisos para el control de acceso de usuarios en la nube
En el ámbito de la gestión de derechos y accesos, los términos de titulación, autorización y control de acceso tienen significados distintos que se superponen dependiendo del contexto.
La autorización se refiere a otorgar permisos para realizar ciertas acciones, como acceder a un archivo o red, o ejecutar una función específica, como una llamada API en un recurso particular.
El control de acceso determina si se permite o se niega la expresión de una autorización, e incluye aspectos como asegurar que el usuario esté autenticado antes de permitir el acceso.
Un derecho asigna identidades a las autorizaciones y a cualquier atributo necesario. Por ejemplo, el usuario X tiene acceso al recurso Y cuando los atributos Z tienen valores específicos asignados. Comúnmente, nos referimos a esta asignación de derechos como una matriz de derechos. Los derechos se suelen codificar como políticas técnicas de distribución y cumplimiento.
También utilizamos el término gestión de acceso para referirnos a la parte «A» de la gestión de identidades y accesos (IAM, por sus siglas en inglés). Esto abarca todo el proceso de definición, propagación y aplicación de autorizaciones.
El cloud computing tiene diversas implicaciones en cuanto a derechos, autorizaciones y gestión de accesos:
- Los proveedores y plataformas en la nube, al igual que cualquier otra tecnología, tienen su propio conjunto de autorizaciones específicas. A menos que el proveedor admita XACML (lo cual es poco común en la actualidad), los usuarios de la nube generalmente deben configurar los permisos directamente en la plataforma.
- Los proveedores de la nube son responsables de hacer cumplir las autorizaciones y los controles de acceso.
- Los usuarios de la nube son responsables de definir las autorizaciones y configurarlas correctamente dentro de la plataforma.
Las plataformas en la nube suelen brindar mayor soporte para el modelo de control de acceso basado en atributos (ABAC, por sus siglas en inglés) para IAM, el cual ofrece mayor flexibilidad y seguridad que el modelo de control de acceso basado en roles (RBAC, por sus siglas en inglés). RBAC es el modelo tradicional para imponer autorizaciones y se basa generalmente en un único atributo, como un rol definido. ABAC permite tomar decisiones más detalladas y contextuales al incorporar múltiples atributos, como el rol, la ubicación, el método de autenticación, entre otros.
Recomendaciones para la gestión de identidad y acceso en entornos Cloud
- Las organizaciones deben implementar un enfoque completo y formal, junto con procesos, para administrar las identidades y autorizaciones en los servicios en la nube.
- Cuando se establezca conexión con proveedores externos de la nube, se recomienda utilizar la federación; siempre que sea posible, para ampliar la administración de identidades existentes.
- Los usuarios de la nube son responsables de mantener el proveedor de identidades y definir las identidades y atributos correspondientes. Es importante que estas se basen en una fuente autorizada.
- En entornos distribuidos, se debe considerar la utilización de servidores de directorio alojados en la nube cuando las opciones disponibles no cumplan con los requisitos establecidos.
- Para todas las cuentas externas en la nube, se recomienda que los usuarios de la nube utilicen de forma predeterminada la autenticación multifactor (MFA) y envíen el estado de MFA como un atributo al utilizar la autenticación federada.
- Las identidades privilegiadas siempre deben hacer uso de la autenticación multifactor (MFA).
- Es importante desarrollar una matriz de derechos para cada proveedor y proyecto en la nube; dando énfasis al acceso a la infraestructura principal y/o al plano de gestión.
- En el ámbito de la computación en la nube, se recomienda utilizar el modelo de control de acceso basado en atributos (ABAC); en lugar del modelo basado en roles (RBAC).
- Los proveedores de servicios en la nube deben ofrecer tanto identidades internas como opciones de federación utilizando estándares abiertos.
CANVIA ha demostrado ser un líder en el campo de la gestión de identidad y acceso en la nube; brindando soluciones integrales y eficientes para garantizar un control de acceso robusto. Su amplia experiencia y conocimientos técnicos les permiten comprender las necesidades de cada organización, adaptando sus soluciones para satisfacer los requisitos específicos.
También te puede interesar: Proveedores de cloud computing en Perú