Freigeben über


Konfigurieren von Azure Active Directory B2C mit Akamai Enterprise Application Access für einmaliges Anmelden (SSO) und sicheren Hybridzugriff

In diesem Beispieltutorial erfahren Sie, wie Sie die Azure Active Directory B2C-Authentifizierung (Azure AD B2C) mit Akamai Enterprise Application Access integrieren. Akamai Enterprise Application Access ist eine ZTNA-Lösung (Zero Trust Network Access), die den sicheren Remotezugriff auf moderne und ältere Anwendungen in privaten Rechenzentren ermöglicht. Zum Authentifizieren von Benutzern bildet Akamai Enterprise Application Access einen Verbund mit Azure AD B2C als Identitätsanbieter (Identity Provider, IdP). Anschließend werden auf Basis der Autorisierungsrichtlinien fortlaufend Identität, Gerät, Anwendung und Anforderungskontext ausgewertet, bevor der Zugriff auf private Anwendungen gestattet wird.

Dieses Feature ist nur für benutzerdefinierte Richtlinien verfügbar. Wählen Sie für die Einrichtungsschritte in der vorherigen Auswahl die Option Benutzerdefinierte Richtlinie aus.

Voraussetzungen

Zunächst benötigen Sie Folgendes:

  • Ein Akamai Enterprise Access-Vertrag. Wenn Sie noch keinen Vertrag haben, können Sie eine kostenlose Testversion abrufen.

  • Ein Azure-Abonnement. Falls Sie über kein Abonnement verfügen, können Sie ein kostenloses Azure-Konto verwenden.

  • Einen Azure AD B2C-Mandanten, der mit Ihrem Azure-Abonnement verknüpft ist.

  • Eine virtuelle Appliance hinter der Firewall in Ihrem Rechenzentrum oder in hybriden Cloud-Umgebungen für die Bereitstellung des Akamai Enterprise Application Access-Connectors.

  • Eine Anwendung, die Header für die Authentifizierung verwendet. In diesem Beispiel verwenden Sie eine Anwendung mit den Headern docker header-demo-app.

  • ODER eine OIDC-Anwendung (OpenID Connect). In diesem Beispiel verwenden Sie eine ASP.NET MVC-Web-App, die Benutzer über die OWIN-Middleware (Open Web Interface for .NET) und Microsoft Identity Platform anmeldet.

Beschreibung des Szenarios

In diesem Szenario aktivieren Sie die Azure AD B2C-Authentifizierung für Endbenutzer, wenn diese versuchen, auf private Anwendungen zuzugreifen, die durch Akamai Enterprise Application Access geschützt sind.

Folgende Komponenten sind Bestandteil dieser Integration:

  • Azure AD B2C: SAML-Identitätsanbieter (IdP), der für die Authentifizierung von Endbenutzern verantwortlich ist.

  • Akamai Enterprise Application Access: ZTNA-Clouddienst, der mit kontinuierlicher ZTNA-Richtlinienerzwingung für den sicheren Zugriff auf private Anwendungen verantwortlich ist.

  • Akamai Enterprise Application Access-Connector: Eine virtuelle Appliance, die im privaten Rechenzentrum bereitgestellt wird. Sie ermöglicht eine sichere Verbindung mit privaten Apps, ohne dass Firewallports des Rechenzentrums für den eingehenden Datenverkehr geöffnet werden.

  • Anwendung: Im privaten Rechenzentrum bereitgestellte(r) Dienst oder Anwendung, auf den bzw. die Endbenutzer zugreifen müssen.

Der Benutzer authentifiziert sich bei Azure AD B2C (als SAML-IdP), das mit einer SAML-Assertion an Akamai Enterprise Application Access (den Dienstanbieter) antwortet. Akamai Enterprise Application Access ordnet Informationen aus der SAML-Assertion zu und erstellt OpenID-Ansprüche oder fügt HTTP-Header ein, die Informationen zu dem jeweiligen Benutzer enthalten. Akamai Enterprise Application Access übergibt diese dann an die Anwendung, auf die über den Akamai Enterprise Application Access-Connector zugegriffen werden kann. Im vorliegenden Beispiel wird in der Anwendung der Inhalt dieser Header angezeigt. Bei einer OIDC-Anwendung werden die Ansprüche des Benutzers angezeigt.

