Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
A partir del 1 de mayo de 2025, Azure AD B2C ya no estará disponible para ser adquirido por nuevos clientes. Obtenga más información en nuestras preguntas más frecuentes.
En este tutorial, aprenderá a integrar Azure Active Directory B2C (Azure AD B2C) con Strata Maverics Identity Orchestrator, que ayuda a proteger las aplicaciones locales. Se conecta a sistemas de identidad, migra usuarios y credenciales, sincroniza políticas y configuraciones, y abstrae la autenticación y la gestión de sesiones. Use Strata para realizar la transición de la versión heredada a Azure AD B2C, sin tener que volver a escribir las aplicaciones.
La solución tiene las siguientes ventajas:
-
Inicio de sesión único (SSO) del cliente en aplicaciones híbridas locales: Azure AD B2C admite el inicio de sesión único del cliente con Maverics Identity Orchestrator
- Los usuarios inician sesión con cuentas hospedadas en Azure AD B2C o en un proveedor de identidades (IdP)
- Maverics proporciona SSO a las aplicaciones históricamente aseguradas por antiguos sistemas de identidad como Symantec SiteMinder
- Extienda el SSO estándar a las aplicaciones - Use Azure AD B2C para administrar el acceso de los usuarios y habilitar el SSO con los conectores de Maverics Identity Orchestrator, Security Assertion Markup Language (SAML) o OpenID Connect (OIDC).
- Configuración sencilla : conecte conectores SAML u OIDC de Maverics Identity Orchestrator a Azure AD B2C
Prerrequisitos
Para empezar, necesitará lo siguiente:
Una suscripción de Azure
- Si no tiene una, puede obtener una cuenta gratuita de Azure.
- Un inquilino de Azure AD B2C vinculado a su suscripción de Azure
- Una instancia de Azure Key Vault para almacenar secretos usados por Maverics Identity Orchestrator. Conéctese a Azure AD B2C u otros proveedores de atributos, como un directorio o una base de datos del Protocolo ligero de acceso a directorios (LDAP).
- Una instancia de Maverics Identity Orchestrator que se ejecuta en una máquina virtual (VM) de Azure o en un servidor local. Para obtener software y documentación, vaya a strata.io Póngase en contacto con Strata Identity.
- Una aplicación local para realizar la transición a Azure AD B2C
Descripción del escenario
La integración de Maverics Identity Orchestrator incluye los siguientes componentes:
-
Azure AD B2C : el servidor de autorización que comprueba las credenciales de usuario
- Los usuarios autenticados acceden a las aplicaciones locales mediante una cuenta local en el directorio de Azure AD B2C
- Proveedor de identidades (IdP) empresarial o social externo: un proveedor de OIDC, Facebook, Google o GitHub
- Strata Maverics Identity Orchestrator: el servicio de inicio de sesión de usuario que pasa la identidad a las aplicaciones a través de encabezados HTTP
En el diagrama de arquitectura siguiente se muestra la implementación.
- El usuario solicita acceso a la aplicación hospedada local. Maverics Identity Orchestrator redirige la solicitud a la aplicación.
- Orchestrator comprueba el estado de autenticación del usuario. Si no hay ningún token de sesión o el token no es válido, el usuario va a Azure AD B2C para la autenticación
- Azure AD B2C envía la solicitud de autenticación al IdP social configurado.
- El IdP desafía al usuario por la credencial. Es posible que se requiera la autenticación multifactor (MFA).
- El IdP envía la respuesta de autenticación a Azure AD B2C. El usuario puede crear una cuenta local en el directorio de Azure AD B2C.
- Azure AD B2C envía la solicitud de usuario al punto de conexión especificado durante el registro de la aplicación de Orchestrator en el inquilino de Azure AD B2C.
- Orchestrator evalúa las políticas de acceso y los valores de atributo de los encabezados HTTP reenviados a la aplicación. Orchestrator puede llamar a otros proveedores de atributos para recuperar información y establecer los valores de encabezado. Orchestrator envía la solicitud a la aplicación.
- El usuario está autenticado y tiene acceso a la aplicación.
Maverics Identity Orchestrator, un organizador de identidades
Para obtener software y documentación, vaya a strata.io Póngase en contacto con Strata Identity. Determine los requisitos previos de Orchestrator. Instalar y configurar.
Configuración del inquilino de Azure AD B2C
Durante las instrucciones siguientes, documente:
- Nombre e identificador del inquilino
- Id. de cliente
- Secreto del cliente
- Declaraciones configuradas
- URI de redirección
- Registro de una aplicación en Azure Active Directory B2C para inquilino de Azure AD B2C.
- Conceda permisos de API de Microsoft MS Graph a sus aplicaciones. Permisos de uso:
offline_access,openid. - Agregue un URI de redireccionamiento que coincida con el
oauthRedirectURLparámetro de la configuración del conector de Azure AD B2C de Orchestrator, por ejemplo,https://example.com/oidc-endpoint. - Cree flujos de usuario y directivas personalizadas en Azure Active Directory B2C.
- Agregue un proveedor de identidades al inquilino de Azure Active Directory B2C. Inicie sesión en su cuenta con una cuenta local, una red social o una cuenta empresarial.
- Defina los atributos que se recopilarán durante el registro.
- Especifique los atributos que se devolverán a la aplicación con la instancia de Orchestrator.
Nota:
Orchestrator consume atributos de notificaciones devueltas por Azure AD B2C y puede recuperar atributos de sistemas de identidad conectados, como directorios y bases de datos LDAP. Esos atributos se encuentran en los encabezados HTTP y se envían a la aplicación local ascendente.
Configuración de Maverics Identity Orchestrator
Utilice las instrucciones de las siguientes secciones para configurar una instancia de Orchestrator.
Requisitos del servidor de Maverics Identity Orchestrator
Puede ejecutar su instancia de Orchestrator en cualquier servidor, ya sea local o en una infraestructura de nube pública por proveedor, como Azure, AWS o GCP.
- Sistema operativo: RHEL 7.7 o superior
- Disco: 10 GB (pequeño)
- Memoria: 16 GB
- Puertos: 22 (SSH/SCP), 443, 80
- Acceso raíz: para tareas de instalación/administrativas
-
Maverics Identity Orchestrator: se ejecuta como usuario
mavericsensystemd - Salida de red: Desde el servidor que hospeda Maverics Identity Orchestrator que puede llegar al inquilino de Microsoft Entra
Instalación de Maverics Identity Orchestrator
Obtenga el paquete RPM de Maverics más reciente.
Coloque el paquete en el sistema en el que desea instalar Maverics. Si va a copiar en un host remoto, use SSH scp.
Ejecute el siguiente comando. Utilice su nombre de archivo para reemplazar
maverics.rpm.sudo rpm -Uvf maverics.rpmDe forma predeterminada, Maverics está en el
/usr/local/bindirectorio.Maverics se ejecuta como un servicio bajo
systemd.Para verificar que el servicio Maverics se está ejecutando, ejecute el siguiente comando:
sudo service maverics statusAparece el siguiente mensaje (o similar).
Redirecting to /bin/systemctl status maverics.service
maverics.service - Maverics
Loaded: loaded (/etc/systemd/system/maverics.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-08-13 16:48:01 UTC; 24h ago
Main PID: 330772 (maverics)
Tasks: 5 (limit: 11389)
Memory: 14.0M
CGroup: /system.slice/maverics.service
└─330772 /usr/local/bin/maverics --config /etc/maverics/maverics.yaml
Nota:
Si Maverics no se inicia, ejecute el siguiente comando:
journalctl --unit=maverics.service --reverse
La entrada de registro más reciente aparece en la salida.
- El archivo predeterminado
maverics.yamlse crea en el/etc/mavericsdirectorio. - Configura el Orchestrator para proteger la aplicación.
- Integre con Azure AD B2C y almacene.
- Recupere los secretos de Azure Key Vault.
- Defina la ubicación desde la que Orchestrator lee su configuración.
Configuración de suministro mediante variables de entorno
Configure las instancias de Orchestrator con variables de entorno.
MAVERICS_CONFIG
Esta variable de entorno informa a la instancia de Orchestrator de los archivos de configuración de YAML que se deben utilizar y de dónde encontrarlos durante el inicio o el reinicio. Establezca la variable de entorno en /etc/maverics/maverics.env.
Creación de la configuración TLS de Orchestrator
El campo tls del archivo maverics.yaml declara las configuraciones de seguridad de la capa de transporte que utiliza su instancia de Orchestrator. Los conectores utilizan objetos TLS y el servidor de Orchestrator.
La maverics clave está reservada para el servidor de Orchestrator. Utilice otras teclas para inyectar un objeto TLS en un conector.
tls:
maverics:
certFile: /etc/maverics/maverics.cert
keyFile: /etc/maverics/maverics.key
Configuración del conector de Azure AD B2C
Los orquestadores usan conectores para integrarse con proveedores de autenticación y atributos. La puerta de enlace de aplicaciones de Orchestrators usa el conector de Azure AD B2C como proveedor de atributos y autenticación. Azure AD B2C usa el IdP social para la autenticación y luego proporciona atributos al Orchestrator, pasándolos en un conjunto de declaraciones establecidas en los encabezados HTTP.
La configuración del conector corresponde a la aplicación registrada en el inquilino de Azure AD B2C.
- Desde la configuración de la aplicación, copie el id. de cliente, el secreto y el URI de redirección a su inquilino.
- Introduzca un nombre de conector (por ejemplo,
azureADB2C). - Establezca el conector
typeenazure. - Anote el nombre del conector. Usará este valor en otros parámetros de configuración.
- Establecer
authTypeenoidc. - Para el
oauthClientIDparámetro, establezca el ID de cliente que copió. - Para el
oauthClientSecretparámetro, establezca el secreto de cliente que copió. - Para el
oauthRedirectURLparámetro, establezca el URI de redireccionamiento que copió. - El conector OIDC de Azure AD B2C usa el punto de conexión OIDC para detectar metadatos, incluidas las direcciones URL y las claves de firma. Para el punto de conexión del inquilino, use
oidcWellKnownURL.
connectors:
name: azureADB2C
type: azure
oidcWellKnownURL: https://<tenant name>.b2clogin.com/<tenant name>.onmicrosoft.com/B2C_1_login/v2.0/.well-known/openid-configuration
oauthRedirectURL: https://example.com/oidc-endpoint
oauthClientID: <azureADB2CClientID>
oauthClientSecret: <azureADB2CClientSecret>
authType: oidc
Defina Azure AD B2C como proveedor de autenticación
Un proveedor de autenticación determina la autenticación para los usuarios que no presentan una sesión válida durante una solicitud de recursos de la aplicación. La configuración de tenant de Azure AD B2C determina cómo se solicita a los usuarios que proporcionen sus credenciales, mientras aplica otras políticas de autenticación. Un ejemplo es requerir un segundo factor para completar la autenticación y decidir qué se devuelve a la puerta de enlace de aplicaciones de Orchestrator, después de la autenticación.
El valor de authProvider debe coincidir con el valor de su Conector name.
authProvider: azureADB2C
Proteja las aplicaciones locales con una puerta de enlace de aplicaciones de Orchestrator
La configuración de Orchestrator App Gateway declara cómo Azure AD B2C protege la aplicación y cómo los usuarios acceden a la aplicación.
- Escriba un nombre de puerta de enlace de aplicación.
- Establezca
location. En el ejemplo se usa la raíz/de la aplicación. - Defina la aplicación protegida en
upstream. Utilice la convención host:port:https://example.com:8080. - Establezca los valores para las páginas de error y no autorizadas.
- Defina los nombres de encabezado HTTP y los valores de atributo para que la aplicación establezca la autenticación y el control. Los nombres de los encabezados suelen corresponder a la configuración de la aplicación. El conector convierte los valores de atributo en espacios de nombres. En el ejemplo, los valores devueltos por Azure AD B2C tienen el prefijo del nombre del conector
azureADB2C. El sufijo es el nombre del atributo con el valor requerido, por ejemplogiven_name. - Establezca las políticas. Se definen tres acciones:
allowUnauthenticated,allowAnyAuthenticated, yallowIfAny. Cada acción está asociada a unresource. La directiva se evalúa para eseresource.
Nota:
headers y policies utilizan extensiones de servicio de JavaScript o Golang para implementar lógica personalizada.
appgateways:
- name: Sonar
location: /
upstream: https://example.com:8080
errorPage: https://example.com:8080/sonar/error
unauthorizedPage: https://example.com:8080/sonar/accessdenied
headers:
SM_USER: azureADB2C.sub
firstname: azureADB2C.given_name
lastname: azureADB2C.family_name
policies:
- resource: ~ \.(jpg|png|ico|svg)
allowUnauthenticated: true
- resource: /
allowAnyAuthenticated: true
- resource: /sonar/daily_deals
allowIfAny:
azureADB2C.customAttribute: Rewards Member
Azure Key Vault como proveedor de secretos
Proteja los secretos que Orchestrator usa para conectarse a Azure AD B2C y otros sistemas de identidad. Maverics carga los secretos en texto sin formato fuera de maverics.yaml; sin embargo, en este tutorial, usa Azure Key Vault como proveedor de secretos.
Siga las instrucciones de Inicio rápido: Establecer y recuperar un secreto de Azure Key Vault mediante Azure Portal. Agregue los secretos al almacén y tome una nota del SECRET NAME para cada secreto. Por ejemplo: AzureADB2CClientSecret.
Para declarar un valor como secreto en un maverics.yaml archivo de configuración, envuelva el secreto con corchetes angulares:
connectors:
- name: AzureADB2C
type: azure
oauthClientID: <AzureADB2CClientID>
oauthClientSecret: <AzureADB2CClientSecret>
El valor de los corchetes angulares debe corresponder al valor de SECRET NAME asignado a un secreto en la instancia de Azure Key Vault.
Para cargar secretos de Azure Key Vault, establezca la variable MAVERICS_SECRET_PROVIDER de entorno en el archivo /etc/maverics/maverics.env, con las credenciales que se encuentran en el archivo azure-credentials.json. Utilice el siguiente patrón:
MAVERICS_SECRET_PROVIDER='azurekeyvault://<KEYVAULT NAME>.vault.azure.net?clientID=<APPID>&clientSecret=<PASSWORD>&tenantID=<TENANT>'
Completar la configuración
En la siguiente información se muestra cómo aparece la configuración de Orchestrator.
version: 0.4.2
listenAddress: ":443"
tls:
maverics:
certFile: certs/maverics.crt
keyFile: certs/maverics.key
authProvider: azureADB2C
connectors:
- name: azureADB2C
type: azure
oidcWellKnownURL: https://<tenant name>.b2clogin.com/<tenant name>.onmicrosoft.com/B2C_1_login/v2.0/.well-known/openid-configuration
oauthRedirectURL: https://example.com/oidc-endpoint
oauthClientID: <azureADB2CClientID>
oauthClientSecret: <azureADB2CClientSecret>
authType: oidc
appgateways:
- name: Sonar
location: /
upstream: http://example.com:8080
errorPage: http://example.com:8080/sonar/accessdenied
unauthorizedPage: http://example.com:8080/sonar/accessdenied
headers:
SM_USER: azureADB2C.sub
firstname: azureADB2C.given_name
lastname: azureADB2C.family_name
policies:
- resource: ~ \.(jpg|png|ico|svg)
allowUnauthenticated: true
- resource: /
allowAnyAuthenticated: true
- resource: /sonar/daily_deals
allowIfAny:
azureADB2C.customAttribute: Rewards Member
Prueba del flujo
- Vaya a la dirección URL de la aplicación local,
https://example.com/sonar/dashboard. - Orchestrator redirige a la página de flujo del usuario.
- Seleccione el IdP en la lista.
- Introduzca las credenciales, incluido un token MFA, si el IdP lo requiere.
- Se le redirigirá a Azure AD B2C, que reenvía la solicitud de la aplicación al URI de redireccionamiento de Orchestrator.
- Orchestrator evalúa las políticas y calcula los encabezados.
- Aparece la aplicación solicitada.