Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
Ab dem 1. Mai 2025 steht Azure AD B2C nicht mehr für neue Kunden zur Verfügung. Weitere Informationen finden Sie in unseren HÄUFIG gestellten Fragen.
In diesem Lernprogramm erfahren Sie, wie Sie Azure Active Directory B2C (Azure AD B2C) in Strata Maverics Identity Orchestrator integrieren, wodurch lokale Anwendungen geschützt werden. Es stellt eine Verbindung mit Identitätssystemen, migriert Benutzer und Anmeldeinformationen, synchronisiert Richtlinien und Konfigurationen und abstrahiert die Authentifizierung und Sitzungsverwaltung. Verwenden Sie Strata, um von Legacy zu Azure AD B2C zu wechseln, ohne Anwendungen neu zu schreiben.
Diese Lösung hat die folgenden Vorteile:
-
Single Sign-On (SSO) für Kunden bei lokalen Hybrid-Apps – Azure AD B2C unterstützt Kunden-SSO mit Maverics Identity Orchestrator
- Benutzer melden sich mit Konten an, die in Azure AD B2C oder Identitätsanbieter (IdP) gehostet werden.
- Maverics beweist SSO für Apps, die historisch durch ältere Identitätssysteme wie Symantec SiteMinder gesichert sind
- Erweitern von Standards SSO auf Apps – Verwenden von Azure AD B2C zum Verwalten des Benutzerzugriffs und Aktivieren von SSO mit Maverics Identity Orchestrator Security Assertion Markup Language (SAML) oder OpenID Connect (OIDC)-Connectors
- Einfache Konfiguration – Verbinden von Maverics Identity Orchestrator SAML- oder OIDC-Connectors mit Azure AD B2C
Voraussetzungen
Zunächst benötigen Sie Folgendes:
Ein Azure-Abonnement
- Wenn Sie kein Konto haben, können Sie ein kostenloses Azure-Konto erhalten.
- Einen Azure AD B2C-Mandanten, der mit Ihrem Azure-Abonnement verknüpft ist
- Eine Instanz von Azure Key Vault zum Speichern von geheimen Schlüsseln, die von Maverics Identity Orchestrator verwendet werden. Stellen Sie eine Verbindung mit Azure AD B2C oder anderen Attributanbietern her, z. B. einem LDAP-Verzeichnis (Lightweight Directory Access Protocol) oder einer Datenbank.
- Eine Instanz von Maverics Identity Orchestrator , die auf einem virtuellen Azure-Computer (VM) oder einem lokalen Server ausgeführt wird. Um Software und Dokumentation zu erhalten, wechseln Sie zu strata.io Contact Strata Identity.
- Eine lokale Anwendung für den Übergang zu Azure AD B2C
Szenariobeschreibung
Die Maverics Identity Orchestrator-Integration umfasst die folgenden Komponenten:
-
Azure AD B2C – Der Autorisierungsserver, der Benutzeranmeldeinformationen überprüft
- Authentifizierte Benutzer greifen mithilfe eines lokalen Kontos im Azure AD B2C-Verzeichnis auf lokale Apps zu
- Externer Anbieter für soziale Netzwerke oder Unternehmensidentitäten (IdP): Ein OIDC-Anbieter, Facebook, Google oder GitHub
- Strata Maverics Identity Orchestrator: Der Benutzeranmeldungsdienst, der die Identität über HTTP-Header an Apps übergibt
Das folgende Architekturdiagramm zeigt die Implementierung.
- Der Benutzer fordert den Zugriff auf die lokal gehostete Anwendung an. Maverics Identity Orchestrator leitet die Anforderung an die Anwendung weiter.
- Orchestrator überprüft den Benutzerauthentifizierungsstatus. Wenn kein Sitzungstoken vorhanden ist oder das Token ungültig ist, wechselt der Benutzer zur Authentifizierung an Azure AD B2C.
- Azure AD B2C sendet die Authentifizierungsanforderung an den konfigurierten idP für soziale Netzwerke.
- Der IdP fordert den Nutzer zur Eingabe von Anmeldeinformationen auf. Die mehrstufige Authentifizierung (Multifactor Authentication, MFA) ist möglicherweise erforderlich.
- Der IdP sendet die Authentifizierungsantwort an Azure AD B2C. Der Benutzer kann ein lokales Konto im Azure AD B2C-Verzeichnis erstellen.
- Azure AD B2C sendet die Benutzeranforderung an den Endpunkt, der während der Orchestrator-App-Registrierung im Azure AD B2C-Mandanten angegeben wurde.
- Der Orchestrator wertet Zugriffsrichtlinien und Attributwerte für HTTP-Header aus, die an die App weitergeleitet werden. Orchestrator ruft möglicherweise andere Attributanbieter auf, um Informationen abzurufen, um die Headerwerte festzulegen. Der Orchestrator sendet die Anforderung an die App.
- Der Benutzer ist authentifiziert und hat Zugriff auf die App.
Maverics Identity Orchestrator
Um Software und Dokumentation zu erhalten, wechseln Sie zu strata.io Contact Strata Identity. Ermitteln Sie die Voraussetzungen für den Orchestrator. Installieren und Konfigurieren.
Konfigurieren Sie Ihren Azure AD B2C-Mandanten
Dokumentieren Sie Folgendes, während Sie die folgenden Anweisungen ausführen:
- Mietername und Kennung
- Kunden-ID
- Geheimer Clientschlüssel
- Konfigurierte Ansprüche
- Umleitungs-URI
- Registrieren Sie eine Webanwendung in Azure Active Directory B2C im Mandanten von Azure AD B2C.
- Erteilen Sie Ihren Anwendungen Microsoft MS Graph-API-Berechtigungen. Verwendung von Berechtigungen:
offline_access,openid. - Fügen Sie einen Umleitungs-URI hinzu, der dem
oauthRedirectURLParameter der Orchestrator Azure AD B2C-Connectorkonfiguration entspricht,https://example.com/oidc-endpointz. B. . - Erstellen von Benutzerflüssen und benutzerdefinierten Richtlinien in Azure Active Directory B2C.
- Fügen Sie Ihrem Azure Active Directory B2C-Mandanten einen Identitätsanbieter hinzu. Melden Sie sich mit einem lokalen Konto, einem Social-Media-Konto oder einem Unternehmenskonto bei Ihrem Benutzerkonto an.
- Definieren Sie die Attribute, die während der Registrierung erfasst werden sollen.
- Geben Sie Attribute an, die mit Ihrer Orchestrator-Instanz an die Anwendung zurückgegeben werden sollen.
Hinweis
Der Orchestrator verwendet Attribute aus von Azure AD B2C zurückgegebenen Ansprüchen und kann Attribute aus verbundenen Identitätssystemen wie LDAP-Verzeichnissen und Datenbanken abrufen. Diese Attribute befinden sich in HTTP-Headern und werden an die vorgelagerte lokale Anwendung gesendet.
Konfigurieren von Maverics Identity Orchestrator
Verwenden Sie die Anweisungen in den folgenden Abschnitten, um eine Orchestrator-Instanz zu konfigurieren.
Maverics Identity Orchestrator-Serveranforderungen
Sie können Ihre Orchestrator-Instanz auf einem beliebigen Server ausführen, unabhängig davon, ob sie lokal oder in einer öffentlichen Cloudinfrastruktur vom Anbieter wie Azure, AWS oder GCP ausgeführt werden.
- Betriebssystem: RHEL 7.7 oder höher
- Datenträger: 10 GB (klein)
- Arbeitsspeicher: 16 GB
- Ports: 22 (SSH/SCP), 443, 80
- Stammzugriff: Für Installations-/Verwaltungsaufgaben
-
Maverics Identity Orchestrator: Wird als Benutzer
mavericsausgeführt untersystemd - Ausgehender Netzwerkdatenverkehr: Von dem Server, auf dem Maverics Identity Orchestrator gehostet wird, der Ihren Microsoft Entra-Mandanten erreichen kann.
Installieren von Maverics Identity Orchestrator
Holen Sie sich das neueste Maverics RPM-Paket.
Platzieren Sie das Paket auf dem System, das Sie maverics installieren möchten. Wenn Sie auf einen Remotehost kopieren, verwenden Sie SSH-Scp.
Führen Sie den folgenden Befehl aus. Verwenden Sie Ihren Dateinamen, um
maverics.rpmzu ersetzen.sudo rpm -Uvf maverics.rpmStandardmäßig befindet sich Maverics im
/usr/local/binVerzeichnis.Maverics wird als Service unter
systemdausgeführt.Führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Maverics-Dienst ausgeführt wird:
sudo service maverics statusDie folgende Meldung (oder ähnlich) wird angezeigt.
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
Hinweis
Wenn Maverics nicht gestartet werden kann, führen Sie den folgenden Befehl aus:
journalctl --unit=maverics.service --reverse
Der letzte Protokolleintrag wird in der Ausgabe angezeigt.
- Die Standarddatei
maverics.yamlwird im/etc/mavericsVerzeichnis erstellt. - Konfigurieren Sie Ihren Orchestrator, um die Anwendung zu schützen.
- Integrieren mit Azure AD B2C und speichern.
- Rufen Sie geheime Schlüssel aus Azure Key Vault ab.
- Definieren Sie den Speicherort, an dem der Orchestrator seine Konfiguration liest.
Bereitstellungskonfiguration mit Umgebungsvariablen
Konfigurieren Sie Ihre Orchestrator-Instanzen mit Umgebungsvariablen.
MAVERICS_CONFIG
Diese Umgebungsvariable informiert die Orchestrator-Instanz darüber, welche YAML-Konfigurationsdateien verwendet werden sollen und wo sie beim Start oder Neustart gefunden werden sollen. Legen Sie die Umgebungsvariable in /etc/maverics/maverics.env.
Erstellen der Orchestrator-TLS-Konfiguration
Das tls Feld in maverics.yaml deklariert die Sicherheitskonfigurationen der Transportschicht, die Ihre Orchestrator-Instanz verwendet. Connectors verwenden TLS-Objekte und den Orchestrator-Server.
Der maverics Schlüssel ist für den Orchestrator-Server reserviert. Verwenden Sie andere Schlüssel, um ein TLS-Objekt in einen Connector einzufügen.
tls:
maverics:
certFile: /etc/maverics/maverics.cert
keyFile: /etc/maverics/maverics.key
Konfigurieren des Azure AD B2C-Connectors
Orchestratoren verwenden Connectors zur Integration mit Authentifizierungs- und Attributanbietern. Das Orchestrators-App-Gateway verwendet den Azure AD B2C-Connector als Authentifizierungs- und Attributanbieter. Azure AD B2C verwendet den sozialen IdP für die Authentifizierung und stellt dann Attribute für den Orchestrator bereit, indem sie in einem Anspruchssatz in HTTP-Headern übergeben werden.
Die Connectorkonfiguration entspricht der App, die im Azure AD B2C-Mandanten registriert ist.
- Kopieren Sie aus Ihrer App-Konfiguration die Client-ID, den geheimen Clientschlüssel und den Umleitungs-URI in Ihren Mandanten.
- Geben Sie einen Connectornamen ein (Beispiel:
azureADB2C). - Legen Sie den Verbinder
typeaufazurefest. - Notieren Sie sich den Connectornamen. Sie verwenden diesen Wert in anderen Konfigurationsparametern.
- Legen Sie
authTypeaufoidcfest. - Legen Sie für den
oauthClientIDParameter die client-ID fest, die Sie kopiert haben. - Legen Sie für den
oauthClientSecretParameter den geheimen Clientschlüssel fest, den Sie kopiert haben. - Legen Sie für den
oauthRedirectURLParameter den umleitungs-URI fest, den Sie kopiert haben. - Der Azure AD B2C-OIDC-Connector verwendet den OIDC-Endpunkt, um Metadaten zu ermitteln, einschließlich URLs und Signaturschlüsseln. Verwenden Sie
oidcWellKnownURLals Mandantenendpunkt.
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
Definieren von Azure AD B2C als Authentifizierungsanbieter
Ein Authentifizierungsanbieter bestimmt die Authentifizierung für Benutzer, die während einer App-Ressourcenanforderung keine gültige Sitzung präsentieren. Die Konfiguration des Azure AD B2C-Mandanten bestimmt, wie Benutzer zur Eingabe ihrer Anmeldeinformationen aufgefordert werden, während andere Authentifizierungsrichtlinien angewendet werden. Ein Beispiel besteht darin, dass ein zweiter Faktor erforderlich ist, um die Authentifizierung abzuschließen und zu entscheiden, was nach der Authentifizierung an das Orchestrator-App-Gateway zurückgegeben wird.
Der Wert für authProvider muss Ihrem Connector-Wert name entsprechen.
authProvider: azureADB2C
Schützen Sie lokal gehostete Apps mit einem Orchestrator-App-Gateway
Die Orchestrator App Gateway-Konfiguration deklariert, wie Azure AD B2C Ihre Anwendung schützt und wie Benutzer auf die App zugreifen.
- Geben Sie einen App-Gatewaynamen ein.
- Legen Sie die
locationfest. Im Beispiel wird der App-Stamm verwendet/. - Definieren Sie die geschützte Anwendung in
upstream. Verwenden Sie die Host:Port-Konvention:https://example.com:8080. - Legen Sie die Werte für Fehler und nicht autorisierte Seiten fest.
- Definieren Sie die HTTP-Headernamen und Attributwerte für die Anwendung, um die Authentifizierung und Kontrolle einzurichten. Kopfzeilennamen entsprechen in der Regel der App-Konfiguration. Attributwerte werden vom Connector namespaced. Im Beispiel werden von Azure AD B2C zurückgegebene Werte dem Connectornamen
azureADB2Cvorangestellt. Das Suffix ist der Attributname mit dem erforderlichen Wert, z. Bgiven_name. . - Legen Sie die Richtlinien fest. Drei Aktionen sind definiert:
allowUnauthenticated,allowAnyAuthenticated, undallowIfAny. Jede Aktion ist einemresource-Element zugeordnet. Die Richtlinie wird für diesesresource-Element ausgewertet.
Hinweis
headers und policies verwenden JavaScript- oder GoLang-Diensterweiterungen, um beliebige Logik zu implementieren.
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 als geheimer Anbieter
Schützen Sie die Geheimnisse, die Ihr Orchestrator zum Herstellen einer Verbindung mit Azure AD B2C und anderen Identitätssystemen verwendet. Maverics lädt Geheimnisse im Nur-Text-Format aus maverics.yaml. In diesem Tutorial verwenden Sie jedoch Azure Key Vault als Geheimnisanbieter.
Folgen Sie den Anweisungen in der Schnellstartanleitung: Festlegen und Abrufen eines geheimen Schlüssels aus Azure Key Vault mithilfe des Azure-Portals. Fügen Sie Ihre Geheimnisse dem Tresor hinzu, und notieren Sie sich SECRET NAME für jedes Geheimnis. Beispiel: AzureADB2CClientSecret.
Um einen Wert als Geheimnis in einer maverics.yaml Konfigurationsdatei zu deklarieren, umschließen Sie das Geheimnis mit spitzen Klammern.
connectors:
- name: AzureADB2C
type: azure
oauthClientID: <AzureADB2CClientID>
oauthClientSecret: <AzureADB2CClientSecret>
Der in spitzen Klammern angegebene Wert muss dem SECRET NAME-Wert entsprechen, der einem Geheimnis in Azure Key Vault zugewiesen ist.
Um Geheimnisse aus Azure Key Vault zu laden, legen Sie die Umgebungsvariable MAVERICS_SECRET_PROVIDER in der Datei /etc/maverics/maverics.envmit den Anmeldeinformationen fest, die Sie in der azure-credentials.json Datei finden. Verwenden Sie das folgende Muster:
MAVERICS_SECRET_PROVIDER='azurekeyvault://<KEYVAULT NAME>.vault.azure.net?clientID=<APPID>&clientSecret=<PASSWORD>&tenantID=<TENANT>'
Abschließen der Konfiguration
Die folgenden Informationen veranschaulichen, wie die Orchestratorkonfiguration angezeigt wird.
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
Testen des Flows
- Navigieren Sie zur lokalen Anwendungs-URL,
https://example.com/sonar/dashboard. - Der Orchestrator leitet zur Seite mit dem Benutzerflow um.
- Wählen Sie in der Liste den Identitätsanbieter aus.
- Geben Sie Anmeldeinformationen einschließlich eines MFA-Tokens ein, wenn dies vom Identitätsanbieter angefordert wird.
- Sie werden zu Azure AD B2C umgeleitet, das die App-Anforderung an die Umleitungs-URI des Orchestrators weiterleitet.
- Der Orchestrator wertet Richtlinien aus und berechnet Header.
- Die angeforderte Anwendung wird angezeigt.