Az Azure Active Directory B2C konfigurálása az Akamai Enterprise Application Access szolgáltatással egyszeri bejelentkezéshez és biztonságos hibrid hozzáféréshez

Ebben a minta oktatóanyagban megtudhatja, hogyan integrálhatja az Azure Active Directory B2C (Azure AD B2C) hitelesítést az Akamai Enterprise Application Access szolgáltatással. Az Akamai Enterprise Application Access egy Teljes felügyelet Hálózati hozzáférés (ZTNA) megoldás, amely biztonságos távoli hozzáférést tesz lehetővé a privát adatközpontokban található modern és régi alkalmazásokhoz. Az Akamai Enterprise Application Access az Azure AD B2C identitásszolgáltatóval (IDP) együttműködve hitelesíti a felhasználókat, majd engedélyezési szabályzataival folyamatosan kiértékeli az identitást, az eszközt, az alkalmazást és a kérelemkörnyezetet, mielőtt engedélyezi a privát alkalmazásokhoz való hozzáférést.

Ez a funkció csak egyéni szabályzatokhoz érhető el. A beállítási lépésekhez válassza az egyéni szabályzatot az előző választóban.

Előfeltételek

Az első lépésekhez a következőkre lesz szüksége:

  • Akamai Enterprise Access-szerződés. Ha nincs ilyen, ingyenes próbaverziót kaphat.

  • Azure-előfizetés. Ha nem rendelkezik előfizetéssel, ingyenes fiókot kaphat.

  • Egy Azure AD B2C-bérlő , amely az Azure-előfizetéséhez van társítva.

  • Az adatközpontban vagy hibrid felhőkörnyezetekben a tűzfal mögött üzembe helyezett virtuális berendezés az Akamai Enterprise Application Access-összekötő üzembe helyezéséhez

  • Egy olyan alkalmazás, amely fejléceket használ a hitelesítéshez. Ebben a mintában egy olyan alkalmazást használunk, amely megjeleníti a docker header-demo-app fejléceit.

  • VAGY Egy OpenID Csatlakozás (OIDC) alkalmazás. Ebben a mintában egy ASP.NET MVC webalkalmazást használunk, amely az Open Web Interface for .NET (OWIN) köztes szoftver és a Microsoft Identitásplatform használatával jelentkezik be a felhasználókba.

Forgatókönyv leírása

Ebben a forgatókönyvben engedélyezni fogja az Azure AD B2C-hitelesítést a végfelhasználók számára, miközben megpróbálják elérni az Akamai Enterprise Application Access által védett privát alkalmazásokat.

Az integrációban részt vevő összetevők a következők:

  • Azure AD B2C: A végfelhasználók hitelesítéséért felelős SAML-identitásszolgáltató.

  • Akamai Enterprise Application Access: A ZTNA felhőszolgáltatás, amely a privát alkalmazásokhoz való hozzáférés folyamatos ZTNA-szabályzatkényszerítéssel történő biztosításáért felelős.

  • Akamai Enterprise Application Access Csatlakozás or: A privát adatközpontban üzembe helyezett virtuális berendezés. Lehetővé teszi a privát alkalmazásokhoz való biztonságos kapcsolatot anélkül, hogy adatközpontok bejövő tűzfalportjait nyitná meg.

  • Alkalmazás: A privát adatközpontban üzembe helyezett szolgáltatás vagy alkalmazás, amelyhez a végfelhasználóknak hozzáférésre van szükségük.

A felhasználó hitelesíti az Azure AD B2C-t (SAML IdP-ként), amely SAML-állítással válaszol az Akamai Enterprise Application Accessre (a szolgáltatóra). Az Akamai Enterprise Application Access leképezi az SAML-állítás adatait, és OpenID-jogcímeket hoz létre, vagy http-fejléceket injektál a felhasználóról. Az Akamai Enterprise Application Access ezután átadja ezt az Akamai Enterprise Application Access-összekötőn keresztül elérhető alkalmazásnak. A mintánkban az alkalmazás megjeleníti ezeknek a fejléceknek a tartalmát. Az OIDC-alkalmazás használata esetén megjeleníti a felhasználó jogcímeit.

