Sdílet prostřednictvím


Kurz konfigurace Azure Active Directory B2C se službou Strata

V tomto kurzu se naučíte integrovat Azure Active Directory B2C (Azure AD B2C) s nástrojem Strata Maverics Identity Orchestrator, který pomáhá chránit místní aplikace. Připojuje se k systémům identit, migruje uživatele a přihlašovací údaje, synchronizuje zásady a konfigurace a abstrahuje ověřování a správu relací. Použijte Strata k přechodu ze starší verze na Azure AD B2C bez přepisování aplikací.

Toto řešení má následující výhody:

  • Jednotné přihlašování zákazníka k místním hybridním aplikacím – Azure AD B2C podporuje jednotné přihlašování zákazníka s využitím nástroje Maverics Identity Orchestrator
    • Uživatelé se přihlašují pomocí účtů hostovaných v Azure AD B2C nebo zprostředkovatel identity (IdP).
    • Maverics dokazuje jednotné přihlašování k aplikacím, které jsou historicky zabezpečené staršími systémy identit, jako je Symantec SiteMinder.
  • Rozšíření jednotného přihlašování podle standardů na aplikace – pomocí Azure AD B2C můžete spravovat přístup uživatelů a povolit jednotné přihlašování pomocí konektorů SAML (Security Assertion Markup Language) nebo OpenID Connect (OIDC) maverics Identity Orchestrator.
  • Snadná konfigurace – Připojení konektorů SAML nebo OIDC nástroje Maverics Identity Orchestrator k Azure AD B2C

Požadavky

Abyste mohli začít, budete potřebovat:

  • Tenant Azure AD B2C propojený s vaším předplatným Azure
  • Instance Azure Key Vault k ukládání tajných kódů používaných nástrojem Maverics Identity Orchestrator. Připojte se k Azure AD B2C nebo k jiným poskytovatelům atributů, jako je adresář nebo databáze protokolu LDAP (Lightweight Directory Access Protocol).
  • Instance nástroje Maverics Identity Orchestrator spuštěná na virtuálním počítači Azure nebo na místním serveru. Pokud chcete získat software a dokumentaci, přejděte na strata.io Contact Strata Identity.
  • Místní aplikace pro přechod na Azure AD B2C

Popis scénáře

Integrace Nástroje Maverics Identity Orchestrator zahrnuje následující komponenty:

  • Azure AD B2C – autorizační server, který ověřuje přihlašovací údaje uživatele
    • Ověření uživatelé přistupují k místním aplikacím pomocí místního účtu v adresáři Azure AD B2C.
  • Externí zprostředkovatel sociální nebo podnikové identity (IdP): Poskytovatel OIDC, Facebook, Google nebo GitHub
  • Strata Maverics Identity Orchestrator: Přihlašovací služba uživatele, která předává identitu aplikacím prostřednictvím hlaviček HTTP

Následující diagram architektury znázorňuje implementaci.

Diagram architektury integrace Azure AD B2C s nástrojem Maverics Identity Orchestrator pro přístup k hybridním aplikacím

  1. Uživatel požádá o přístup k místně hostované aplikaci. Maverics Identity Orchestrator proxy odešle požadavek do aplikace.
  2. Orchestrator kontroluje stav ověřování uživatele. Pokud token relace neexistuje nebo je token neplatný, uživatel přejde k ověření do Azure AD B2C.
  3. Azure AD B2C odešle žádost o ověření nakonfigurované sociální zprostředkovateli identity.
  4. Zprostředkovatele identity vyzve uživatele k zadání přihlašovacích údajů. Může se vyžadovat vícefaktorové ověřování (MFA).
  5. Zprostředkovatel identity odešle odpověď na ověření do Azure AD B2C. Uživatel může vytvořit místní účet v adresáři Azure AD B2C.
  6. Azure AD B2C odešle požadavek uživatele do koncového bodu zadaného při registraci aplikace Orchestrator v tenantovi Azure AD B2C.
  7. Orchestrator vyhodnocuje zásady přístupu a hodnoty atributů pro hlavičky HTTP předávané aplikaci. Orchestrator může zavolat jiné zprostředkovatele atributů, aby načetl informace a nastavil hodnoty hlaviček. Orchestrator odešle požadavek do aplikace.
  8. Uživatel je ověřený a má přístup k aplikaci.

Maverics Identity Orchestrator

Pokud chcete získat software a dokumentaci, přejděte na strata.io Contact Strata Identity. Určete požadavky nástroje Orchestrator. Nainstalujte a nakonfigurujte.

Konfigurace tenanta Azure AD B2C

