Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
À compter du 1er mai 2025, Azure AD B2C ne sera plus disponible pour les nouveaux clients. Pour plus d’informations, consultez notre FAQ.
Dans ce tutoriel, découvrez comment intégrer Azure Active Directory B2C (Azure AD B2C) à Strata Maverics Identity Orchestrator, ce qui permet de protéger les applications locales. Il se connecte aux systèmes d’identité, migre les utilisateurs et les informations d’identification, synchronise les stratégies et les configurations, et extrait l’authentification et la gestion des sessions. Utilisez Strata pour passer d’une version héritée à Azure AD B2C, sans réécriture d’applications.
La solution offre les avantages suivants :
- Authentification unique client auprès d’applications hybrides locales - Azure AD B2C prend en charge l’authentification unique client avec Maverics Identity Orchestrator
- Les utilisateurs se connectent avec des comptes hébergés dans Azure AD B2C ou un fournisseur d’identité (IdP)
- Maverics offre l’authentification unique aux applications qui étaient sécurisées par des systèmes d’identité hérités tels que Symantec SiteMinder
- Étendre l’authentification unique standard aux applications - Utiliser Azure AD B2C pour gérer l’accès utilisateur et activer l’authentification unique avec les connecteurs Maverics Identity Orchestrator Security Assertion Markup Language (SAML) ou OpenID Connect (OIDC)
- Configuration simple - Connecter des connecteurs SAML ou OIDC Maverics Identity Orchestrator à Azure AD B2C
Conditions préalables
Avant de commencer, vérifiez que vous disposez des éléments suivants :
Un abonnement Azure
- Si vous n’en avez pas, vous pouvez obtenir un compte gratuit Azure
- Un client Azure AD B2C lié à votre abonnement Azure
- Instance d’Azure Key Vault pour stocker les secrets utilisés par Maverics Identity Orchestrator. Connectez-vous à Azure AD B2C ou à d’autres fournisseurs d’attributs tels qu’un répertoire ou une base de données LDAP (Lightweight Directory Access Protocol).
- Instance de Maverics Identity Orchestrator s’exécutant sur une machine virtuelle Azure ou un serveur local. Pour obtenir des logiciels et de la documentation, accédez à strata.io Contact Strata Identity.
- Application locale permettant de passer à Azure AD B2C
Description du scénario
L’intégration de Maverics Identity Orchestrator inclut les composants suivants :
-
Azure AD B2C - Serveur d’autorisation qui vérifie les informations d’identification de l’utilisateur
- Les utilisateurs authentifiés accèdent aux applications locales à l’aide d’un compte local dans l’annuaire Azure AD B2C
- Fournisseur d’identité sociale ou d’entreprise externe (IDP) : fournisseur OIDC, Facebook, Google ou GitHub
- Strata Maverics Identity Orchestrator : service d’authentification utilisateur qui transmet l’identité aux applications via des en-têtes HTTP
Le diagramme d’architecture suivant montre l’implémentation.
- L’utilisateur demande l’accès à l’application hébergée localement. Maverics Identity Orchestrator dirige par proxy la requête vers l’application.
- Orchestrator vérifie l’état d’authentification de l’utilisateur. S’il n’existe aucun jeton de session ou si le jeton n’est pas valide, l’utilisateur accède à Azure AD B2C pour l’authentification
- Azure AD B2C envoie la demande d’authentification au fournisseur d’identité social configuré.
- Le fournisseur d’identité demande à l’utilisateur ses informations d’identification. L’authentification multifacteur (MFA) peut être nécessaire.
- L’IdP envoie la réponse d’authentification à Azure AD B2C. L’utilisateur peut créer un compte local dans l’annuaire Azure AD B2C.
- Azure AD B2C envoie la demande de l’utilisateur au point de terminaison spécifié pendant l’inscription de l’application Orchestrator dans le locataire Azure AD B2C.
- Orchestrator évalue les stratégies d’accès et les valeurs d’attribut pour les en-têtes HTTP transférés à l’application. Orchestrator peut appeler d’autres fournisseurs d’attributs pour récupérer des informations pour définir les valeurs d’en-tête. Orchestrator envoie la requête à l’application.
- L’utilisateur est authentifié et a accès à l’application.
Maverics Identity Orchestrator
Pour obtenir des logiciels et de la documentation, accédez à strata.io Contact Strata Identity. Déterminez les conditions préalables pour Orchestrator. Installez et configurez.
Configurer votre tenant Azure AD B2C
Pendant les instructions suivantes, documentez :
- Nom et identificateur du locataire
- ID de client
- Clé secrète client
- Revendications configurées
- URI de redirection
- Inscrivez une application web dans Azure Active Directory B2C dans le locataire Azure AD B2C.
- Accordez des autorisations d’API Microsoft MS Graph à vos applications. Utiliser des autorisations :
offline_access
,openid
. - Ajoutez un URI de redirection qui correspond au
oauthRedirectURL
paramètre de la configuration du connecteur Orchestrator Azure AD B2C, par exemplehttps://example.com/oidc-endpoint
. - Créez des flux d’utilisateurs et des stratégies personnalisées dans Azure Active Directory B2C.
- Ajoutez un fournisseur d’identité à votre locataire Azure Active Directory B2C. Connectez-vous avec un compte local, un compte de réseau social ou un compte d'entreprise.
- Définissez les attributs à collecter lors de l’inscription.
- Spécifiez les attributs à retourner à l’application avec votre instance Orchestrator.
Remarque
Orchestrator consomme des attributs à partir de revendications retournées par Azure AD B2C et peut récupérer des attributs à partir de systèmes d’identité connectés tels que des répertoires et des bases de données LDAP. Ces attributs se trouvent dans des en-têtes HTTP et envoyés à l’application locale en amont.
Configurer Maverics Identity Orchestrator
Utilisez les instructions des sections suivantes pour configurer une instance Orchestrator.
Configuration requise pour le serveur Maverics Identity Orchestrator
Vous pouvez exécuter votre instance Orchestrator sur n’importe quel serveur, qu’il soit local ou dans une infrastructure de cloud public par fournisseur tel qu’Azure, AWS ou GCP.
- Système d’exploitation : RHEL 7.7 ou version ultérieure
- Disque : 10 Go (petit)
- Mémoire : 16 Go
- Ports : 22 (SSH/SCP), 443, 80
- Accès racine : Pour les tâches d’installation/d’administration
-
Maverics Identity Orchestrator : s’exécute en tant qu’utilisateur
maverics
soussystemd
- Sortie réseau : à partir du serveur hébergeant Maverics Identity Orchestrator qui peut atteindre votre locataire Microsoft Entra
Installer Maverics Identity Orchestrator
Obtenez le dernier paquet Maverics RPM.
Placez le package sur le système que vous souhaitez installer Maverics. Si vous copiez sur un hôte distant, utilisez SSH scp.
Exécutez la commande suivante. Utilisez votre nom de fichier pour remplacer
maverics.rpm
.sudo rpm -Uvf maverics.rpm
Par défaut, Maverics se trouve dans le
/usr/local/bin
répertoire.Maverics fonctionne en tant que service sous
systemd
.Pour vérifier que le service Maverics est en cours d’exécution, exécutez la commande suivante :
sudo service maverics status
Le message suivant (ou similaire) s’affiche.
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
Remarque
Si Maverics ne parvient pas à démarrer, exécutez la commande suivante :
journalctl --unit=maverics.service --reverse
La dernière entrée du journal apparaît dans le résultat.
- Le fichier par défaut
maverics.yaml
est créé dans le/etc/maverics
répertoire. - Configurez votre Orchestrateur pour protéger l’application.
- Intégrer à Azure AD B2C et stocker.
- Récupérez les secrets d’Azure Key Vault.
- Définissez l’emplacement à partir duquel Orchestrator lit sa configuration.
Fournir la configuration à l’aide de variables d’environnement
Configurez vos instances Orchestrator avec des variables d’environnement.
MAVERICS_CONFIG
Cette variable d’environnement informe l’instance Orchestrator des fichiers de configuration YAML à utiliser et où les trouver au démarrage ou au redémarrage. Définissez la variable d’environnement dans /etc/maverics/maverics.env
.
Créer la configuration TLS de l'Orchestrateur
Le tls
champ dans maverics.yaml
déclare les configurations de sécurité de couche de transport que votre instance Orchestrator utilise. Les connecteurs utilisent des objets TLS et le serveur Orchestrator.
La maverics
clé est réservée au serveur Orchestrator. Utilisez d’autres clés pour injecter un objet TLS dans un connecteur.
tls:
maverics:
certFile: /etc/maverics/maverics.cert
keyFile: /etc/maverics/maverics.key
Configurer le connecteur Azure AD B2C
Les orchestrateurs utilisent des connecteurs pour s’intégrer aux fournisseurs d’authentification et d’attributs. La passerelle d’application Orchestrators utilise le connecteur Azure AD B2C comme fournisseur d’authentification et d’attribut. Azure AD B2C utilise le fournisseur d’identité social pour l’authentification, puis fournit des attributs à Orchestrator, en les passant dans des revendications définies dans des en-têtes HTTP.
La configuration du connecteur correspond à l’application inscrite dans le locataire Azure AD B2C.
- À partir de la configuration de votre application, copiez l’ID client, la clé secrète client et l’URI de redirection dans votre locataire.
- Entrez un nom de connecteur (par exemple
azureADB2C
). - Définissez le connecteur
type
surazure
. - Notez le nom du connecteur. Vous utiliserez cette valeur dans d’autres paramètres de configuration.
- Définissez
authType
suroidc
. - Pour le
oauthClientID
paramètre, définissez l’ID client que vous avez copié. - Pour le
oauthClientSecret
paramètre, définissez la clé secrète client que vous avez copiée. - Pour le
oauthRedirectURL
paramètre, définissez l’URI de redirection que vous avez copié. - Le connecteur OIDC Azure AD B2C utilise le point de terminaison OIDC pour découvrir les métadonnées, notamment les URL et les clés de signature. Pour le point de terminaison du locataire, utilisez
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
Définir Azure AD B2C comme fournisseur d’authentification
Un fournisseur d’authentification détermine l’authentification pour les utilisateurs qui ne présentent pas de session valide pendant une demande de ressource d’application. La configuration du locataire Azure AD B2C détermine la façon dont les utilisateurs sont invités à saisir leurs informations d’identification, tout en appliquant d’autres politiques d’authentification. Un exemple consiste à exiger qu’un deuxième facteur termine l’authentification et détermine ce qui est retourné à Orchestrator App Gateway, après l’authentification.
La valeur pour le authProvider
doit correspondre à la valeur de votre connecteur name
.
authProvider: azureADB2C
Protéger les applications locales avec une passerelle d’application Orchestrator
La configuration Orchestrator App Gateway déclare comment Azure AD B2C protège votre application et comment les utilisateurs accèdent à l’application.
- Entrez un nom de passerelle d’application.
- Définissez
location
. L’exemple utilise la racine/
de l’application . - Définissez l’application protégée dans
upstream
. Utilisez la convention host :port :https://example.com:8080
. - Définissez les valeurs des pages d’erreur et non autorisées.
- Définissez les noms d’en-tête HTTP et les valeurs d’attribut de l’application pour établir l’authentification et le contrôle. Les noms d’en-tête correspondent généralement à la configuration de l’application. Les valeurs des attributs sont organisées par un espace de noms défini par le connecteur. Dans l’exemple, les valeurs retournées à partir d’Azure AD B2C sont précédées du nom
azureADB2C
du connecteur. Le suffixe est le nom d’attribut avec la valeur requise, par exemplegiven_name
. - Définissez les stratégies. Trois actions sont définies :
allowUnauthenticated
,allowAnyAuthenticated
etallowIfAny
. Chaque action est associée à unresource
. La stratégie est évaluée pour ceresource
.
Remarque
headers
et policies
utiliser des extensions de service JavaScript ou GoLang pour implémenter une logique arbitraire.
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 en tant que fournisseur de secrets
Sécurisez les secrets que votre Orchestrateur utilise pour vous connecter à Azure AD B2C et à d’autres systèmes d’identité. Les Maverics chargent des secrets en texte clair à partir de maverics.yaml
; cependant, dans ce tutoriel, utilisez Azure Key Vault comme fournisseur de secrets.
Suivez les instructions de ce guide de démarrage rapide : Définir et récupérer un secret à partir d’Azure Key Vault à l’aide du portail Azure. Ajoutez vos secrets au coffre et notez le SECRET NAME
pour chaque secret. Par exemple : AzureADB2CClientSecret
.
Pour déclarer une valeur en tant que secret dans un maverics.yaml
fichier config, encapsulez le secret avec des crochets d’angle :
connectors:
- name: AzureADB2C
type: azure
oauthClientID: <AzureADB2CClientID>
oauthClientSecret: <AzureADB2CClientSecret>
La valeur entre crochets doit correspondre au SECRET NAME
donné à un secret dans votre instance Azure Key Vault.
Pour charger des secrets à partir d’Azure Key Vault, définissez la variable MAVERICS_SECRET_PROVIDER
d’environnement dans le fichier /etc/maverics/maverics.env
, avec les informations d’identification trouvées dans le fichier azure-credentials.json. Utilisez le modèle suivant :
MAVERICS_SECRET_PROVIDER='azurekeyvault://<KEYVAULT NAME>.vault.azure.net?clientID=<APPID>&clientSecret=<PASSWORD>&tenantID=<TENANT>'
Terminer la configuration
Les informations suivantes illustrent la façon dont la configuration d’Orchestrator apparaît.
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
Tester le flux
- Accédez à l’URL de l’application locale.
https://example.com/sonar/dashboard
- Orchestrator redirige vers la page du flux utilisateur.
- Sélectionnez le fournisseur d’identité dans la liste.
- Entrez les informations d’identification, y compris un jeton MFA, si l’IdP le demande.
- Vous êtes redirigé vers Azure AD B2C, qui transfère la demande d’application à l’URI de redirection Orchestrator.
- Orchestrator évalue les stratégies et calcule les en-têtes.
- L’application demandée s’affiche.