Az alábbi ábra bemutatja, hogyan integrálható az Akamai Enterprise Application Access (EAA) az Azure AD B2C-vel.

Screenshot shows the integration architecture.

  1. A végfelhasználó az Akamai Enterprise Application Accessben regisztrált külső URL-cím használatával próbál hozzáférni a privát adatközpontban üzemeltetett alkalmazáshoz.

  2. Az Akamai Enterprise Application Access átirányítja a hitelesítésre nem hitelesített végfelhasználót az Azure AD B2C-be hitelesítés céljából.

  3. A sikeres hitelesítés után az Azure AD B2C egy SAML-állítással átirányítja a felhasználót az Akamai Enterprise Application Access szolgáltatásba.

  4. Az Akamai Enterprise Application Access az SAML-állítás identitásadataival azonosítja a felhasználót, és megállapítja, hogy a felhasználó hozzáférhet-e a kért alkalmazáshoz.

  5. Az Akamai Enterprise Application Access OIDC-jogcímeket hoz létre, vagy HTTP-fejléceket injektál, amelyeket a rendszer elküld az alkalmazásnak.

  6. Az alkalmazás ezen információk alapján azonosítja a hitelesített felhasználót, és létrehoz egy alkalmazás-munkamenetet a végfelhasználó számára.

Bevezetés az Akamai Enterprise Application Access szolgáltatásba

Az Akamai Enterprise Application Access használatának megkezdéséhez tekintse meg az Akamai Enterprise Application Access első lépéseket ismertető útmutatóját.

1. lépés – Az Azure AD B2C hozzáadása SAML-azonosítóként az Akamai Enterprise Application Accessben

Az Akamai Enterprise Application Access támogatja az SAML-összevonást olyan felhőbeli azonosítókkal, mint az Azure AD B2C. Adja hozzá az Azure AD B2C-t külső SAML-azonosítóként az Akamai Enterprise Application Accessben.

  1. Bejelentkezés az Enterprise Centerbe https://control.akamai.com/

  2. Az Enterprise Center navigációs menüjében válassza az Application Access > Identity & Users > Identity Providers lehetőséget.

  3. Válassza az Identitásszolgáltató hozzáadása (+) lehetőséget.

  4. Adjon meg egy nevet, leírást, és válassza ki a szolgáltató típusát külső SAML-ként.

  5. Válassza a Folytatás lehetőséget. Megjelenik az Identitásszolgáltató konfigurációs oldala.

  6. A Gépház> General mezőbe írja be az identitáskiszolgáló URL-címét. Választhatja az Akamai-tartomány használata vagy a Saját tartomány használata lehetőséget. Ha saját tartományt használ, használjon önaláírt tanúsítványt, vagy használja a feltöltött egyéni tanúsítványt.

  7. A hitelesítésben adja meg ugyanazt az URL-címet, mint az Előző lépésben, az Általános és a Mentés lehetőséget választva.

    Screenshot shows the akamai settings.