Das folgende Diagramm zeigt die Integration von Akamai Enterprise Application Access (EAA) mit Azure AD B2C.

Screenshot shows the integration architecture.

  1. Ein Endbenutzer versucht, mithilfe der externen URL der Anwendung, die in Akamai Enterprise Application Access registriert ist, auf eine im privaten Rechenzentrum gehostete Anwendung zuzugreifen.

  2. Akamai Enterprise Application Access leitet den nicht authentifizierten Endbenutzer zur Authentifizierung an Azure AD B2C um.

  3. Nach erfolgreicher Authentifizierung leitet Azure AD B2C den Benutzer mit einer SAML-Assertion zurück zu Akamai Enterprise Application Access.

  4. Akamai Enterprise Application Access verwendet die Identitätsinformationen aus der SAML-Assertion, um den Benutzer zu identifizieren und zu ermitteln, ob dieser auf die angeforderte Anwendung zugreifen darf.

  5. Akamai Enterprise Application Access erstellt OIDC-Ansprüche oder fügt HTTP-Header ein, die an die Anwendung gesendet werden.

  6. Die Anwendung verwendet diese Informationen, um den authentifizierten Benutzer zu identifizieren, und erstellt eine Anwendungssitzung für den Endbenutzer.

Onboarding mit Akamai Enterprise Application Access

Informationen zu den ersten Schritten mit Akamai Enterprise Application Access finden Sie im Leitfaden „Erste Schritte mit Akamai Enterprise Application Access“.

Schritt 1: Hinzufügen von Azure AD B2C als SAML-IdP in Akamai Enterprise Application Access

Akamai Enterprise Application Access unterstützt den SAML-Verbund mit Cloud-Identitätsanbietern (IdPs) wie Azure AD B2C. Fügen Sie Azure AD B2C als Drittanbieter-SAML-IdP in Akamai Enterprise Application Access hinzu.

  1. Melden Sie sich im Enterprise Center https://control.akamai.com/ an.

  2. Wählen Sie im Enterprise Center im Navigationsmenü Anwendungszugriff > Identität & Benutzer > Identitätsanbieter aus.

  3. Wählen Sie Identitätsanbieter hinzufügen (+) aus.

  4. Geben Sie einen Namen und eine Beschreibung ein, und wählen Sie Drittanbieter-SAML als Anbietertyp aus.

  5. Wählen Sie Weiter. Die Seite für die Konfiguration des Identitätsanbieters wird geöffnet.

  6. Geben Sie unter Einstellungen>Allgemein eine URL für den Identitätsserver ein. Zur Auswahl stehen Akamai-Domäne verwenden oder „Ihre Domäne verwenden“. Bei Angabe Ihrer eigenen Domäne verwenden Sie ein selbstsigniertes Zertifikat oder das hochgeladene benutzerdefinierte Zertifikat.

  7. Geben Sie unter Authentifizierung dieselbe URL ein, die Sie im vorherigen Schritt unter „Allgemein“ definiert haben, und wählen Sie Speichern aus.

    Screenshot shows the akamai settings.