V následujících pokynech zdokumentujte:

  • Název a identifikátor tenanta
  • ID klienta
  • Tajný klíč klienta
  • Nakonfigurované deklarace identity
  • Identifikátor URI pro přesměrování
  1. Registrace webové aplikace v Azure Active Directory B2C v tenantovi Azure AD B2C
  2. Udělte microsoft MS Graph API oprávnění k vašim aplikacím. Použít oprávnění: offline_access, openid.
  3. Přidejte identifikátor URI přesměrování, který odpovídá parametru oauthRedirectURL konfigurace konektoru Orchestrator Azure AD B2C, například https://example.com/oidc-endpoint.
  4. Vytváření toků uživatelů a vlastních zásad v Azure Active Directory B2C
  5. Přidejte zprostředkovatele identity do tenanta Azure Active Directory B2C. Přihlaste se k uživateli pomocí místního účtu, sociální sítě nebo podniku.
  6. Definujte atributy, které se mají shromažďovat během registrace.
  7. Zadejte atributy, které se mají vrátit do aplikace pomocí instance nástroje Orchestrator.

Poznámka

Orchestrator využívá atributy z deklarací identity vrácené Azure AD B2C a může načítat atributy z připojených systémů identit, jako jsou adresáře a databáze LDAP. Tyto atributy jsou v hlavičkách PROTOKOLU HTTP a odesílají se do upstreamové místní aplikace.

Konfigurace nástroje Maverics Identity Orchestrator

Podle pokynů v následujících částech nakonfigurujte instanci nástroje Orchestrator.

Požadavky na server Maverics Identity Orchestrator

Instanci orchestratoru můžete spustit na libovolném serveru, ať už místně nebo ve veřejné cloudové infrastruktuře, pomocí poskytovatele, jako je Azure, AWS nebo GCP.

  • Operační systém: REHL 7.7 nebo vyšší, CentOS 7+
  • Disk: 10 GB (malý)
  • Paměť: 16 GB
  • Porty: 22 (SSH/SCP), 443, 80
  • Přístup uživatele root: Pro úlohy instalace nebo správy
  • Maverics Identity Orchestrator: Spustí se jako uživatel maverics v rámci systemd
  • Výchozí přenos dat v síti: Ze serveru hostujícího nástroj Maverics Identity Orchestrator, který se může připojit k vašemu tenantovi Microsoft Entra

Instalace nástroje Maverics Identity Orchestrator

  1. Získejte nejnovější balíček Maverics RPM.

  2. Umístěte balíček do systému, který chcete nainstalovat Maverics. Pokud kopírujete na vzdáleného hostitele, použijte SSH scp.

  3. Spusťte následující příkaz. Nahraďte názvem souboru maverics.rpm.

    sudo rpm -Uvf maverics.rpm

    Ve výchozím nastavení je Maverics v adresáři /usr/local/bin .

  4. Maverics běží jako služba v rámci systemd.

  5. Pokud chcete ověřit, že je služba Maverics spuštěná, spusťte následující příkaz:

    sudo service maverics status

  6. Zobrazí se následující zpráva (nebo podobná).

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

Poznámka

Pokud se Maverics nepodaří spustit, spusťte následující příkaz:

journalctl --unit=maverics.service --reverse

Ve výstupu se zobrazí nejnovější položka protokolu.

  1. Výchozí maverics.yaml soubor se vytvoří v adresáři /etc/maverics .
  2. Nakonfigurujte Orchestrator tak, aby chránil aplikaci.
  3. Integrace s Azure AD B2C a ukládání.
  4. Načtěte tajné kódy z Azure Key Vault.
  5. Definujte umístění, ze kterého orchestrator čte svoji konfiguraci.

Zadání konfigurace pomocí proměnných prostředí

Nakonfigurujte instance orchestratoru pomocí proměnných prostředí.

MAVERICS_CONFIG

Tato proměnná prostředí informuje instanci orchestratoru, jaké konfigurační soubory YAML použít a kde je najít při spuštění nebo restartování. Nastavte proměnnou prostředí v /etc/maverics/maverics.envsouboru .

Vytvoření konfigurace TLS orchestratoru

Pole tls v maverics.yaml deklaruje konfigurace zabezpečení přenosové vrstvy, které používá instance nástroje Orchestrator. Konektory používají objekty TLS a server Orchestratoru.

Klíč maverics je vyhrazený pro server Orchestratoru. K vložení objektu TLS do konektoru použijte jiné klíče.

tls:
  maverics:
    certFile: /etc/maverics/maverics.cert
    keyFile: /etc/maverics/maverics.key

Konfigurace konektoru Azure AD B2C

Orchestrátory používají konektory k integraci se zprostředkovateli ověřování a atributů. Služba Orchestrators App Gateway používá konektor Azure AD B2C jako zprostředkovatele ověřování a atributů. Azure AD B2C používá k ověřování zprostředkovatele identity na sociálních sítích a pak orchestrátoru poskytuje atributy a předává je v deklaracích identity nastavených v hlavičkách PROTOKOLU HTTP.