2. lépés – SAML-alkalmazás regisztrálása az Azure AD B2C-ben

  1. Kérje le az egyéni szabályzat kezdőcsomagjait a GitHubról, majd frissítse a LocalAccounts kezdőcsomag XML-fájljait az Azure AD B2C-bérlő nevével:

    • Töltse le a .zip fájlt , vagy klónozza az adattárat:

      git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
      
    • A LocalAccounts könyvtárban lévő összes fájlban cserélje le a sztringet yourtenant az Azure AD B2C-bérlő nevére. Ha például a B2C-bérlő neve az fabrikam, akkor az összes példány yourtenant.onmicrosoft.com lesz fabrikam.onmicrosoft.com.

  2. Hozzon létre egy aláíró tanúsítványt az Azure AD B2C-hez az Akamai Enterprise Application Accessnek küldött SAML-válasz aláírásához:

    a. Tanúsítvány beszerzése. Ha még nem rendelkezik tanúsítvánnyal, használhat önaláírt tanúsítványt.

    b. Töltse fel a tanúsítványt az Azure AD B2C-bérlőbe. Jegyezze fel a nevet, mivel az a TechnicalProfile következő lépésekben ismertetett módon szükséges lesz.

  3. Engedélyezze a szabályzatnak, hogy saml-alkalmazással csatlakozzon.

    a. Nyissa meg LocalAccounts\TrustFrameworkExtensions.xml az egyéni szabályzat kezdőcsomagjában. Keresse meg a ClaimsProviders elemet. Ha nem létezik, vegye fel a gyökérelem alá, TrustFrameworkPolicy és adja hozzá a következő XML-kódrészletet az SAML-válaszgenerátor implementálásához:

     <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. Cserélje le az issuerUri 1. lépésben az Akamai Vállalati alkalmazáshozzáférés általános beállításában >definiált Akamai URL-címet

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

    • Cserélje le B2C_1A_AkamaiSAMLSigningCert a feltöltött szabályzatkulcs nevére.

3. lépés – Az SAML-hez konfigurált regisztrációs vagy bejelentkezési szabályzat létrehozása

  1. Hozzon létre egy másolatot a fájlról a SignUpOrSignin.xml kezdőcsomag munkakönyvtárában, és mentse egy új névvel. Ez a cikk példaként szolgál SignUpOrSigninSAML.xml . Ez a fájl a függő entitás házirendfájlja. Úgy van konfigurálva, hogy alapértelmezés szerint JWT-választ adjon ki.

  2. Nyissa meg a SignUpOrSigninSAML.xml fájlt az előnyben részesített szerkesztőben.

  3. Frissítsen tenant-name az Azure AD B2C-bérlő nevével, módosítsa a PolicyIdPublicPolicyUri szabályzat értékét és értékét a következőre B2C_1A_signup_signin_saml : és 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. A felhasználói folyamat végén az Azure AD B2C tartalmaz egy SendClaims lépést. Ez a lépés a tokenkibocsátó technikai profiljára hivatkozik. Ha az alapértelmezett JWT-válasz helyett SAML-választ szeretne kiadni, módosítsa a SendClaims lépést úgy, hogy az az új SAML-jogkivonat-kiállító technikai profiljára hivatkozzon. Saml2AssertionIssuer

    Adja hozzá a következő XML-kódrészletet az <RelyingParty> elem előtt. Ez az XML felülírja a 4. vezénylési lépést a SignUpOrSignIn felhasználói folyamat során, feltéve, hogy az LocalAccount egyéni szabályzat kezdőcsomagjait használja.

    Ha a kezdőcsomag egy másik mappájából indult, vagy a vezénylési lépések hozzáadásával vagy eltávolításával testre szabta a felhasználói folyamatot, győződjön meg arról, hogy az order elem száma megegyezik a tokenkibocsátó lépés felhasználói folyamatában megadott számmal. A többi kezdőcsomag mappában például a megfelelő lépésszám a 7 SocialAndLocalAccounts, a 6 és SocialAccountsa 9 SocialAndLocalAccountsWithMfa.

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

    A függő entitás eleme határozza meg, hogy az alkalmazás melyik protokollt használja. Az alapértelmezett érték OpenId. Az Protocol elemet a következőre SAMLkell módosítani: . A kimeneti jogcímek létrehozzák az SAML-állításhoz való jogcímleképezést.

    Cserélje le az elem teljes <TechnicalProfile> elemét <RelyingParty> a következő műszaki profil XML-fájlra.

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

    A függő entitás végleges szabályzatfájljának a következő XML-kódhoz hasonlóan kell kinéznie:

    <?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>
    

Megjegyzés:

Ugyanezt a folyamatot követve implementálhat más típusú folyamatokat, például bejelentkezési, jelszó-visszaállítási vagy profilszerkesztési folyamatokat.

4. lépés – A szabályzat feltöltése