Schritt 2: Registrieren einer SAML-Anwendung in Azure AD B2C

  1. Holen Sie sich die Starter Packs für benutzerdefinierte Richtlinien-von GitHub, und aktualisieren Sie dann die XML-Dateien im Starter Pack „LocalAccounts“ mit dem Namen Ihres Azure AD B2C-Mandanten:

    • Laden Sie die ZIP-Datei herunter, oder klonen Sie das Repository:

      git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
      
    • Ersetzen Sie in allen Dateien im Verzeichnis LocalAccounts die Zeichenfolge yourtenant durch den Namen Ihres Azure AD B2C-Mandanten. Wenn z. B. der Name des B2C-Mandanten fabrikam lautet, werden alle Instanzen von yourtenant.onmicrosoft.com in fabrikam.onmicrosoft.com geändert.

  2. Erstellen Sie ein Signaturzertifikat für Azure AD B2C, um die an Akamai Enterprise Application Access gesendete SAML-Antwort zu signieren:

    a. Abrufen eines Zertifikats. Wenn Sie noch nicht über ein Zertifikat verfügen, können Sie ein selbstsigniertes Zertifikat verwenden.

    b. Hochladen des Zertifikats in Ihren Azure AD B2C-Mandanten. Notieren Sie sich den Namen, da Sie ihn im TechnicalProfile, das in den nächsten Schritten erwähnt wird, benötigen.

  3. Aktivieren Sie Ihre Richtlinie für die Verbindung mit einer SAML-Anwendung.

    a. Öffnen Sie LocalAccounts\TrustFrameworkExtensions.xml im Starter Pack für benutzerdefinierte Richtlinien. Suchen Sie nach dem Element ClaimsProviders. Wenn das Element nicht vorhanden ist, fügen Sie es unter dem Stammelement TrustFrameworkPolicy hinzu, und erweitern Sie es um den folgenden XML-Codeschnipsel, um Ihren SAML-Antwortgenerator zu implementieren:

     <ClaimsProvider>
       <DisplayName>Akamai</DisplayName>
       <TechnicalProfiles>
         <!-- SAML Token Issuer technical profile -->
         <TechnicalProfile Id="AkamaiSaml2AssertionIssuer">
           <DisplayName>Token Issuer</DisplayName>
           <Protocol Name="SAML2" />
           <OutputTokenFormat>SAML2</OutputTokenFormat>
           <Metadata>
             <Item Key="IssuerUri">https://<REPLACE>.login.go.akamai-access.com/saml/sp/response</Item>
           </Metadata>
           <CryptographicKeys>
             <Key Id="SamlAssertionSigning" StorageReferenceId="B2C_1A_AkamaiSAMLSigningCert" />
             <Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_AkamaiSAMLSigningCert" />
           </CryptographicKeys>
           <InputClaims />
           <OutputClaims />
           <UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-issuerAkamai" />
         </TechnicalProfile>
         <!-- Session management technical profile for SAML-based tokens -->
         <TechnicalProfile Id="SM-Saml-issuerAkamai">
           <DisplayName>Session Management Provider</DisplayName>
           <Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.SamlSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
           <Metadata>
             <Item Key="IncludeSessionIndex">false</Item>
             <Item Key="RegisterServiceProviders">false</Item>
           </Metadata>
         </TechnicalProfile>
       </TechnicalProfiles>
     </ClaimsProvider>
    

    b. Ersetzen Sie issuerUri durch die Akamai-URL, die Sie in Akamai Enterprise Application Access in Schritt 1 unter Einstellungen > Allgemein definiert haben.

    • Beispiel: <Item Key="IssuerUri">https://fabrikam.login.go.akamai-access.com/saml/sp/response</Item>

    • Ersetzen Sie B2C_1A_AkamaiSAMLSigningCert durch den Namen des hochgeladenen Richtlinienschlüssels.

