Share via


Självstudie för att konfigurera Azure Active Directory B2C med Strata

I den här självstudien lär du dig att integrera Azure Active Directory B2C (Azure AD B2C) med Strata Maverics Identity Orchestrator, som hjälper dig att skydda lokala program. Den ansluter till identitetssystem, migrerar användare och autentiseringsuppgifter, synkroniserar principer och konfigurationer samt abstraherar autentiserings- och sessionshantering. Använd Strata för att gå från äldre till Azure AD B2C utan att skriva om program.

Lösningen har följande fördelar:

  • Enkel inloggning för kunder (SSO) till lokala hybridappar – Azure AD B2C stöder kund-SSO med Maverics Identity Orchestrator
    • Användare loggar in med konton som finns i Azure AD B2C eller identitetsprovider (IdP)
    • Maverics bevisar enkel inloggning för appar som tidigare skyddats av äldre identitetssystem som Symantec SiteMinder
  • Utöka standard-SSO till appar – Använd Azure AD B2C för att hantera användaråtkomst och aktivera enkel inloggning med Maverics Identity Orchestrator Security Assertion Markup Language (SAML) eller OpenID Connect-anslutningsappar (OIDC)
  • Enkel konfiguration – Ansluta Maverics Identity Orchestrator SAML- eller OIDC-anslutningsappar till Azure AD B2C

Förutsättningar

För att komma igång behöver du:

  • En Azure AD B2C-klientorganisation som är länkad till din Azure-prenumeration
  • En instans av Azure Key Vault för att lagra hemligheter som används av Maverics Identity Orchestrator. Anslut till Azure AD B2C eller andra attributprovidrar, till exempel en katalog eller databas för Lightweight Directory Access Protocol (LDAP).
  • En instans av Maverics Identity Orchestrator som körs på en virtuell Azure-dator (VM) eller en lokal server. Om du vill hämta programvara och dokumentation går du till strata.io Kontakta Strata Identity.
  • Ett lokalt program som ska övergå till Azure AD B2C

Scenariobeskrivning

Maverics Identity Orchestrator-integrering innehåller följande komponenter:

  • Azure AD B2C – auktoriseringsservern som verifierar användarautentiseringsuppgifter
    • Autentiserade användare får åtkomst till lokala appar med ett lokalt konto i katalogen Azure AD B2C
  • Extern leverantör av sociala identiteter eller företagsidentiteter (IdP): En OIDC-provider, Facebook, Google eller GitHub
  • Strata Maverics Identity Orchestrator: Tjänsten för användarinloggning som skickar identitet till appar via HTTP-huvuden

Följande arkitekturdiagram visar implementeringen.

Diagram över Azure AD B2C-integreringsarkitektur, med Maverics Identity Orchestrator, för åtkomst till hybridappar.

  1. Användaren begär åtkomst till det lokala värdbaserade programmet. Maverics Identity Orchestrator proxyger begäran till programmet.
  2. Orchestrator kontrollerar användarautentiseringstillståndet. Om det inte finns någon sessionstoken eller om token är ogiltig går användaren till Azure AD B2C för autentisering
  3. Azure AD B2C skickar autentiseringsbegäran till den konfigurerade sociala IdP:n.
  4. IdP:t utmanar användaren om autentiseringsuppgifter. Multifaktorautentisering (MFA) kan krävas.
  5. IdP skickar autentiseringssvaret till Azure AD B2C. Användaren kan skapa ett lokalt konto i katalogen Azure AD B2C.
  6. Azure AD B2C skickar användarbegäran till slutpunkten som angavs under Orchestrator-appregistreringen i Azure AD B2C-klientorganisationen.
  7. Orchestrator utvärderar åtkomstprinciper och attributvärden för HTTP-huvuden som vidarebefordras till appen. Orchestrator kan anropa andra attributprovidrar för att hämta information för att ange huvudvärdena. Orchestrator skickar begäran till appen.
  8. Användaren autentiseras och har åtkomst till appen.

Maverics Identity Orchestrator

Om du vill hämta programvara och dokumentation går du till strata.io Kontakta Strata Identity. Fastställa krav för Orchestrator. Installera och konfigurera.

Konfigurera din Azure AD B2C-klientorganisation