Mentse a módosításokat, és töltse fel az TrustFrameworkBase.xmlúj TrustFrameworkExtensions.xml és SignUpOrSigninSAML.xml szabályzatfájlokat az Azure Portalra.

  1. Jelentkezzen be az Azure Portalra.

  2. Ha több bérlőhöz is hozzáfér, a felső menüben válassza a Gépház ikont az Azure AD B2C-bérlőre való váltáshoz a Címtárak + előfizetések menüből.

  3. Az Azure Portalon keresse meg és válassza ki az Azure AD B2C-t.

  4. A Szabályzatok területen válassza az Identity Experience Framework lehetőséget. Válassza az Egyéni házirend feltöltése lehetőséget, majd töltse fel a módosított két házirendfájlt a következő sorrendben:

    • Az alapfájl, például TrustFrameworkBase.xml
    • A bővítményházirend például TrustFrameworkExtensions.xml
    • Ezután a függő entitás házirendje, például SignUpOrSigninSAML.xml.

5. lépés – Az Azure AD B2C idP SAML-metaadatainak letöltése

A szabályzatfájlok feltöltése után az Azure AD B2C a konfigurációs adatok segítségével hozza létre az identitásszolgáltató SAML-metaadat-dokumentumát, amelyet az alkalmazás használni fog. Az SAML metaadat-dokumentum tartalmazza a szolgáltatások helyét, például a bejelentkezési módszereket, a kijelentkezési módszereket és a tanúsítványokat.

  • Az Azure AD B2C szabályzat metaadatai a következő URL-címen érhetők el: https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/samlp/metadata

  • Cserélje le <tenant-name> az Azure AD B2C-bérlő nevét. Cserélje le <policy-name> a szabályzat nevét (azonosítóját). Íme egy példa: https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1A_signup_signin_saml/samlp/metadata

Töltse le az SAML-metaadatokat, és mentse helyileg az eszközére. Erre az alábbi lépéssel van szükség az Akamai Enterprise Application Access konfigurációjának befejezéséhez.

6. lépés – Az Akamai Enterprise Application Access-alkalmazás regisztrálása az Azure AD B2C-ben

Ahhoz, hogy az Azure AD B2C megbízható legyen az Akamai Enterprise Application Accessben, hozzon létre egy Azure AD B2C-alkalmazásregisztrációt. A regisztráció konfigurációs információkat tartalmaz, például az alkalmazás metaadat-végpontját.

  1. Jelentkezzen be az Azure Portalra.

  2. Ha több bérlőhöz is hozzáfér, a felső menüben válassza a Gépház ikont az Azure AD B2C-bérlőre való váltáshoz a Címtárak + előfizetések menüből.

  3. A bal oldali menüben válassza az Azure AD B2C-t. Vagy válassza a Minden szolgáltatás lehetőséget, majd keresse meg és válassza az Azure AD B2C-t.

  4. Válassza a Alkalmazásregisztrációk, majd az Új regisztráció lehetőséget.

  5. Adja meg az alkalmazás nevét. Írja be például az Akamai B2C Enterprise Application Access nevet.

  6. A Támogatott fióktípusok csoportban válassza a Csak ebben a szervezeti címtárban lévő Fiókok lehetőséget (csak B2C - Egyetlen bérlő).

  7. Az Átirányítási URI területen válassza a Web lehetőséget, majd adja meg az Akamai Vállalati alkalmazáshozzáférés beállítása\Általános 1. lépésben definiált Akamai URL-címet. For example, https://fabrikam.login.go.akamai-access.com/saml/sp/response.

  8. Válassza a Regisztrálás lehetőséget.

7. lépés – Az Akamai Enterprise Application Access-alkalmazás konfigurálása az Azure AD B2C-ben

Az SAML-hez több tulajdonságot kell konfigurálnia az alkalmazásregisztráció jegyzékében.

  1. Az Azure Portalon nyissa meg a 3. lépésben létrehozott alkalmazásregisztrációt.

  2. A Kezelés területen válassza a Jegyzékfájl lehetőséget a jegyzékszerkesztő megnyitásához. Ezután módosítsa a következő szakaszban leírt tulajdonságokat.

Az azonosító hozzáadása