Schritt 3: Erstellen einer für SAML konfigurierten Registrierungs- oder Anmelderichtlinie

  1. Erstellen Sie eine Kopie der Datei SignUpOrSignin.xml im Arbeitsverzeichnis Ihres Starter Packs, und speichern Sie sie unter einem neuen Namen. In diesem Artikel wird SignUpOrSigninSAML.xml als Beispiel verwendet. Diese Datei ist Ihre Richtliniendatei für die vertrauende Seite. Sie ist so konfiguriert, dass standardmäßig eine JWT-Antwort ausgestellt wird.

  2. Öffnen Sie die Datei SignUpOrSigninSAML.xml in Ihrem bevorzugten Editor.

  3. Aktualisieren Sie tenant-name mit dem Namen Ihres Azure AD B2C-Mandanten, und ändern Sie die Werte PolicyId und PublicPolicyUri der Richtlinie in B2C_1A_signup_signin_saml und http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml.

    <TrustFrameworkPolicy
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
    PolicySchemaVersion="0.3.0.0"
    TenantId="tenant-name.onmicrosoft.com"
    PolicyId="B2C_1A_signup_signin_saml"
    PublicPolicyUri="http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml">
    
  4. Am Ende der User Journey enthält Azure AD B2C einen Schritt SendClaims. Dieser Schritt verweist auf das technische Profil des Tokenausstellers. Wenn anstelle der standardmäßigen JWT-Antwort eine SAML-Antwort ausgegeben werden soll, ändern Sie den Schritt SendClaims so, dass auf das technische Profil des neuen SAML-Tokenausstellers (Saml2AssertionIssuer) verwiesen wird.

    Fügen Sie den folgenden XML-Codeausschnitt direkt vor dem <RelyingParty>-Element hinzu. Unter der Annahme, dass Sie die Starter Packs für benutzerdefinierte LocalAccount-Richtlinien verwenden, wird durch diesen XML-Code Schritt 4 der Orchestrierung in der SignUpOrSignIn-User Journey überschrieben.

    Wenn Sie aus einem anderen Ordner im Starter Pack gestartet sind oder die User Journey durch Hinzufügen oder Entfernen von Orchestrierungsschritten angepasst haben, stellen Sie sicher, dass die Schrittnummer im order-Element dem in der User Journey für den Tokenausstellerschritt angegebenen Wert entspricht. In den anderen Starter Pack-Ordnern wird analog beispielsweise Schrittnummer 7 für SocialAndLocalAccounts, 6 für SocialAccounts und 9 für SocialAndLocalAccountsWithMfa verwendet.

    <UserJourneys>
    <UserJourney Id="SignUpOrSignIn">
      <OrchestrationSteps>
        <OrchestrationStep Order="4" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="AkamaiSaml2AssertionIssuer"/>
      </OrchestrationSteps>
    </UserJourney>
    </UserJourneys>
    

    Das Element der vertrauenden Seite bestimmt, welches Protokoll von Ihrer Anwendung verwendet wird. Der Standardwert lautet OpenId. Das Protocol-Element muss in SAML geändert werden. Die Ausgabeansprüche erstellen die Anspruchszuordnung für die SAML-Assertion.

    Ersetzen Sie das gesamte <TechnicalProfile>-Element im <RelyingParty>-Element durch das folgende technische Profil-XML.

     <TechnicalProfile Id="PolicyProfile">
       <DisplayName>PolicyProfile</DisplayName>
       <Protocol Name="SAML2"/>
       <OutputClaims>
         <OutputClaim ClaimTypeReferenceId="displayName" />
         <OutputClaim ClaimTypeReferenceId="givenName" />
         <OutputClaim ClaimTypeReferenceId="surname" />
         <OutputClaim ClaimTypeReferenceId="email" DefaultValue="" />
         <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="" />
         <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="objectId"/>
       </OutputClaims>
       <SubjectNamingInfo ClaimType="objectId" ExcludeAsClaim="true"/>
     </TechnicalProfile>
    

    Die endgültige Richtliniendatei für die vertrauende Seite sollte wie der folgende XML-Code aussehen:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <TrustFrameworkPolicy
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
     PolicySchemaVersion="0.3.0.0"
     TenantId="fabrikam.onmicrosoft.com"
     PolicyId="B2C_1A_signup_signin_saml"
     PublicPolicyUri="http://fabrikam.onmicrosoft.com/B2C_1A_signup_signin_saml">
     <BasePolicy>
       <TenantId>fabrikam.onmicrosoft.com</TenantId>
       <PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId>
     </BasePolicy>
    
     <UserJourneys>
       <UserJourney Id="SignUpOrSignIn">
         <OrchestrationSteps>
           <OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="AkamaiSaml2AssertionIssuer"/>
         </OrchestrationSteps>
       </UserJourney>
     </UserJourneys>
     <RelyingParty>
       <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
       <TechnicalProfile Id="PolicyProfile">
         <DisplayName>PolicyProfile</DisplayName>
         <Protocol Name="SAML2"/>
         <OutputClaims>
           <OutputClaim ClaimTypeReferenceId="displayName" />
           <OutputClaim ClaimTypeReferenceId="givenName" />
           <OutputClaim ClaimTypeReferenceId="surname" />
           <OutputClaim ClaimTypeReferenceId="email" DefaultValue="" />
           <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="" />
           <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="objectId"/>
         </OutputClaims>
         <SubjectNamingInfo ClaimType="objectId" ExcludeAsClaim="true"/>
       </TechnicalProfile>
     </RelyingParty>
     </TrustFrameworkPolicy>
    

Hinweis

Auf die gleiche Weise können Sie auch andere Arten von Flows implementieren (z. B. Flows für die Anmeldung, Kennwortzurücksetzung oder Profilbearbeitung).

