Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.
Z tego samouczka dowiesz się, jak zintegrować usługę Azure Active Directory B2C (Azure AD B2C) z aplikacją Strata Maverics Identity Orchestrator, która pomaga chronić aplikacje lokalne. Łączy się z systemami tożsamości, migruje użytkowników i poświadczenia, synchronizuje zasady i konfiguracje oraz tworzy abstrakcję uwierzytelniania i zarządzania sesjami. Użyj warstwy Strata, aby przejść ze starszej wersji do usługi Azure AD B2C bez ponownego zapisywania aplikacji.
Oferuje ono następujące korzyści:
-
Logowanie jednokrotne klienta do lokalnych aplikacji hybrydowych — usługa Azure AD B2C obsługuje logowanie jednokrotne klienta przy użyciu programu Maverics Identity Orchestrator
- Użytkownicy logują się przy użyciu kont hostowanych w usłudze Azure AD B2C lub dostawcy tożsamości (IdP)
- Narzędzie Maverics potwierdza jednokrotne logowanie do aplikacji zabezpieczonych historycznie przez starsze systemy tożsamości, takie jak Symantec SiteMinder
- Rozszerzanie standardowego logowania jednokrotnego do aplikacji — używanie usługi Azure AD B2C do zarządzania dostępem użytkowników i włączania logowania jednokrotnego za pomocą łączników maverics Identity Orchestrator Security Assertion Markup Language (SAML) lub OpenID Connect (OIDC)
- Łatwa konfiguracja — łączenie łączników SAML lub OIDC programu Maverics Identity Orchestrator z usługą Azure AD B2C
Wymagania wstępne
Aby rozpocząć pracę, potrzebne są następujące elementy:
Subskrypcja platformy Azure
- Jeśli go nie masz, możesz uzyskać bezpłatne konto platformy Azure
- dzierżawa usługi Azure AD B2C połączona z subskrypcją platformy Azure
- Instancja Azure Key Vault do przechowywania wpisów tajnych używanych przez program Maverics Identity Orchestrator. Połącz się z usługą Azure AD B2C lub innymi dostawcami atrybutów, takimi jak katalog lub baza danych protokołu LDAP (Lightweight Directory Access Protocol).
- Wystąpienie programu Maverics Identity Orchestrator uruchomione na maszynie wirtualnej platformy Azure lub na serwerze lokalnym. Aby uzyskać oprogramowanie i dokumentację, wejdź na strata.io Skontaktuj się z firmą Strata.
- Aplikacja lokalna do przejścia do usługi Azure AD B2C
Opis scenariusza
Integracja programu Maverics Identity Orchestrator obejmuje następujące składniki:
-
Azure AD B2C — serwer autoryzacji, który weryfikuje poświadczenia użytkownika
- Uwierzytelnieni użytkownicy uzyskują dostęp do aplikacji lokalnych przy użyciu konta lokalnego w katalogu usługi Azure AD B2C
- Zewnętrzny dostawca tożsamości społecznościowych lub firmowych (IdP):: dostawca OIDC, Facebook, Google lub GitHub
- Strata Maverics Identity Orchestrator: usługa logowania użytkownika, która przekazuje tożsamość do aplikacji za pośrednictwem nagłówków HTTP
Poniższy diagram architektury przedstawia implementację.
- Użytkownik żąda dostępu do lokalnej aplikacji hostowanej. Maverics Identity Orchestrator działa jako proxy, które przesyła żądanie do aplikacji.
- Program Orchestrator sprawdza stan uwierzytelniania użytkownika. Jeśli nie ma tokenu sesji lub token jest nieprawidłowy, użytkownik przechodzi do usługi Azure AD B2C w celu uwierzytelnienia
- Usługa Azure AD B2C wysyła żądanie uwierzytelniania do skonfigurowanego dostawcy tożsamości społecznościowej.
- Dostawca tożsamości wyzywuje użytkownika pod kątem poświadczeń. Może być wymagane uwierzytelnianie wieloskładnikowe (MFA).
- Dostawca tożsamości (IdP) wysyła odpowiedź uwierzytelnienia do usługi Azure AD B2C. Użytkownik może utworzyć konto lokalne w katalogu usługi Azure AD B2C.
- Azure AD B2C wysyła żądanie użytkownika do punktu końcowego określonego podczas rejestracji aplikacji Orchestrator w dzierżawie Azure AD B2C.
- Program Orchestrator ocenia zasady dostępu i wartości atrybutów dla nagłówków HTTP przekazywanych do aplikacji. Orchestrator może wywołać innych dostawców atrybutów, aby pobrać informacje potrzebne do ustawienia wartości nagłówka. Program Orchestrator wysyła żądanie do aplikacji.
- Użytkownik jest uwierzytelniany i ma dostęp do aplikacji.
Maverics Identity Orchestrator
Aby uzyskać oprogramowanie i dokumentację, wejdź na strata.io Skontaktuj się z firmą Strata. Określanie wymagań wstępnych programu Orchestrator. Instalowanie i konfigurowanie.
Konfigurowanie dzierżawy usługi Azure AD B2C
Podczas poniższych instrukcji dokumentuj:
- Nazwa i identyfikator dzierżawy
- ID klienta
- Tajemnica klienta
- Skonfigurowane oświadczenia
- URI przekierowania
- Zarejestruj aplikację internetową w usłudze Azure Active Directory B2C w dzierżawie Azure AD B2C.
- Udziel aplikacji uprawnień interfejsu API programu Microsoft MS Graph. Użyj uprawnień:
offline_access,openid. - Dodaj identyfikator URI przekierowania zgodny z parametrem
oauthRedirectURLkonfiguracji łącznika usługi Azure AD B2C programu Orchestrator, na przykładhttps://example.com/oidc-endpoint. - Tworzenie przepływów użytkownika i zasad niestandardowych w usłudze Azure Active Directory B2C.
- Dodaj dostawcę tożsamości do dzierżawy usługi Azure Active Directory B2C. Zaloguj się przy użyciu konta lokalnego, konta społecznościowego lub przedsiębiorstwa.
- Zdefiniuj atrybuty, które mają być zbierane podczas rejestracji.
- Określ atrybuty, które mają być zwracane do aplikacji przy użyciu wystąpienia programu Orchestrator.
Uwaga / Notatka
Program Orchestrator używa atrybutów z oświadczeń zwracanych przez usługę Azure AD B2C i może pobierać atrybuty z połączonych systemów tożsamości, takich jak katalogi LDAP i bazy danych. Te atrybuty znajdują się w nagłówkach HTTP i są wysyłane do nadrzędnej aplikacji lokalnej.
Konfigurowanie programu Maverics Identity Orchestrator
Skorzystaj z instrukcji w poniższych sekcjach, aby skonfigurować wystąpienie programu Orchestrator.
Wymagania dotyczące serwera programu Maverics Identity Orchestrator
Wystąpienie programu Orchestrator można uruchomić na dowolnym serwerze, zarówno lokalnie, jak i w infrastrukturze chmury publicznej według dostawcy, takiego jak Azure, AWS lub GCP.
- System operacyjny: RHEL 7.7 lub nowszy
- Dysk: 10 GB (mały)
- Pamięć: 16 GB
- Porty: 22 (SSH/SCP), 443, 80
- Dostęp główny: w przypadku zadań instalacji/administracyjnych
-
Maverics Identity Orchestrator: działa jako użytkownik
mavericsw obszarzesystemd - Ruch wychodzący sieci: z serwera obsługującego program Maverics Identity Orchestrator, który może dotrzeć do dzierżawy usługi Microsoft Entra
Instalowanie programu Maverics Identity Orchestrator
Pobierz najnowszy pakiet Maverics RPM.
Umieść pakiet w systemie, na którym chcesz zainstalować Maverics. Jeśli kopiujesz do zdalnego hosta, użyj SSH scp.
Uruchom następujące polecenie. Użyj swojej nazwy pliku, aby zastąpić
maverics.rpm.sudo rpm -Uvf maverics.rpmDomyślnie program Maverics znajduje się w
/usr/local/binkatalogu .Program Maverics działa jako usługa w obszarze
systemd.Aby sprawdzić, czy usługa Maverics jest uruchomiona, uruchom następujące polecenie:
sudo service maverics statusZostanie wyświetlony następujący komunikat (lub podobny).
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
Uwaga / Notatka
Jeśli uruchomienie programu Maverics nie powiedzie się, wykonaj następujące polecenie:
journalctl --unit=maverics.service --reverse
Najnowszy wpis dziennika zostanie wyświetlony w danych wyjściowych.
-
maverics.yamlDomyślny plik jest tworzony w/etc/mavericskatalogu. - Skonfiguruj program Orchestrator w celu ochrony aplikacji.
- Integracja z usługą Azure AD B2C i przechowywanie.
- Pobierz tajemnice z usługi Azure Key Vault.
- Zdefiniuj lokalizację, z której program Orchestrator odczytuje jego konfigurację.
Podaj konfigurację przy użyciu zmiennych środowiskowych
Skonfiguruj swoje instancje Orchestrator z użyciem zmiennych środowiskowych.
MAVERICS_CONFIG
Ta zmienna środowiskowa informuje wystąpienie programu Orchestrator o plikach konfiguracji YAML do użycia oraz o tym, gdzie można je znaleźć podczas uruchamiania lub ponownego uruchamiania. Ustaw zmienną środowiskową w pliku /etc/maverics/maverics.env.
Tworzenie konfiguracji protokołu TLS programu Orchestrator
Pole tls w pliku maverics.yaml deklaruje konfiguracje zabezpieczeń warstwy transportu używane przez wystąpienie programu Orchestrator. Łączniki używają obiektów TLS i serwera Orchestrator.
Klucz maverics jest zarezerwowany dla serwera Orchestrator. Użyj innych kluczy, aby wstrzyknąć obiekt TLS do łącznika.
tls:
maverics:
certFile: /etc/maverics/maverics.cert
keyFile: /etc/maverics/maverics.key
Konfigurowanie łącznika usługi Azure AD B2C
Koordynatorzy używają łączników do integracji z dostawcami uwierzytelniania i atrybutów. Usługa Orchestrators App Gateway używa łącznika usługi Azure AD B2C jako dostawcy uwierzytelniania i atrybutów. Usługa Azure AD B2C używa dostawcy tożsamości społecznościowej do uwierzytelniania, a następnie udostępnia atrybuty programu Orchestrator, przekazując je w oświadczeniach ustawionych w nagłówkach HTTP.
Konfiguracja konektora odpowiada aplikacji zarejestrowanej w dzierżawcy usługi Azure AD B2C.
- Z poziomu konfiguracji aplikacji skopiuj identyfikator klienta, klucz tajny klienta i identyfikator URI przekierowania do dzierżawy.
- Wprowadź nazwę łącznika (na przykład
azureADB2C). - Ustaw łącznik
typena wartośćazure. - Zanotuj nazwę łącznika. Użyjesz tej wartości w innych parametrach konfiguracji.
- Ustaw opcję
authTypenaoidc. - Dla parametru
oauthClientIDustaw skopiowany identyfikator klienta. - Dla parametru
oauthClientSecretustaw skopiowany klucz tajny klienta. - Dla parametru
oauthRedirectURLustaw URI przekierowania, który skopiowałeś. - Łącznik OIDC usługi Azure AD B2C używa punktu końcowego OIDC do odnajdywania metadanych, w tym adresów URL i kluczy podpisywania. W przypadku punktu końcowego najemcy użyj
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
Definiowanie usługi Azure AD B2C jako dostawcy uwierzytelniania
Dostawca uwierzytelniania określa uwierzytelnianie dla użytkowników, którzy nie przedstawiają prawidłowej sesji podczas żądania dostępu do zasobów aplikacji. Konfiguracja dzierżawy usługi Azure AD B2C określa sposób, w jaki użytkownicy są kwestionowani pod kątem poświadczeń, podczas gdy stosuje inne zasady uwierzytelniania. Przykładem jest wymaganie drugiego czynnika do ukończenia uwierzytelniania i podjęcie decyzji o tym, co jest zwracane do usługi Orchestrator App Gateway po uwierzytelnieniu.
Wartość authProvider musi być zgodna z wartością łącznika name.
authProvider: azureADB2C
Ochrona aplikacji lokalnych za pomocą usługi Orchestrator App Gateway
Konfiguracja usługi Orchestrator App Gateway deklaruje, jak usługa Azure AD B2C chroni aplikację i jak użytkownicy uzyskują dostęp do aplikacji.
- Wprowadź nazwę bramy aplikacji.
- Ustaw wartość
location. W przykładzie użyto katalogu głównego aplikacji/. - Zdefiniuj chronioną aplikację w pliku
upstream. Użyj konwencji host:port:https://example.com:8080. - Ustaw wartości błędów i nieautoryzowanych stron.
- Zdefiniuj nazwy nagłówków HTTP i wartości atrybutów dla aplikacji w celu ustanowienia uwierzytelniania i kontroli. Nazwy nagłówków zwykle odpowiadają konfiguracji aplikacji. Wartości atrybutów są przestrzeniami nazw łącznika. W tym przykładzie wartości zwracane z Azure AD B2C są poprzedzone nazwą
azureADB2Cłącznika. Sufiks jest nazwą atrybutu z wymaganą wartością, na przykładgiven_name. - Ustaw zasady. Zdefiniowano trzy akcje:
allowUnauthenticated,allowAnyAuthenticatediallowIfAny. Każda akcja jest skojarzona z elementemresource. Zasady są oceniane dla tegoresourceelementu.
Uwaga / Notatka
headers i policies używają rozszerzeń usług JavaScript lub GoLang, aby zaimplementować dowolną logikę.
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
Usługa Azure Key Vault jako dostawca wpisów tajnych
Zabezpiecz tajemnice, których Orchestrator używa do nawiązywania połączenia z Azure AD B2C oraz innymi systemami tożsamości. Usługa Maverics ładuje sekrety w postaci zwykłego tekstu z maverics.yaml, jednak w tym samouczku użyj Azure Key Vault jako dostawcy sekretów.
Postępuj zgodnie z instrukcjami w instrukcji Szybki start: ustawianie i pobieranie tajemnicy z usługi Azure Key Vault przy użyciu portalu Azure. Dodaj swoje sekrety do skarbca i zanotuj SECRET NAME dla każdego z nich. Na przykład AzureADB2CClientSecret.
Aby zadeklarować wartość jako tajemnicę w pliku konfiguracyjnym maverics.yaml, umieść ją w nawiasach kątowych.
connectors:
- name: AzureADB2C
type: azure
oauthClientID: <AzureADB2CClientID>
oauthClientSecret: <AzureADB2CClientSecret>
Wartość w nawiasach kątowych musi odpowiadać SECRET NAME podanemu wpisowi tajnemu w usłudze Azure Key Vault.
Aby załadować tajemnice z usługi Azure Key Vault, ustaw zmienną środowiskową MAVERICS_SECRET_PROVIDER w pliku /etc/maverics/maverics.env, przy użyciu poświadczeń znalezionych w pliku azure-credentials.json. Użyj następującego wzorca:
MAVERICS_SECRET_PROVIDER='azurekeyvault://<KEYVAULT NAME>.vault.azure.net?clientID=<APPID>&clientSecret=<PASSWORD>&tenantID=<TENANT>'
Ukończ konfigurację
Poniższe informacje ilustrują sposób wyświetlania konfiguracji programu 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
Testowanie przepływu
- Przejdź do adresu URL aplikacji lokalnej,
https://example.com/sonar/dashboard. - Program Orchestrator przekierowuje do strony przepływu użytkownika.
- Z listy wybierz IdP (dostawcę tożsamości).
- Wprowadź poświadczenia, w tym token MFA, jeśli jest to wymagane przez dostawcę tożsamości.
- Zostaniesz przekierowany do usługi Azure AD B2C, która następnie przekazuje żądanie aplikacji do adresu URL przekierowania Orchestratora.
- Program Orchestrator ocenia zasady i oblicza nagłówki.
- Zostanie wyświetlona żądana aplikacja.