Amikor az Akamai Enterprise Application Access SAML-alkalmazás kérést küld az Azure AD B2C-nek, az SAML hitelesítési kérelem tartalmaz egy Issuer attribútumot. Az attribútum értéke általában megegyezik az alkalmazás metaadat-értékével entityID . Az Azure AD B2C ezzel az értékkel keresi meg az alkalmazásregisztrációt a címtárban, és olvassa el a konfigurációt. Ahhoz, hogy ez a keresés sikeres legyen, identifierUri az alkalmazásregisztrációs jegyzékben fel kell tölteni az attribútumnak megfelelő Issuer értéket.

Screenshot shows the b2c saml configuration.

A regisztrációs jegyzékben keresse meg a paramétertidentifierURIs, és adja hozzá az Azure AD B2C ClaimsProvider 2. lépésében meghatározott IssuerURI-értéket.

Példa:

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

Ez az érték ugyanaz az érték lesz, mint az alkalmazás SAML AuthN-kérelmeiben EntityId konfigurált érték, és az entityID alkalmazás metaadatainak értéke. Meg kell keresnie a paramétert accessTokenAcceptedVersion is, és be kell állítania az értéket 2.

Fontos

Ha nem frissíti a accessTokenAcceptedVersion tartományt 2 , egy ellenőrzött tartományt igénylő hibaüzenet jelenik meg.

8. lépés – Az Azure AD B2C idP hitelesítési beállításainak konfigurálása az Akamai Enterprise Application Accessben

Frissítse az Akamai Enterprise Application Access Azure AD B2C idP-t hitelesítési adatokkal, például függő entitásOK URL-címeivel.

  1. Bejelentkezés az Enterprise Centerbe https://control.akamai.com/

  2. Az Enterprise Center navigációs menüjében válassza az Application Access > Identity & Users > Identity Providers lehetőséget.

  3. Válassza ki az 1. lépésben létrehozott identitásszolgáltató nevét.

  4. Töltse fel az 5. lépésben letöltött Azure AD B2C SAML metaadatfájlt.

  5. A metadata.xml fájl feltöltéséhez válassza a Fájl kiválasztása lehetőséget.

    Screenshot shows the metadata file.

  6. Válassza a Mentés és üzembe helyezés lehetőséget.

9. lépés – Az Akamai Enterprise Application Access Csatlakozás orok üzembe helyezése a privát adatközpontban

A privát alkalmazásokhoz való hozzáférés engedélyezéséhez helyezzen üzembe egy vagy több Akamai Enterprise Application Access-összekötőt abban a privát adatközpontban, ahol az alkalmazás található. Győződjön meg arról, hogy az összekötők elérhetik a privát alkalmazást, és kimenő hozzáféréssel rendelkeznek az Akamai-felhőhöz.

10. lépés – Access-alkalmazás definiálása az Akamai Enterprise Application Accessben a privát alkalmazáshoz

  1. Access-alkalmazás definiálása és üzembe helyezése az Akamai Enterprise Application Accessben.

  2. Az Access-alkalmazás definiálásakor

1. lehetőség: HTTP-fejlécek

Ebben a mintában egy olyan alkalmazást használunk, amely megjeleníti a docker header-demo-app fejléceit. Miután az alkalmazás privát környezetben lett üzembe helyezve, és az összekötő képes hozzáférni az alkalmazáshoz, hozzon létre egy egyéni HTTP-típusalkalmazást az Akamai dokumentációja alapján. Egyéni HTTP-fejléceket konfigurálhat egy hozzáférési alkalmazáshoz.

  1. A hitelesítés során válassza ki az előző lépésekben létrehozott Azure AD B2C SAML-azonosítót.

Screenshot shows the akamai authn application.

  1. Az alkalmazás Speciális szakaszában képezheti le a HTTP-fejlécet az Azure AD B2C által kiadott SAML-attribútumokra az SAML-válaszban, sikeres hitelesítés esetén.

Példa:

Fejléc neve Attribútum
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 e-mailcím
ps-sso-uid objectId

Screenshot shows the akamai header app mapping.