Schritt 4: Hochladen Ihrer Richtlinie

Speichern Sie Ihre Änderungen, und laden Sie die Datei TrustFrameworkBase.xml sowie die neuen Richtliniendateien TrustFrameworkExtensions.xml und SignUpOrSigninSAML.xml in das Azure-Portal hoch.

  1. Melden Sie sich beim Azure-Portal an.

  2. Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie das Symbol Einstellungen im Menü oben aus, um über das Menü Verzeichnisse + Abonnements zu Ihrem Azure AD B2C-Mandanten zu wechseln.

  3. Suchen Sie im Azure-Portal nach Azure AD B2C, und klicken Sie darauf.

  4. Klicken Sie unter „Richtlinien“ auf Identity Experience Framework. Wählen Sie Benutzerdefinierte Richtlinie hochladen aus, und laden Sie dann die beiden geänderten Richtliniendateien in der folgenden Reihenfolge hoch:

    • Die Basisdatei (z. B. TrustFrameworkBase.xml)
    • Die Erweiterungsrichtlinie (z. B. TrustFrameworkExtensions.xml)
    • Und dann die Richtlinie für die vertrauende Seite (z. B. SignUpOrSigninSAML.xml)

Schritt 5: Herunterladen der SAML-Metadaten von Azure AD B2C als Identitätsanbieter

Nachdem die Richtliniendateien hochgeladen wurden, generiert Azure AD B2C das von der Anwendung zu verwendende SAML-Metadatendokument des Identitätsanbieters anhand der Konfigurationsinformationen. Das SAML-Metadatendokument enthält die Speicherorte von Diensten wie Anmelde- und Abmeldemethoden und Zertifikate.

  • Die Azure AD B2C-Richtlinienmetadaten sind unter der URL https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/samlp/metadata verfügbar:

  • Ersetzen Sie <tenant-name> durch den Namen des Azure AD B2C-Mandanten. Ersetzen Sie <policy-name> durch den Namen (ID) der Richtlinie. Beispiel: https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1A_signup_signin_saml/samlp/metadata

Laden Sie die SAML-Metadaten herunter, und speichern Sie sie lokal auf Ihrem Gerät. Dies ist beim folgenden Schritt erforderlich, um die Konfiguration in Akamai Enterprise Application Access abzuschließen.

Schritt 6: Registrieren der Akamai Enterprise Application Access-Anwendung in Azure AD B2C

Damit Azure AD B2C Akamai Enterprise Application Access als vertrauenswürdig einstuft, erstellen Sie eine Azure AD B2C-Anwendungsregistrierung. Die Registrierung enthält Konfigurationsinformationen, z. B. den Metadatenendpunkt der Anwendung.

  1. Melden Sie sich beim Azure-Portal an.

  2. Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie das Symbol Einstellungen im Menü oben aus, um über das Menü Verzeichnisse + Abonnements zu Ihrem Azure AD B2C-Mandanten zu wechseln.

  3. Wählen Sie im linken Menü die Option Azure AD B2C aus. Oder wählen Sie Alle Dienste aus, suchen Sie nach dem Eintrag Azure AD B2C, und wählen Sie ihn aus.

  4. Wählen Sie App-Registrierungen aus, und wählen Sie dann Registrierung einer neuen Anwendung aus.

  5. Geben Sie unter Name einen Namen für die Anwendung ein. Geben Sie beispielsweise Akamai B2C Enterprise Application Access ein.

  6. Wählen Sie unter Unterstützte Kontotypen die Option Nur Konten in diesem Organisationsverzeichnis (Nur B2C – einzelner Mandant) aus.

  7. Wählen Sie unter Umleitungs-URI die Option Web aus, und geben Sie dann die Akamai-URL ein, die Sie in Akamai Enterprise Application Access in Schritt 1 unter Einstellungen\Allgemein definiert haben. Beispiel: https://fabrikam.login.go.akamai-access.com/saml/sp/response.

  8. Wählen Sie Registrieren.

Schritt 7: Konfigurieren der Akamai Enterprise Application Access-Anwendung in Azure AD B2C

