Si no terminas de entender muy bien la diferencia entre estas siglas o quieres conocer un poco más estas tecnologías y modelos Business to Business y Business to Consumer te invitamos a que sigas leyendo esta nueva entrada; en ella vamos a hablar de las identidades externas en Azure AD y de cómo podemos, de una forma sencilla, integrarlas en nuestros entornos para que puedan interactuar con nuestros recursos.
Empezaremos por orden cronológico según la primera que llegó al mercado, Azure AD B2B.
Azure AD B2B es el escenario más común de todos y al que más acostumbrados estamos. Nos permite invitar a nuestros socios de negocio y colaboradores a nuestro directorio de forma que puedan hacer uso de nuestros recursos y aplicaciones, pero siempre usando su propia identidad, sin la necesidad de crearles usuarios específicos y por supuesto sin tener que gestionar el ciclo de vida de dichas cuentas y contraseñas.
El escenario típico en una relación B2B es la colaboración por parte de partners con aplicaciones alojadas en nuestro directorio. Por ejemplo, cualquier aplicación de Office 365. Cuando invitamos a un usuario externo para que pueda editar un documento compartido alojado en una biblioteca de Sharepoint Online estamos, de forma intrínseca, creando una relación B2B entre ambos tenants.
Cuando los usuarios B2B invitados acceden a los recursos a los que se le ha otorgado acceso se crea un objeto usuario en nuestro directorio similar a un usuario propio interno del mismo (aunque con otra nomenclatura). Esta cuenta de usuario se puede gestionar como si de un usuario interno se tratase, pudiendo incluirla en grupos de usuario, asignarle permisos de acceso a recursos, etc.
Aunque se cree este objeto de usuario en nuestro directorio es importante destacar que es el directorio original del usuario (en caso de identidad Microsoft profesional) o los servicios de Microsoft (en caso de identidad Microsoft personal o cualquier cuenta de correo) el responsable de autenticar al usuario, validando las credenciales presentadas y devolviendo a nuestro directorio, donde reside la aplicación destino, el token ya validado. El ciclo de vida de dicho usuario es responsabilidad de su directorio origen y nosotros desde nuestro directorio no tenemos que preocuparnos de aspectos como el reseteo de la contraseña o la política de expiración de la misma. Lo único que debemos gestionar es el extremo de la aplicación o recurso accedido en sí, controlando aspectos como qué usuarios o grupos tienen acceso y con qué nivel de permisos, si se les requiere MFA o si cuentan con SSO en el acceso o no.
Ok pero, ¿Qué ocurre cuando el escenario en el que queremos movernos está más orientado a clientes finales? Ya no se trata de una relación entre partners para acceder a unos recursos compartidos o una aplicación interna, sino que nuestro modelo de negocio se basa en los clientes finales a quienes queremos proporcionar acceso a, por ejemplo, una aplicación a medida que hemos desarrollado e integrado en nuestro directorio. Para dar solución a este escenario surgió Azure AD B2C.
La ventaja principal de Azure AD B2C es el poder crear un directorio de identidades en la nube para los clientes.
Este escenario es bastante distinto al anterior. Hablamos de un servicio diferente a Azure AD y separado de él. En este caso las cuentas de usuario cliente se crean en un directorio aparte, separado del directorio principal donde tenemos a los usuarios internos o a los de B2B.
En Azure AD B2C proporcionamos a los propios clientes la capacidad de poder registrarse ellos mismos en dicho directorio de identidades y de esta forma poder acceder a los servicios publicados sin necesidad de tener que darlos de alta. Además, no tienen por qué usar cuentas Microsoft corporativas o personales si no que pueden iniciar sesión directamente con sus credenciales de otros proveedores sociales como Facebook, Google, LinkedIn, Amazon o Twitter. En todos estos casos en los que los usuarios utilizan su identidad social, la validación de las credenciales recae en los propios proveedores de identidades y no en Azure AD B2C, por lo que tampoco en este caso debemos preocuparnos de la gestión de las contraseñas.
Algunos conceptos clave de Azure AD B2C:
Este concepto empezó a oírse hace relativamente poco tiempo. En realidad, no existe dentro de Azure nada con este nombre, aunque se ha utilizado de un tiempo a esta parte para intentar etiquetar con siglas la tendencia que está siguiendo Microsoft poco a poco de ir uniendo los dos mundos B2B y B2C en uno solo, dando lugar a ese nuevo modelo B2X que tantas expectativas está generando.
Podemos decir que desde mayo de este año 2020, en que fue presentado en el MSBuild20, existe este concepto en Azure, aunque Microsoft ha optado por darle un nombre menos impactante y que lo define de manera más sencilla: Azure AD External Identities.
¿Qué es Azure AD External Identities?
Un nuevo escenario mediante el cual podemos dar acceso a nuestros socios de negocio, proveedores o usuarios consumidores a nuestros recursos y aplicaciones permitiendo traer y utilizar sus propias identidades, ya sean propias de otros tenant Azure AD o identidades sociales como Facebook o Google. Los usuarios utilizan su propia identidad existente en los proveedores de identidad mencionados para acceder y son esos proveedores de identidades los que la gestionan, permitiendo que nosotros solo nos preocupemos del otro extremo de la relación, es decir, del acceso a las aplicaciones.
Es la unión de ambos conceptos B2B y B2C en una sola experiencia y un punto único de gestión.
¿Qué novedades aporta Azure AD External Identities?
*Nota: Actualmente External Identities no admite el registro de autoservicio con usuarios locales creados al momento (como ocurría en B2C) si no que es necesario registrarse con una identidad existente (Otro Azure AD, Google, Facebook, SAML IdP)
Veamos Azure AD External Identities funcionando para entender mejor las diferencias con los procesos que ya existían en B2B y B2C.
En los siguientes ejemplos se muestran características que aún están en fase preview por lo que lo mejor es implementar estos cambios desde el portal https://preview.portal.azure.com/
A continuación, mostramos el proceso a seguir para poner a prueba las nuevas funcionalidades de Azure AD External Identities mencionadas en párrafos anteriores. No daremos todo el detalle para no alargar en exceso la entrada en el blog:
Al activar esta opción se registra en el directorio una extensión llamada aad-extension-app que es la encargada de recoger la información de usuarios externos e incorporarla a nuestro directorio.
En el apartado de atributos podemos marcar el orden en el que le aparecerán al usuario para rellenarlos, los que son obligatorios u opcionales e incluso los valores a mostrar en los cuadros de selección según el tipo.
De esta forma además podemos tener diferentes flujos de usuario para cada una de las aplicaciones para las cuales queremos añadir esta capacidad de autoservicio.
Para esta demo utilizamos una app que simplemente nos permite logarnos en el directorio y posteriormente nos muestra información de nuestro perfil.
Un usuario que acceda a la aplicación encontrará un formulario donde se le ofrece la posibilidad de registrarse como nuevo usuario en la misma (dado que suponemos que nunca ha accedido a ningún recurso ni aplicación de nuestro directorio).
Tras elegir qué tipo de identidad va a utilizar (Cuenta Microsoft, Google o Facebook), dado que hablamos del primer acceso del usuario o registro de autoservicio, se le muestra el cuadro de recogida de información para darle de alta en el directorio. En él aparecen los atributos que previamente habíamos seleccionado y configurado en el flujo de usuario.
Tras el registro por parte del usuario se muestra la aplicación y el usuario puede hacer uso de ella como cualquier otro usuario existente.
Como decíamos al principio del apartado, una de las diferencias de B2X (External Identities) es que todos los usuarios comparten directorio, ya sean identidades corporativas (comúnmente conocidas como B2B) o identidades sociales (B2C), sin necesidad de gestionar directorios paralelos para usuarios consumidores. Aquí podemos ver cómo las 3 identidades utilizadas están registradas en el directorio principal donde también está registrada la aplicación que utilizan.
Aparecen, en la columna Tipo de Creación, el nombre SelfServiceSignUp indicando que ha sido el propio usuario el que se ha registrado mediante el proceso de autoservicio. Este campo es útil para filtrar posteriormente y extraer estadísticas e informes.
Dentro de los detalles de los usuarios vemos incluso el proveedor de identidades utilizado.
Azure AD External Identities (o B2X en su acepción menos conservadora) es actualmente la respuesta a quienes tengan la necesidad de incorporar mecanismos de autoservicio a sus aplicaciones o quieran facilitar el acceso de usuarios consumidores con identidades sociales a sus aplicaciones sin grandes requerimientos ni complejidad. Con no demasiado esfuerzo se puede conseguir un funcionamiento básico que cubra estos escenarios iniciales.
Para quienes requieran de procesos de login o registro más elaborados, incluyendo otros proveedores de identidades, con verificación de identidad con más de un mecanismo o pretendan poner a disposición de los usuarios posibles flujos más complejos, como reseteo de contraseñas, o incluso quieran ofrecer la posibilidad de registro de autoservicio para crear usuarios locales en el directorio, Azure AD B2C sigue siendo la única opción a día de hoy. Azure AD B2C es un producto con mucho recorrido y gran capacidad de configuración y personalización que, con el correspondiente esfuerzo según la necesidad, cubre los escenarios más complejos.
Azure AD External Identities es claramente el futuro de la colaboración con entidades externas en Azure AD.
Microsoft está incorporando poco a poco a este nuevo escenario B2X común funcionalidades de B2B y B2C que sin duda los administradores de Azure llevábamos tiempo necesitando, pero aún queda recorrido. No hay que olvidar que la mayoría de las funcionalidades relacionadas con Azure AD External Identities están todavía en fase preview.
Nos mantendremos a la espera de novedades en los próximos meses que seguro llegarán para seguir haciendo crecer este nuevo marco común B2X.
Imagen portada: Fuente Microsoft
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial 4.0 Internacional.