Under följande instruktioner dokumenterar du:

  • Klientorganisationsnamn och identifierare
  • Klient-ID
  • Klienthemlighet
  • Konfigurerade anspråk
  • Omdirigerings-URI
  1. Registrera ett webbprogram i Azure Active Directory B2C i Azure AD B2C-klientorganisation.
  2. Ge Microsoft MS Graph API behörigheter till dina program. Använd behörigheter: offline_access, openid.
  3. Lägg till en omdirigerings-URI som matchar oauthRedirectURL parametern för Orchestrator Azure AD B2C-anslutningskonfiguration, https://example.com/oidc-endpointtill exempel .
  4. Skapa användarflöden och anpassade principer i Azure Active Directory B2C.
  5. Lägg till en identitetsprovider i din Azure Active Directory B2C-klientorganisation. Logga in din användare med ett lokalt konto, ett socialt konto eller ett företag.
  6. Definiera de attribut som ska samlas in under registreringen.
  7. Ange attribut som ska returneras till programmet med Orchestrator-instansen.

Anteckning

Orchestrator använder attribut från anspråk som returneras av Azure AD B2C och kan hämta attribut från anslutna identitetssystem som LDAP-kataloger och databaser. Dessa attribut finns i HTTP-huvuden och skickas till det överordnade lokala programmet.

Konfigurera Maverics Identity Orchestrator

Använd anvisningarna i följande avsnitt för att konfigurera en Orchestrator-instans.

Serverkrav för Maverics Identity Orchestrator

Du kan köra Orchestrator-instansen på valfri server, antingen lokalt eller i en offentlig molninfrastruktur efter leverantör som Azure, AWS eller GCP.

  • Operativsystem: REHL 7,7 eller senare, CentOS 7+
  • Disk: 10 GB (liten)
  • Minne: 16 GB
  • Portar: 22 (SSH/SCP), 443, 80
  • Rotåtkomst: För installation/administrativa uppgifter
  • Maverics Identity Orchestrator: Körs som användare maverics under systemd
  • Utgående nätverk: Från servern som är värd för Maverics Identity Orchestrator som kan nå din Microsoft Entra klientorganisation

Installera Maverics Identity Orchestrator

  1. Hämta det senaste Maverics RPM-paketet.

  2. Placera paketet på det system som du vill installera Maverics. Om du kopierar till en fjärrvärd använder du SSH scp.

  3. Kör följande kommando. Använd filnamnet för att ersätta maverics.rpm.

    sudo rpm -Uvf maverics.rpm

    Som standard finns Maverics i /usr/local/bin katalogen.

  4. Maverics körs som en tjänst under systemd.

  5. Kontrollera att Maverics-tjänsten körs genom att köra följande kommando:

    sudo service maverics status

  6. Följande meddelande (eller liknande) visas.

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

Anteckning

Om Maverics inte kan starta kör du följande kommando:

journalctl --unit=maverics.service --reverse

Den senaste loggposten visas i utdata.

  1. maverics.yaml Standardfilen skapas i /etc/maverics katalogen.
  2. Konfigurera Orchestrator för att skydda programmet.
  3. Integrera med Azure AD B2C och lagra.
  4. Hämta hemligheter från Azure Key Vault.
  5. Definiera platsen där Orchestrator läser dess konfiguration.

Ange konfiguration med hjälp av miljövariabler

Konfigurera Orchestrator-instanserna med miljövariabler.

MAVERICS_CONFIG

Den här miljövariabeln informerar Orchestrator-instansen om vilka YAML-konfigurationsfiler som ska användas och var du hittar dem under start eller omstart. Ange miljövariabeln i /etc/maverics/maverics.env.

Skapa Orchestrator TLS-konfigurationen

Fältet tls i maverics.yaml deklarerar de säkerhetskonfigurationer på transportnivå som orchestrator-instansen använder. Anslutningsappar använder TLS-objekt och Orchestrator-servern.

Nyckeln maverics är reserverad för Orchestrator-servern. Använd andra nycklar för att mata in ett TLS-objekt i en anslutningsapp.

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

Konfigurera Azure AD B2C Connector

Orchestrators använder anslutningsappar för att integrera med autentiserings- och attributprovidrar. Orchestrators App Gateway använder Azure AD B2C-anslutningsappen som autentiserings- och attributprovider. Azure AD B2C använder det sociala IdP:t för autentisering och tillhandahåller sedan attribut till Orchestrator och skickar dem i anspråk som anges i HTTP-huvuden.