Für SAML müssen Sie im Manifest der Anwendungsregistrierung mehrere Eigenschaften konfigurieren.

  1. Navigieren Sie im Azure-Portal zu der Anwendungsregistrierung, die Sie in Schritt 3 erstellt haben.

  2. Wählen Sie unter Verwalten die Option Manifest aus, um den Manifest-Editor zu öffnen. Ändern Sie dann die im folgenden Abschnitt beschriebenen Eigenschaften.

Hinzufügen des Bezeichners

Wenn die Akamai Enterprise Application Access-SAML-Anwendung eine Anforderung an Azure AD B2C richtet, enthält die SAML-Authentifizierungsanforderung das Attribut Issuer. Der Wert dieses Attributs ist in der Regel mit dem Metadatenwert entityID der Anwendung identisch. Azure AD B2C verwendet diesen Wert, um die Anwendungsregistrierung im Verzeichnis zu suchen und die Konfiguration zu lesen. Damit diese Suche erfolgreich ist, muss der identifierUri im Anwendungsregistrierungsmanifest mit einem Wert aufgefüllt werden, der dem Attribut Issuer entspricht.

Screenshot shows the b2c saml configuration.

Suchen Sie im Registrierungsmanifest nach dem Parameter identifierURIs, und fügen Sie den Wert für IssuerURI hinzu, den Sie in Schritt 2 definiert haben (Azure AD B2C ClaimsProvider).

Beispiel:

"identifierUris": [
		"https://fabrikam.login.go.akamai-access.com/saml/sp/response"
	],

Dieser Wert entspricht dem Wert, der in den SAML-AuthN-Anforderungen für EntityId bei der Anwendung konfiguriert ist, und dem entityID-Wert in den Metadaten der Anwendung. Außerdem müssen Sie den Parameter accessTokenAcceptedVersion suchen und den Wert auf 2 festlegen.

Wichtig

Wenn Sie accessTokenAcceptedVersion nicht auf 2 aktualisieren, erhalten Sie eine Fehlermeldung mit dem Hinweis, dass eine überprüfte Domäne erforderlich ist.

Schritt 8: Konfigurieren von Authentifizierungseinstellungen für Azure AD B2C als Identitätsanbieter in Akamai Enterprise Application Access

Aktualisieren Sie Azure AD B2C als Identitätsanbieter in Akamai Enterprise Application Access mit Authentifizierungsinformationen (z. B. URLs der vertrauenden Seite).

  1. Melden Sie sich im Enterprise Center https://control.akamai.com/ an.

  2. Wählen Sie im Enterprise Center im Navigationsmenü Anwendungszugriff > Identität & Benutzer > Identitätsanbieter aus.

  3. Wählen Sie den Namen des Identitätsanbieters aus, den Sie in Schritt 1 erstellt haben.

  4. Laden Sie die SAML-Metadatendatei von Azure AD B2C hoch, die Sie in Schritt 5 heruntergeladen haben.

  5. Wählen Sie Datei auswählen aus, um die Datei „metadata.xml“ hochzuladen.

    Screenshot shows the metadata file.

  6. Wählen Sie Speichern und bereitstellen aus.

Schritt 9: Bereitstellen von Akamai Enterprise Application Access-Connectors in Ihrem privaten Rechenzentrum

Um den Zugriff auf eine private Anwendung zu ermöglichen, stellen Sie mindestens einen Akamai Enterprise Application Access-Connector in dem privaten Rechenzentrum bereit, in dem sich Ihre Anwendung befindet. Stellen Sie sicher, dass der Connector Ihre private Anwendung erreichen kann und über ausgehenden Zugriff auf die Akamai Cloud verfügt.

Schritt 10: Definieren einer Zugriffsanwendung in Akamai Enterprise Application Access für die private Anwendung

  1. Definieren und Bereitstellen einer Zugriffsanwendung in Akamai Enterprise Application Access.

  2. Definieren der Zugriffsanwendung

Option 1: HTTP-Header

In diesem Beispiel verwenden Sie eine Anwendung mit den Headern docker header-demo-app. Sobald die Anwendung in einer privaten Umgebung bereitgestellt wird und ein Connector auf die Anwendung zugreifen kann, erstellen Sie eine benutzerdefinierte Anwendung (Typ HTTP). Informationen hierzu finden Sie in der Akamai-Dokumentation Konfigurieren von benutzerdefinierten HTTP-Headern für eine Zugriffsanwendung.

  1. Wählen Sie unter „Authentifizierung“ Azure AD B2C als SAML-IdP aus, den Sie in den vorherigen Schritten erstellt haben.

