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é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 Azure AD B2C integrációs architektúrájának ábrája a Maverics Identity Orchestratorral a hibrid alkalmazásokhoz való hozzáféréshez.

  1. A felhasználó hozzáférést kér a helyszíni üzemeltetett alkalmazáshoz. A Maverics Identity Orchestrator proxyt ad az alkalmazásnak.
  2. 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
  3. Azure AD B2C elküldi a hitelesítési kérést a konfigurált közösségi identitásszolgáltatónak.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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
  1. Webalkalmazás regisztrálása az Azure Active Directory B2C-ben Azure AD B2C-bérlőben.
  2. Adjon a Microsoft MS Graph API engedélyeket az alkalmazásoknak. Használja a következő engedélyeket: offline_access, openid.
  3. 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: .
  4. Felhasználói folyamatok és egyéni szabályzatok létrehozása az Azure Active Directory B2C-ben.
  5. 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.
  6. Határozza meg a regisztráció során gyűjtendő attribútumokat.
  7. 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 a systemd
  • 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

  1. Szerezze be a legújabb Maverics RPM-csomagot.

  2. 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.

  3. 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.

  4. A Maverics szolgáltatásként fut a alatt systemd.

  5. A Maverics szolgáltatás futásának ellenőrzéséhez futtassa a következő parancsot:

    sudo service maverics status

  6. 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.

  1. Az alapértelmezett maverics.yaml fájl a /etc/maverics könyvtárban jön létre.
  2. Konfigurálja az Orchestratort az alkalmazás védelmére.
  3. Integrálható Azure AD B2C-vel és tárolóval.
  4. Titkos kulcsok lekérése az Azure Key Vault-ból.
  5. 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.

  1. 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.
  2. Adjon meg egy összekötőnevet (például: azureADB2C).
  3. Állítsa az összekötőt type értékre azure.
  4. Jegyezze fel az összekötő nevét. Ezt az értéket más konfigurációs paraméterekben fogja használni.
  5. Állítsa a értéket értékre authTypeoidc.
  6. oauthClientID A paraméterhez állítsa be a másolt ügyfél-azonosítót.
  7. oauthClientSecret A paraméterhez állítsa be a másolt ügyfélkulcsot.
  8. oauthRedirectURL A paraméterhez állítsa be a másolt átirányítási URI-t.
  9. 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.

  1. Adjon meg egy App Gateway-nevet.
  2. Állítsa be a következőt location: . A példa az alkalmazás gyökerét /használja.
  3. Definiálja a védett alkalmazást a fájlban upstream. Használja a host:port konvenciót: https://example.com:8080.
  4. Állítsa be a hiba és a jogosulatlan oldalak értékeit.
  5. 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 azureADB2Cvannak előtaggal ellátva. Az utótag a szükséges értékkel rendelkező attribútum neve, például given_name: .
  6. Állítsa be a szabályzatokat. Három művelet van definiálva: allowUnauthenticated, allowAnyAuthenticatedés allowIfAny. Minden művelet egy resource-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.yamla 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.envaz 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

  1. Keresse meg a helyszíni alkalmazás URL-címét. https://example.com/sonar/dashboard
  2. Az Orchestrator átirányítja a felhasználói folyamat lapjára.
  3. A listából válassza ki az identitásszolgáltatót.
  4. Adja meg a hitelesítő adatokat, beleértve az MFA-jogkivonatot is, ha az identitásszolgáltató megköveteli.
  5. 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.
  6. Az Orchestrator kiértékeli a szabályzatokat, és kiszámítja a fejléceket.
  7. Megjelenik a kért alkalmazás.

Következő lépések