Oktatóanyag az Azure Active Directory B2C stratával való konfigurálásához
Ebből az oktatóanyagból megtudhatja, hogyan integrálhatja az Azure Active Directory B2C-t (Azure AD B2C) a Strata Maverics Identity Orchestratorral, amely segít a helyszíni alkalmazások védelmében. Csatlakozik az identitásrendszerekhez, migrálja a felhasználókat és a hitelesítő adatokat, szinkronizálja a szabályzatokat és a konfigurációkat, valamint absztrahálja a hitelesítést és a munkamenet-kezelést. A Strata használatával az alkalmazások újraírása nélkül válthat az örököltről Azure AD B2C-re.
A megoldás a következő előnyökkel jár:
-
Ügyfél egyszeri bejelentkezése (SSO) helyszíni hibrid alkalmazásokba – Azure AD B2C támogatja az ügyfél egyszeri bejelentkezését a Maverics Identity Orchestrator használatával
- A felhasználók Azure AD B2C-ben vagy identitásszolgáltatóban (IDP) üzemeltetett fiókokkal jelentkeznek be
- A Maverics sSO-t bizonyít az olyan régi identitásrendszerek által védett alkalmazások számára, mint a Symantec SiteMinder
- Szabványok egyszeri bejelentkezésének kiterjesztése alkalmazásokra – A Azure AD felhasználói hozzáférés kezelése és az egyszeri bejelentkezés engedélyezése a Maverics Identity Orchestrator Security Assertion Markup Language (SAML) vagy az OpenID Connect (OIDC) összekötőivel
- Egyszerű konfiguráció – A Maverics Identity Orchestrator SAML- vagy OIDC-összekötőinek csatlakoztatása Azure AD B2C-hez
Előfeltételek
Az első lépésekhez a következőkre lesz szüksége:
Azure-előfizetés
- Ha nem rendelkezik ilyen fiókkal, ingyenes Azure-fiókot kaphat
- Azure-előfizetéshez társított Azure AD B2C-bérlő
- Az Azure Key Vault egy példánya, amely a Maverics Identity Orchestrator által használt titkos kulcsokat tárolja. Csatlakozzon Azure AD B2C-hez vagy más attribútumszolgáltatókhoz, például egy Lightweight Directory Access Protocol- (LDAP-) címtárhoz vagy adatbázishoz.
- Egy Azure-beli virtuális gépen (VM- vagy helyszíni kiszolgálón) futó Maverics Identity Orchestrator-példány . A szoftver és a dokumentáció beszerzéséhez lépjen strata.io Kapcsolatfelvétel a Strata Identity szolgáltatással.
- Egy helyszíni alkalmazás, amely Azure AD B2C-be szeretne váltani
Forgatókönyv leírása
A Maverics Identity Orchestrator integrációja a következő összetevőket tartalmazza:
-
Azure AD B2C – A felhasználói hitelesítő adatokat ellenőrző engedélyezési kiszolgáló
- A hitelesített felhasználók helyi fiókkal férnek hozzá a helyszíni alkalmazásokhoz a Azure AD B2C-címtárban
- Külső közösségi vagy vállalati identitásszolgáltató (IdP):OIDC-szolgáltató, Facebook, Google vagy GitHub
- Strata Maverics Identity Orchestrator: A felhasználói bejelentkezési szolgáltatás, amely HTTP-fejléceken keresztül továbbítja az identitást az alkalmazásoknak
Az alábbi architektúradiagram az implementációt mutatja be.
- A felhasználó hozzáférést kér a helyszíni üzemeltetett alkalmazáshoz. A Maverics Identity Orchestrator proxyt ad az alkalmazásnak.
- Az Orchestrator ellenőrzi a felhasználó hitelesítési állapotát. Ha nincs munkamenet-jogkivonat, vagy a jogkivonat érvénytelen, a felhasználó a hitelesítéshez Azure AD B2C-hez fordul
- Azure AD B2C elküldi a hitelesítési kérést a konfigurált közösségi identitásszolgáltatónak.
- Az identitásszolgáltató kihívást jelent a felhasználónak a hitelesítő adatokhoz. Előfordulhat, hogy többtényezős hitelesítésre (MFA) van szükség.
- Az identitásszolgáltató elküldi a hitelesítési választ Azure AD B2C-nek. A felhasználó létrehozhat egy helyi fiókot a Azure AD B2C könyvtárban.
- Azure AD B2C elküldi a felhasználói kérést a Azure AD B2C-bérlőben az Orchestrator alkalmazásregisztrációja során megadott végpontnak.
- Az Orchestrator kiértékeli az alkalmazásnak továbbított HTTP-fejlécek hozzáférési szabályzatait és attribútumértékeit. Az Orchestrator meghívhat más attribútumszolgáltatókat a fejlécértékek beállításához szükséges információk lekéréséhez. Az Orchestrator elküldi a kérelmet az alkalmazásnak.
- A felhasználó hitelesítése megtörtént, és hozzáféréssel rendelkezik az alkalmazáshoz.
Maverics Identity Orchestrator
A szoftver és a dokumentáció beszerzéséhez lépjen strata.io Kapcsolatfelvétel a Strata Identity szolgáltatással. Az Orchestrator előfeltételeinek meghatározása. Telepítés és konfigurálás.
A Azure AD B2C-bérlő konfigurálása
A következő utasítások során dokumentumot kell tartalmaznia:
- Bérlő neve és azonosítója
- Ügyfél-azonosító
- Titkos ügyfélkulcs
- Konfigurált jogcímek
- Átirányítási URI
- Webalkalmazás regisztrálása az Azure Active Directory B2C-ben Azure AD B2C-bérlőben.
- Adjon a Microsoft MS Graph API engedélyeket az alkalmazásoknak. Használja a következő engedélyeket:
offline_access
,openid
. - Adjon hozzá egy átirányítási URI-t, amely megfelel az
oauthRedirectURL
Orchestrator Azure AD B2C-összekötő konfigurációjának, példáulhttps://example.com/oidc-endpoint
: . - Felhasználói folyamatok és egyéni szabályzatok létrehozása az Azure Active Directory B2C-ben.
- Adjon hozzá egy identitásszolgáltatót az Azure Active Directory B2C-bérlőhöz. Jelentkezzen be a felhasználóba egy helyi fiókkal, egy közösségi vagy vállalati fiókkal.
- Határozza meg a regisztráció során gyűjtendő attribútumokat.
- Adja meg az Orchestrator-példánysal az alkalmazásnak visszaküldött attribútumokat.
Megjegyzés
Az Orchestrator a Azure AD B2C által visszaadott jogcímek attribútumait használja fel, és le tudja kérni az attribútumokat a csatlakoztatott identitásrendszerekből, például LDAP-címtárakból és adatbázisokból. Ezek az attribútumok HTTP-fejlécekben találhatók, és a felsőbb rétegbeli helyszíni alkalmazásnak vannak elküldve.
A Maverics Identity Orchestrator konfigurálása
Az Orchestrator-példány konfigurálásához kövesse az alábbi szakaszok utasításait.
A Maverics Identity Orchestrator kiszolgálókövetelményei
Az Orchestrator-példányt bármely kiszolgálón futtathatja, akár a helyszínen, akár nyilvános felhőinfrastruktúrában olyan szolgáltató, mint az Azure, az AWS vagy a GCP.
- Operációs rendszer: REHL 7.7 vagy újabb, CentOS 7+
- Lemez: 10 GB (kicsi)
- Memória: 16 GB
- Portok: 22 (SSH/SCP), 443, 80
- Gyökérszintű hozzáférés: Telepítési/felügyeleti feladatokhoz
-
Maverics Identity Orchestrator: Felhasználóként
maverics
fut asystemd
- Hálózati kimenő forgalom: A Maverics Identity Orchestratort üzemeltető kiszolgálóról, amely el tudja érni a Microsoft Entra bérlőt
A Maverics Identity Orchestrator telepítése
Szerezze be a legújabb Maverics RPM-csomagot.
Helyezze a csomagot arra a rendszerre, amelyre telepíteni szeretné a Mavericset. Ha távoli gazdagépre másol, használja az SSH scp-t.
Futtassa az alábbi parancsot. A fájlnév használatával cserélje le a következőt
maverics.rpm
: .sudo rpm -Uvf maverics.rpm
Alapértelmezés szerint a Maverics a
/usr/local/bin
könyvtárban van.A Maverics szolgáltatásként fut a alatt
systemd
.A Maverics szolgáltatás futásának ellenőrzéséhez futtassa a következő parancsot:
sudo service maverics status
Ekkor megjelenik a következő üzenet (vagy hasonló).
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
Megjegyzés
Ha a Maverics nem indul el, hajtsa végre a következő parancsot:
journalctl --unit=maverics.service --reverse
A kimenetben a legutóbbi naplóbejegyzés jelenik meg.
- Az alapértelmezett
maverics.yaml
fájl a/etc/maverics
könyvtárban jön létre. - Konfigurálja az Orchestratort az alkalmazás védelmére.
- Integrálható Azure AD B2C-vel és tárolóval.
- Titkos kulcsok lekérése az Azure Key Vault-ból.
- Adja meg azt a helyet, ahonnan az Orchestrator beolvassa a konfigurációját.
Konfiguráció megadása környezeti változók használatával
Konfigurálja az Orchestrator-példányokat környezeti változókkal.
MAVERICS_CONFIG
Ez a környezeti változó tájékoztatja az Orchestrator-példányt a használni kívánt YAML-konfigurációs fájlokról, valamint arról, hogy hol találhatók az indítás vagy újraindítás során. Állítsa be a környezeti változót a következőben: /etc/maverics/maverics.env
.
Az Orchestrator TLS-konfigurációjának létrehozása
A tls
mező maverics.yaml
deklarálja az Orchestrator-példány által használt átviteli réteg biztonsági konfigurációit. Az összekötők TLS-objektumokat és az Orchestrator-kiszolgálót használják.
A maverics
kulcs az Orchestrator-kiszolgáló számára van fenntartva. Más kulcsok használatával TLS-objektumot szúrhat be egy összekötőbe.
tls:
maverics:
certFile: /etc/maverics/maverics.cert
keyFile: /etc/maverics/maverics.key
A Azure AD B2C-összekötő konfigurálása
Az vezénylők összekötőkkel integrálhatók a hitelesítés- és attribútumszolgáltatókkal. Az Orchestrators App Gateway a Azure AD B2C-összekötőt használja hitelesítés- és attribútumszolgáltatóként. Azure AD B2C a közösségi identitásszolgáltatót használja a hitelesítéshez, majd attribútumokat biztosít az Orchestratornak, és átadja őket a HTTP-fejlécekben beállított jogcímeknek.
Az összekötő konfigurációja megfelel az Azure AD B2C-bérlőben regisztrált alkalmazásnak.
- Az alkalmazáskonfigurációból másolja az ügyfél-azonosítót, az ügyfélkulcsot, és irányítsa át az URI-t a bérlőbe.
- Adjon meg egy összekötőnevet (például:
azureADB2C
). - Állítsa az összekötőt
type
értékreazure
. - Jegyezze fel az összekötő nevét. Ezt az értéket más konfigurációs paraméterekben fogja használni.
- Állítsa a értéket értékre
authType
oidc
. -
oauthClientID
A paraméterhez állítsa be a másolt ügyfél-azonosítót. -
oauthClientSecret
A paraméterhez állítsa be a másolt ügyfélkulcsot. -
oauthRedirectURL
A paraméterhez állítsa be a másolt átirányítási URI-t. - A Azure AD B2C OIDC-összekötő az OIDC-végpontot használja a metaadatok felderítésére, beleértve az URL-címeket és az aláírókulcsokat. A bérlői végponthoz használja a következőt
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
A Azure AD B2C meghatározása hitelesítésszolgáltatóként
A hitelesítésszolgáltató határozza meg azoknak a felhasználóknak a hitelesítését, akik nem mutatnak be érvényes munkamenetet az alkalmazás erőforrás-kérelme során. Azure AD B2C-bérlő konfigurációja határozza meg, hogy a felhasználók hogyan kérnek hitelesítő adatokat, miközben más hitelesítési házirendeket alkalmaz. Ilyen például egy második tényező megkövetelése a hitelesítés befejezéséhez, és annak eldöntése, hogy mi lesz visszaadva az Orchestrator App Gatewaynek a hitelesítés után.
A értékének authProvider
meg kell egyeznie az Összekötő name
értékével.
authProvider: azureADB2C
Helyszíni alkalmazások védelme Orchestrator-alkalmazásátjáróval
Az Orchestrator App Gateway konfigurációja deklarálja, hogy Azure AD B2C hogyan védi az alkalmazást, és hogyan férnek hozzá a felhasználók az alkalmazáshoz.
- Adjon meg egy App Gateway-nevet.
- Állítsa be a következőt
location
: . A példa az alkalmazás gyökerét/
használja. - Definiálja a védett alkalmazást a fájlban
upstream
. Használja a host:port konvenciót:https://example.com:8080
. - Állítsa be a hiba és a jogosulatlan oldalak értékeit.
- Adja meg az alkalmazás HTTP-fejlécnevét és attribútumértékét a hitelesítés és vezérlés létrehozásához. A fejlécnevek általában az alkalmazás konfigurációjának felelnek meg. Az attribútumértékeket az összekötő névtérbe rendezi. A példában a Azure AD B2C által visszaadott értékek az Összekötő nevével
azureADB2C
vannak előtaggal ellátva. Az utótag a szükséges értékkel rendelkező attribútum neve, példáulgiven_name
: . - Állítsa be a szabályzatokat. Három művelet van definiálva:
allowUnauthenticated
,allowAnyAuthenticated
ésallowIfAny
. Minden művelet egyresource
-hez van társítva. A szabályzat kiértékelése a következőhöz történik:resource
.
Megjegyzés
headers
és policies
JavaScript- vagy GoLang-szolgáltatásbővítmények használatával tetszőleges logikát valósíthat meg.
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
Az Azure Key Vault titkos kódszolgáltatóként
Az Orchestrator által a Azure AD B2C-hez és más identitásrendszerekhez való csatlakozáshoz használt titkos kódok védelme. A Maverics egyszerű szövegbe tölti be maverics.yaml
a titkos kódokat, ebben az oktatóanyagban azonban az Azure Key Vault-t használja titkos kódszolgáltatóként.
Kövesse a Következő rövid útmutató: Titkos kód beállítása és lekérése az Azure Key Vault-ból a Azure Portal használatával című témakör utasításait. Adja hozzá a titkos kulcsokat a tárolóhoz, és jegyezze fel az SECRET NAME
egyes titkos kulcsokat. Például: AzureADB2CClientSecret
.
Ha egy értéket titkos kódként szeretne deklarálni egy maverics.yaml
konfigurációs fájlban, szögletes zárójelekkel burkolja be a titkos kódot:
connectors:
- name: AzureADB2C
type: azure
oauthClientID: <AzureADB2CClientID>
oauthClientSecret: <AzureADB2CClientSecret>
A szögletes zárójelek értékének meg kell felelnie az SECRET NAME
Azure-Key Vault titkos kódjának.
Az Azure Key Vault titkos kulcsainak betöltéséhez állítsa be a környezeti változót MAVERICS_SECRET_PROVIDER
a fájlban /etc/maverics/maverics.env
az azure-credentials.json fájlban található hitelesítő adatokkal. Használja a következő mintát:
MAVERICS_SECRET_PROVIDER='azurekeyvault://<KEYVAULT NAME>.vault.azure.net?clientID=<APPID>&clientSecret=<PASSWORD>&tenantID=<TENANT>'
A konfiguráció befejezése
Az alábbi információk az Orchestrator konfigurációjának megjelenését szemléltetik.
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
A folyamat tesztelése
- Keresse meg a helyszíni alkalmazás URL-címét.
https://example.com/sonar/dashboard
- Az Orchestrator átirányítja a felhasználói folyamat lapjára.
- A listából válassza ki az identitásszolgáltatót.
- Adja meg a hitelesítő adatokat, beleértve az MFA-jogkivonatot is, ha az identitásszolgáltató megköveteli.
- A rendszer átirányítja a Azure AD B2C-be, amely továbbítja az alkalmazáskérést az Orchestrator átirányítási URI-jának.
- Az Orchestrator kiértékeli a szabályzatokat, és kiszámítja a fejléceket.
- Megjelenik a kért alkalmazás.