Tesztelje az alkalmazást a létrehozott egyéni HTTP-típusú webalkalmazás Akamai URL-címének kiválasztásával.

Screenshot shows the akamai header app results.

2. lehetőség: OpenID Csatlakozás

Ebben a mintában egy ASP.NET MVC-webalkalmazást használunk, amely az Open Web Interface for .NET (OWIN) köztes szoftver és a Microsoft Identitásplatform használatával jelentkezik be a felhasználókba.

  1. Konfigurálja az OIDC-t SAML-áthidalásra az előző lépésekkel létrehozott Azure AD B2C SAML IdP-ben .

    Screenshot shows the akamai oidc app oidc settings.

  2. Hozzon létre egy egyéni HTTP-típusalkalmazást az OpenID Csatlakozás accessalkalmazáshoz való konfigurálása után.

  3. A hitelesítés során válassza ki az előző lépésekben létrehozott Azure AD B2C SAML-azonosítót a HTTP-fejlécalkalmazásnak megfelelően.

    Screenshot shows the akamai authn app settings.

  4. A Speciális területen válassza az OpenID Csatlakozás 1.0 hitelesítési mechanizmust, majd válassza a Mentés lehetőséget.

    Screenshot shows the akamai oidc app authentication settings.

  5. Megjelenik egy új OpenID lap, másolja ki a felderítési URL-címet, amelyre később szükség lesz az OWIN-összetevő tesztelési alkalmazáshoz való konfigurálásakor.

    Screenshot shows the akamai oidc app settings.

  6. A Jogcímek szakaszban adja meg azokat a jogcímeket, amelyeket az Akamai az OIDC-alkalmazáshoz állít ki, és az értékeket az Azure AD B2C által a SAML-válaszban megadott SAML-attribútumokhoz rendeli egy sikeres hitelesítés után. Ezeknek a jogcímeknek le kell képeznie az előző lépésben definiált értékeket, amikor az OIDC-t SAML-áthidalóra konfigurálták az Azure AD B2C SAML idP-ben.

    Screenshot shows the akamai oidc app claim settings.

  7. Cserélje le az indítási osztályt a következő kódra az ASP.NET MVC webalkalmazásban.

    Ez a néhány módosítás konfigurálja az engedélyezési kód folyamatának megadását, az engedélyezési kódot az alkalmazás jogkivonatvégpontjai jogkivonatokra váltja, és bevezeti a Metaadat-címet, hogy beállítsa a felderítési végpontot a metaadatok Akamaitól való lekéréséhez.

    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. A fájlban web.config adja hozzá a metaadat-címet, cserélje le a clientId, a clientsecret, a authority, a redirectUri és a PostLogoutRedirectUri nevet az Akamai-alkalmazás appSettingsértékeire.

    Ezeket az értékeket az előző 5. lépésben találja a HTTP Akamai-alkalmazás OpenID lapján, ahol létrehozta Discovery URL=MetadataAddress. redirectUri az Akamai-összekötő helyi címe, amelyet a helyi OIDC-alkalmazásnak kell feloldani. Authority az a authorization_endpoint, amelyet a .well-known/openid-configurationdokumentumból talál.

    Felderítési URL-cím: 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>
    

    Tesztelje az alkalmazást a létrehozott egyéni HTTP-típus webalkalmazás Akamai URL-címének kiválasztásával.

    Screenshot shows the akamai oidc app results.

A megoldás tesztelése

  1. Lépjen az alkalmazás URL-címére az Akamai Enterprise Application Accessben megadott külső URL-cím használatával.

  2. A rendszer átirányítja a hitelesítés nélküli felhasználót az Azure AD B2C bejelentkezési oldalára.

  3. Válassza ki az azonosítót a lapon található listából.

  4. Jelentkezzen be végfelhasználóként az Azure AD B2C-hez társított hitelesítő adatokkal.

  5. A sikeres hitelesítés után a rendszer visszairányítja a végfelhasználót az alkalmazásba, és végfelhasználóként jelentkezik be az alkalmazásba.

További erőforrások