Screenshot shows the akamai authn application.

  1. Ordnen Sie in der Anwendung im Abschnitt Erweitert den HTTP-Header den SAML-Attributen zu, die von Azure AD B2C nach erfolgreicher Authentifizierung in der SAML-Antwort ausgegeben wurden.

Beispiel:

Headername attribute
ps-sso-first http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
ps-sso-last http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
ps-sso-EmailAddress emailaddress
ps-sso-uid objectId

Screenshot shows the akamai header app mapping.

Testen Sie die Anwendung, indem Sie die Akamai-URL für die von Ihnen erstellte benutzerdefinierte Webanwendung (Typ HTTP) auswählen.

Screenshot shows the akamai header app results.

Option 2: OpenID Connect

In diesem Beispiel verwenden Sie eine ASP.NET MVC-Web-App, die Benutzer über die OWIN-Middleware (Open Web Interface for .NET) und Microsoft Identity Platform anmeldet.

  1. Konfigurieren Sie im Azure AD B2C-SAML-IdP, den Sie in den vorherigen Schritten erstellt haben, das Bridging von OIDC zu SAML.

    Screenshot shows the akamai oidc app oidc settings.

  2. Erstellen Sie anhand der Anleitung unter Konfigurieren von OpenID Connect für eine Zugriffsanwendung eine benutzerdefinierte Anwendung (Typ HTTP).

  3. Wählen Sie unter „Authentifizierung“ den Azure AD B2C-SAML-IdP aus, der in den vorherigen Schritten für die HTTP-Headeranwendung erstellt wurde.

    Screenshot shows the akamai authn app settings.

  4. Wählen Sie unter Erweitert die Option OpenID Connect 1.0 als Authentifizierungsmechanismus aus, und wählen Sie dann Speichern aus.

    Screenshot shows the akamai oidc app authentication settings.

  5. Die neue Registerkarte OpenID wird angezeigt. Kopieren Sie die Ermittlungs-URL, die später beim Konfigurieren der OWIN-Komponente zum Testen der Anwendung benötigt wird.

    Screenshot shows the akamai oidc app settings.

  6. Definieren Sie im Abschnitt Ansprüche die Ansprüche, die Akamai für die OIDC-Anwendung ausgibt, wobei deren Werte den SAML-Attributen zugeordnet werden, die von Azure AD B2C nach erfolgreicher Authentifizierung in der SAML-Antwort bereitgestellt werden. Diese Ansprüche müssen den Definitionen zugeordnet werden, die Sie im vorherigen Schritt beim Konfigurieren des Bridgings von OIDC zu SAML im Azure AD B2C-SAML-IdP vorgenommen haben.

    Screenshot shows the akamai oidc app claim settings.

  7. Ersetzen Sie die Startklasse durch den folgenden Code in der ASP.NET MVC-Web-App.

    Mit diesen wenigen Änderungen wird die Autorisierungscodeflowgewährung konfiguriert. Der Autorisierungscode wird für Token am Tokenendpunkt für die Anwendung eingelöst, und die Metadatenadresse wird eingeführt, um den Ermittlungsendpunkt zum Abrufen von Metadaten von Akamai festzulegen.

    public class Startup
    {
         // The Client ID is used by the application to uniquely identify itself to Azure AD.
         string clientId = System.Configuration.ConfigurationManager.AppSettings["ClientId"];
    
         //App Client Secret to redeem the code for an access token
         string ClientSecret = System.Configuration.ConfigurationManager.AppSettings["ClientSecret"];
    
         // RedirectUri is the URL where the user will be redirected to after they sign in.
         string redirectUri = System.Configuration.ConfigurationManager.AppSettings["RedirectUri"];
    
         // PostLogoutRedirectUri is the URL where the user will be redirected to after they sign out
         string PostLogoutRedirectUri = System.Configuration.ConfigurationManager.AppSettings["PostLogoutRedirectUri"];
    
         //Authority is the URL for authority
         string authority = System.Configuration.ConfigurationManager.AppSettings["Authority"];
    
         //discovery endpoint for obtaining metadata
         string MetadataAddress = System.Configuration.ConfigurationManager.AppSettings["MetadataAddress"];
    
    
         /// <summary>
         /// Configure OWIN to use OpenIdConnect
         /// </summary>
         /// <param name="app"></param>
         public void Configuration(IAppBuilder app)
       {
         app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
    
         app.UseCookieAuthentication(new CookieAuthenticationOptions());
         app.UseOpenIdConnectAuthentication(
             new OpenIdConnectAuthenticationOptions
             {
                 // Sets the ClientId, authority, RedirectUri as obtained from web.config
                 ClientId = clientId,
                 Authority = authority,
                 RedirectUri = redirectUri,
                 MetadataAddress = MetadataAddress,
                 // PostLogoutRedirectUri is the page that users will be redirected to after sign-out. In this case, it is using the home page
                 PostLogoutRedirectUri = redirectUri,
                 RedeemCode = true,
                 Scope = OpenIdConnectScope.OpenIdProfile,
                 // ResponseType is set to request the code id_token - which contains basic information about the signed-in user
                 ResponseType = OpenIdConnectResponseType.Code,
                  // OpenIdConnectAuthenticationNotifications configures OWIN to send notification of failed authentications to OnAuthenticationFailed method
                 Notifications = new OpenIdConnectAuthenticationNotifications
                 {
                     AuthenticationFailed = OnAuthenticationFailed
                 }
             }
         );
     }
    
     /// <summary>
     /// Handle failed authentication requests by redirecting the user to the home page with an error in the query string
     /// </summary>
     /// <param name="context"></param>
     /// <returns></returns>
     private Task OnAuthenticationFailed(AuthenticationFailedNotification<OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> context)
     {
         context.HandleResponse();
         context.Response.Redirect("/?errormessage=" + context.Exception.Message);
         return Task.FromResult(0);
        }
    }
    
  8. Fügen Sie in der Datei web.config die Metadatenadresse hinzu, und ersetzen Sie unter appSettings „clientId“, „clientsecret“, „authority“, „redirectUri“ und „PostLogoutRedirectUri“ durch die Werte der Akamai-Anwendung.

    Diese Werte finden Sie auf der Registerkarte „OpenID“ für die Akamai-HTTP-Anwendung in Schritt 5, in dem Sie Discovery URL=MetadataAddress erstellt haben. redirectUri ist die lokale Adresse für den Akamai-Connector zum Auflösen der lokalen OIDC-Anwendung. Authority fungiert als „authorization_endpoint“. Informationen hierzu finden Sie in Ihrem .well-known/openid-configurationDokument.

    Ermittlungs-URL: https://fabrikam.login.go.akamai-access.com/.well-known/openid-configuration

     <appSettings>
       <add key="ClientId" value="xxxxxxxxxxxxxxxxxx" />
       <add key="ClientSecret" value="xxxxxxxxxxxxxxxxxx" />
       <add key="Authority" value="https://fabrikam.login.go.akamai-access.com/oidc/oauth" />
       <add key="redirectUri" value="http://oidcapp.identity.mistermik.com/" />
       <add key="PostLogoutRedirectUri" value="https://oidc-test.go.akamai-access.com/" />
       <add key="MetadataAddress" value="https://fabrikam.login.go.akamai-access.com/.well-known/openid-configuration" />
     </appSettings>
    

    Testen Sie die Anwendung, indem Sie die Akamai-URL für die erstellte benutzerdefinierte HTTP-Webanwendung auswählen.

    Screenshot shows the akamai oidc app results.

Testen der Lösung

  1. Navigieren Sie zur Anwendungs-URL, und verwenden Sie dabei die externe URL, die in Akamai Enterprise Application Access angegeben wurde.

  2. Ein nicht authentifizierter Benutzer wird zur Azure AD B2C-Anmeldeseite umgeleitet.

  3. Wählen Sie auf der Seite den IdP aus der Liste aus.

  4. Melden Sie sich als Endbenutzer mit Anmeldeinformationen an, die mit Azure AD B2C verknüpft sind.

  5. Nach erfolgreicher Authentifizierung wird der Endbenutzer zurück zur Anwendung geleitet und als Endbenutzer bei der Anwendung angemeldet.

Zusätzliche Ressourcen