Konfigurace konektoru odpovídá aplikaci zaregistrované v tenantovi Azure AD B2C.

  1. Z konfigurace aplikace zkopírujte DO tenanta ID klienta, tajný klíč klienta a identifikátor URI pro přesměrování.
  2. Zadejte název konektoru (příklad je azureADB2C).
  3. Nastavte konektor type na azure.
  4. Poznamenejte si název konektoru. Tuto hodnotu použijete v dalších konfiguračních parametrech.
  5. Nastavte na authTypeoidc.
  6. oauthClientID Jako parametr nastavte ID klienta, které jste zkopírovali.
  7. oauthClientSecret Jako parametr nastavte tajný klíč klienta, který jste zkopírovali.
  8. oauthRedirectURL Pro parametr nastavte identifikátor URI přesměrování, který jste zkopírovali.
  9. Konektor Azure AD B2C OIDC používá koncový bod OIDC ke zjišťování metadat, včetně adres URL a podpisových klíčů. Pro koncový bod tenanta použijte 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

Definování Azure AD B2C jako zprostředkovatele ověřování

Zprostředkovatel ověřování určuje ověřování pro uživatele, kteří během žádosti o prostředek aplikace nepředvádějí platnou relaci. Azure AD konfigurace tenanta B2C určuje, jak budou uživatelé vyzváni k zadání přihlašovacích údajů, zatímco se použijí další zásady ověřování. Příkladem je vyžadování druhého faktoru k dokončení ověřování a rozhodnutí, co se po ověření vrátí do služby Orchestrator App Gateway.

Hodnota musí odpovídat hodnotě authProvider konektoru name .

authProvider: azureADB2C

Ochrana místních aplikací pomocí služby Orchestrator App Gateway

Konfigurace služby Orchestrator App Gateway deklaruje, jak Azure AD B2C chrání vaši aplikaci a jak k aplikaci přistupují uživatelé.

  1. Zadejte název brány aplikace.
  2. Nastavte .location V příkladu se používá kořen /aplikace .
  3. Definujte chráněnou aplikaci v upstreamnástroji . Použijte konvenci host:port: https://example.com:8080.
  4. Nastavte hodnoty chybových a neoprávněných stránek.
  5. Definujte názvy hlaviček HTTP a hodnoty atributů pro aplikaci, aby se navázalo ověřování a řízení. Názvy hlaviček obvykle odpovídají konfiguraci aplikace. Hodnoty atributů jsou oborem názvů názvového prostoru konektoru. V příkladu mají hodnoty vrácené z Azure AD B2C předponu s názvem azureADB2Ckonektoru . Přípona je název atributu s požadovanou hodnotou, například given_name.
  6. Nastavte zásady. Jsou definovány tři akce: allowUnauthenticated, allowAnyAuthenticateda allowIfAny. Každá akce je přidružená k .resource Pro tuto zásadu resourcese vyhodnocuje .

Poznámka

headers a policies k implementaci libovolné logiky použijte rozšíření služby JavaScript nebo GoLang.

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 jako poskytovatel tajných kódů

Zabezpečte tajné kódy, které orchestrator používá pro připojení k Azure AD B2C a dalším systémům identit. Maverics načítá tajné kódy v prostém textu z , ale v tomto kurzu jako poskytovatele tajných maverics.yamlkódů použije Azure Key Vault.

Postupujte podle pokynů v tématu Rychlý start: Nastavení a načtení tajného kódu z Azure Key Vault pomocí Azure Portal. Přidejte tajné kódy do trezoru a poznamenejte SECRET NAME si je pro každý tajný kód. Například, AzureADB2CClientSecret.

Pokud chcete deklarovat hodnotu jako tajný kód v konfiguračním maverics.yaml souboru, zabalte tajný kód do lomených závorek:

connectors:
  - name: AzureADB2C
    type: azure
    oauthClientID: <AzureADB2CClientID>
    oauthClientSecret: <AzureADB2CClientSecret>

Hodnota v lomených závorkách musí odpovídat SECRET NAME dané hodnotě tajnému kódu ve vaší Key Vault Azure.

Pokud chcete načíst tajné kódy z Azure Key Vault, nastavte proměnnou MAVERICS_SECRET_PROVIDER prostředí v souboru /etc/maverics/maverics.envs přihlašovacími údaji, které se nacházejí v souboru azure-credentials.json. Použijte následující vzor:

MAVERICS_SECRET_PROVIDER='azurekeyvault://<KEYVAULT NAME>.vault.azure.net?clientID=<APPID>&clientSecret=<PASSWORD>&tenantID=<TENANT>'

Dokončení konfigurace

Následující informace ukazují, jak vypadá konfigurace nástroje 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

Testování toku

  1. Přejděte na adresu URL https://example.com/sonar/dashboardmístní aplikace .
  2. Orchestrator přesměruje na stránku toku uživatele.
  3. V seznamu vyberte zprostředkovatele identity.
  4. Pokud to zprostředkovatel identity vyžaduje, zadejte přihlašovací údaje, včetně tokenu MFA.
  5. Budete přesměrováni na Azure AD B2C, která předá požadavek aplikace na identifikátor URI přesměrování orchestratoru.
  6. Orchestrator vyhodnocuje zásady a počítá hlavičky.
  7. Zobrazí se požadovaná aplikace.

Další kroky