Anslutningskonfigurationen motsvarar appen som är registrerad i Azure AD B2C-klientorganisation.

  1. Kopiera klient-ID, klienthemlighet och omdirigerings-URI till din klientorganisation från appkonfigurationen.
  2. Ange ett anslutningsnamn (exempel är azureADB2C).
  3. Ange anslutningsappen type till azure.
  4. Anteckna namnet på anslutningsappen. Du använder det här värdet i andra konfigurationsparametrar.
  5. authType Ange till oidc.
  6. För parametern oauthClientID anger du det klient-ID som du kopierade.
  7. För parametern oauthClientSecret anger du den klienthemlighet som du kopierade.
  8. För parametern oauthRedirectURL anger du den omdirigerings-URI som du kopierade.
  9. Azure AD B2C OIDC Connector använder OIDC-slutpunkten för att identifiera metadata, inklusive URL:er och signeringsnycklar. För klientslutpunkten använder du 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

Definiera Azure AD B2C som autentiseringsprovider

En autentiseringsprovider avgör autentisering för användare som inte presenterar en giltig session under en appresursbegäran. Azure AD B2C-klientkonfigurationen avgör hur användare uppmanas att ange autentiseringsuppgifter, medan andra autentiseringsprinciper tillämpas. Ett exempel är att kräva en andra faktor för att slutföra autentiseringen och bestämma vad som ska returneras till Orchestrator App Gateway efter autentisering.

Värdet för authProvider måste matcha anslutningsappens name värde.

authProvider: azureADB2C

Skydda lokala appar med en Orchestrator App Gateway

Orchestrator App Gateway-konfigurationen förklarar hur Azure AD B2C skyddar ditt program och hur användarna får åtkomst till appen.

  1. Ange ett appgatewaynamn.
  2. locationAnge . I exemplet används approten /.
  3. Definiera det skyddade programmet i upstream. Använd host:port-konventionen: https://example.com:8080.
  4. Ange värden för fel och obehöriga sidor.
  5. Definiera HTTP-huvudnamn och attributvärden för programmet för att upprätta autentisering och kontroll. Rubriknamn motsvarar vanligtvis appkonfiguration. Attributvärden namnges av anslutningsappen. I exemplet är värden som returneras från Azure AD B2C prefixet med anslutningsappens namn azureADB2C. Suffixet är attributnamnet med det nödvändiga värdet, till exempel given_name.
  6. Ange principerna. Tre åtgärder definieras: allowUnauthenticated, allowAnyAuthenticatedoch allowIfAny. Varje åtgärd är associerad med en resource. Principen utvärderas för det resource.

Anteckning

headers och policies använda JavaScript- eller GoLang-tjänsttillägg för att implementera godtycklig 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

Azure Key Vault som leverantör av hemligheter

Skydda hemligheterna som Orchestrator använder för att ansluta till Azure AD B2C och andra identitetssystem. Maverics läser in hemligheter i oformaterad text från maverics.yaml, men i den här självstudien använder du Azure Key Vault som leverantör av hemligheter.

Följ anvisningarna i Snabbstart: Ange och hämta en hemlighet från Azure Key Vault med hjälp av Azure Portal. Lägg till dina hemligheter i valvet och anteckna SECRET NAME för varje hemlighet. Till exempel AzureADB2CClientSecret.

Om du vill deklarera ett värde som en hemlighet i en maverics.yaml konfigurationsfil omsluter du hemligheten med vinkelparenteser:

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

Värdet inom vinkelparenteserna måste motsvara den SECRET NAME som ges till en hemlighet i din Azure-Key Vault.

Om du vill läsa in hemligheter från Azure Key Vault anger du miljövariabeln MAVERICS_SECRET_PROVIDER i filen /etc/maverics/maverics.envmed autentiseringsuppgifterna i filen azure-credentials.json. Använd följande mönster:

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

Slutför konfigurationen

Följande information illustrerar hur Orchestrator-konfiguration visas.

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

Testa flödet

  1. Gå till den lokala program-URL:en, https://example.com/sonar/dashboard.
  2. Orchestrator omdirigeras till användarflödessidan.
  3. Välj IdP i listan.
  4. Ange autentiseringsuppgifter, inklusive en MFA-token, om det krävs av IdP.
  5. Du omdirigeras till Azure AD B2C, som vidarebefordrar appbegäran till Orchestrator-omdirigerings-URI:n.
  6. Orchestrator utvärderar principer och beräknar rubriker.
  7. Det begärda programmet visas.

Nästa steg