Egyéni jogcímszolgáltató konfigurálása jogkivonat-kiállítási eseményhez

Ez a cikk bemutatja, hogyan konfigurálhat egyéni jogcímszolgáltatót a tokenkiállítás kezdőeseményéhez. Egy meglévő Azure Functions REST API használatával regisztrál egy egyéni hitelesítési bővítményt, és olyan attribútumokat ad hozzá, amelyeket várhatóan elemezni fog a REST API-ból. Az egyéni hitelesítési bővítmény teszteléséhez regisztrál egy OpenID-mintaalkalmazást Csatlakozás jogkivonat lekéréséhez és a jogcímek megtekintéséhez.

Előfeltételek

  • Azure-előfizetés az Azure Functions létrehozásához. Ha nem rendelkezik meglévő Azure-fiókkal, regisztráljon ingyenes próbaverzióra, vagy használja a Visual Studio-előfizetés előnyeit egy fiók létrehozásakor.
  • Egy Azure-függvényalkalmazás, amely egy jogkivonat kiállításának kezdőeseményéhez konfigurált HTTP-triggerfüggvényt használ. Ha nem rendelkezik ilyennel, kövesse a jogkivonat-kiállítás indítási esemény HTTP-eseményindító függvényének létrehozásához szükséges lépéseket.
  • Az egyéni hitelesítési bővítmények áttekintésében szereplő fogalmak alapszintű ismerete.
  • Egy Microsoft Entra ID-bérlő. Ehhez az útmutatóhoz ügyfél- vagy munkaerő-bérlőt is használhat.

1. lépés: Egyéni hitelesítési bővítmény regisztrálása

Most egy egyéni hitelesítési bővítményt fog konfigurálni, amelyet a Microsoft Entra ID fog használni az Azure-függvény meghívásához. Az egyéni hitelesítési bővítmény információkat tartalmaz a REST API-végpontról, a REST API-ból elemezendő jogcímekről és a REST API-val való hitelesítésről. Az alábbi lépéseket követve regisztrálhat egy egyéni hitelesítési bővítményt az Azure-függvényalkalmazásban.

Feljegyzés

Legfeljebb 100 egyéni bővítményszabályzatot használhat.

Egyéni hitelesítési bővítmény regisztrálása

  1. Jelentkezzen be az Azure Portalra legalább egy alkalmazás-Rendszergazda istrator és hitelesítési Rendszergazda istratorként.
  2. Keresse meg és válassza ki a Microsoft Entra-azonosítót , majd válassza a Nagyvállalati alkalmazások lehetőséget.
  3. Válassza az Egyéni hitelesítési bővítmények lehetőséget, majd válassza az Egyéni bővítmény létrehozása lehetőséget.
  4. Az Alapszintű beállítások területen válassza a TokenIssuanceStart eseménytípust, és válassza a Tovább lehetőséget.
  5. A Végpontkonfigurációban töltse ki a következő tulajdonságokat:
    • Név – Az egyéni hitelesítési bővítmény neve. Például a jogkivonat kiállítási eseménye.
    • Cél URL-címe – Az {Function_Url} Azure-függvény URL-címe. Lépjen az Azure-függvényalkalmazás Áttekintés lapjára, majd válassza ki a létrehozott függvényt. A függvény áttekintése lapon válassza a Függvény URL-címének lekérése lehetőséget, és másolja a másolás ikont az URL-cím másolásához.
    • Leírás – Az egyéni hitelesítési bővítmények leírása.
  6. Válassza a Tovább lehetőséget.
  7. Az API-hitelesítésben válassza az Új alkalmazásregisztráció létrehozása lehetőséget a függvényalkalmazást képviselő alkalmazásregisztráció létrehozásához.
  8. Adjon nevet az alkalmazásnak, például az Azure Functions hitelesítési események API-jának.
  9. Válassza a Tovább lehetőséget.
  10. A Jogcímek mezőben adja meg azokat az attribútumokat, amelyek alapján az egyéni hitelesítési bővítmény elemezni fogja a REST API-t, és egyesíteni fogja a jogkivonattal. Adja hozzá a következő jogcímeket:
    • dateOfBirth
    • customRoles
    • apiVersion
    • correlationId
  11. Válassza a Tovább, majd a Létrehozás lehetőséget, amely regisztrálja az egyéni hitelesítési bővítményt és a hozzá tartozó alkalmazásregisztrációt.
  12. Jegyezze fel az API-hitelesítés alatti alkalmazásazonosítót, amely az Azure-függvényalkalmazás környezeti változóinak beállításához szükséges.

Az egyéni hitelesítési bővítmény létrehozása után engedélyeket kell adnia az API-nak. Az egyéni hitelesítési bővítmény az azure-függvényalkalmazásban való hitelesítéshez használja client_credentials az Receive custom authentication extension HTTP requests engedélyt.

  1. Nyissa meg az új egyéni hitelesítési bővítmény Áttekintés lapját. Jegyezze fel az API-hitelesítés alatt található alkalmazásazonosítót, mivel az identitásszolgáltató hozzáadásakor szükség lesz rá.

  2. Az API-hitelesítés területen válassza az Engedély megadása lehetőséget.

  3. Megnyílik egy új ablak, és miután bejelentkezett, engedélyt kér az egyéni hitelesítési bővítmény HTTP-kéréseinek fogadásához. Ez lehetővé teszi az egyéni hitelesítési bővítmény hitelesítését az API-ra. Válassza az Elfogadás lehetőséget.

    Képernyőkép a rendszergazdai hozzájárulás megadásáról.

2. lépés: OpenID-Csatlakozás alkalmazás konfigurálása bővített jogkivonatok fogadásához

Jogkivonat beszerzéséhez és az egyéni hitelesítési bővítmény teszteléséhez használhatja az https://jwt.ms alkalmazást. Ez egy Microsoft-tulajdonban lévő webalkalmazás, amely megjeleníti egy jogkivonat dekódolt tartalmát (a jogkivonat tartalma soha nem hagyja el a böngészőt).

2.1 Teszt webalkalmazás regisztrálása

Kövesse az alábbi lépéseket a jwt.ms webalkalmazás regisztrálásához:

  1. Az Azure Portal kezdőlapján válassza a Microsoft Entra-azonosítót.

  2. Válassza a Alkalmazásregisztrációk> New regisztrációt.

  3. Adja meg az alkalmazás nevét. Például: Saját tesztalkalmazás.

  4. A Támogatott fióktípusok csoportban válassza a Csak ebben a szervezeti címtárban lévő Fiókok lehetőséget.

  5. Az Átirányítási URI Platform kiválasztása legördülő listájában válassza a Web lehetőséget, majd írja be https://jwt.ms az URL-szövegmezőt.

  6. Az alkalmazásregisztráció befejezéséhez válassza a Regisztráció lehetőséget.

    Képernyőkép a támogatott fiók típusának kiválasztásáról és az URI átirányításáról.

  7. Az alkalmazásregisztráció Áttekintés lapján másolja ki az alkalmazás (ügyfél) azonosítóját. Az alkalmazásazonosítót a későbbi lépésekben nevezik.{App_to_enrich_ID} A Microsoft Graphban az appId tulajdonság hivatkozik rá.

    Képernyőkép az alkalmazásazonosító másolásáról.

2.2 Implicit folyamat engedélyezése

A jwt.ms tesztalkalmazás az implicit folyamatot használja. Implicit folyamat engedélyezése a My Test alkalmazásregisztrációban :

  1. A Kezelés területen válassza a Hitelesítés lehetőséget.
  2. Az Implicit engedélyezési és hibrid folyamatok területen jelölje be az (implicit és hibrid folyamatokhoz használt) azonosító jogkivonatokat.
  3. Válassza a Mentés lehetőséget.

2.3 Az alkalmazás engedélyezése jogcímleképezési szabályzathoz

A jogcímleképezési szabályzattal kiválaszthatja, hogy az egyéni hitelesítési bővítményből visszaadott attribútumok mely attribútumokat képezik le a jogkivonatba. A jogkivonatok bővítésének engedélyezéséhez explicit módon engedélyeznie kell az alkalmazásregisztrációt a megfeleltetett jogcímek elfogadásához:

  1. A Saját teszt alkalmazás regisztrációjában, a Kezelés területen válassza a Jegyzék elemet.
  2. A jegyzékben keresse meg az acceptMappedClaims attribútumot, és állítsa az értéket a következőre true: .
  3. Állítsa be a accessTokenAcceptedVersion következőt 2: .
  4. A módosítások mentéséhez válassza a Mentés lehetőséget.

Az alábbi JSON-kódrészlet bemutatja, hogyan konfigurálhatja ezeket a tulajdonságokat.

{
	"id": "22222222-0000-0000-0000-000000000000",
	"acceptMappedClaims": true,
	"accessTokenAcceptedVersion": 2,  
    ...
}

Figyelmeztetés

Ne állítson be acceptMappedClaims tulajdonságot true több-bérlős alkalmazásokhoz, amelyek lehetővé teszik a rosszindulatú szereplők számára, hogy jogcímleképezési szabályzatokat hozzanak létre az alkalmazáshoz. Ehelyett konfiguráljon egy egyéni aláírókulcsot.

Folytassa a következő lépéssel: Rendeljen hozzá egy egyéni jogcímszolgáltatót az alkalmazáshoz.

3. lépés: Egyéni jogcímszolgáltató hozzárendelése az alkalmazáshoz

Ahhoz, hogy a jogkivonatok az egyéni hitelesítési bővítményből bejövő jogcímekkel legyenek kiadva, egyéni jogcímszolgáltatót kell hozzárendelnie az alkalmazáshoz. Ez a jogkivonat célközönségén alapul, ezért a szolgáltatót hozzá kell rendelni az ügyfélalkalmazáshoz, hogy jogcímeket fogadjon egy azonosító jogkivonatban, valamint az erőforrásalkalmazáshoz, hogy jogcímeket fogadjon egy hozzáférési jogkivonatban. Az egyéni jogcímszolgáltató a jogkivonat-kiállítás indítási eseményfigyelőjével konfigurált egyéni hitelesítési bővítményre támaszkodik. Megadhatja, hogy az egyéni jogcímszolgáltató összes vagy egy részhalmaza megfeleltethető-e a jogkivonatnak.

Feljegyzés

Csak 250 egyedi hozzárendelés hozható létre az alkalmazások és az egyéni bővítmények között. Ha ugyanazt az egyéni bővítményhívást több alkalmazásra szeretné alkalmazni, javasoljuk, hogy az authenticationEventListeners Microsoft Graph API használatával hozzon létre figyelőket több alkalmazáshoz. Ez az Azure Portalon nem támogatott.

Kövesse az alábbi lépéseket a My Test alkalmazás és az egyéni hitelesítési bővítmény összekapcsolásához:

Az egyéni hitelesítési bővítmény hozzárendelése egyéni jogcímszolgáltatói forrásként;

  1. Az Azure Portal kezdőlapján válassza a Microsoft Entra-azonosítót.

  2. Válassza aVállalati alkalmazások lehetőséget, majd a Kezelés területen válassza az Összes alkalmazás lehetőséget. Keresse meg és válassza ki a saját tesztalkalmazást a listából.

  3. A Saját tesztalkalmazás Áttekintés lapján lépjen a Kezelés lapra, és válassza az Egyszeri bejelentkezés lehetőséget.

  4. Az Attribútumok és jogcímek csoportban válassza a Szerkesztés lehetőséget.

    Képernyőkép az alkalmazásjogcímek konfigurálásáról.

  5. Bontsa ki a Speciális beállítások menüt.

  6. Az Egyéni jogcímszolgáltató mellett válassza a Konfigurálás lehetőséget.

  7. Bontsa ki az Egyéni jogcímszolgáltató legördülő listában, és válassza ki a korábban létrehozott jogkivonat-kiállítási eseményt .

  8. Válassza a Mentés lehetőséget.

Ezután rendelje hozzá az egyéni jogcímszolgáltató attribútumait, amelyeket jogcímekként kell kibocsátani a jogkivonatba:

  1. Új jogcím hozzáadásához válassza az Új jogcím hozzáadása lehetőséget. Adjon nevet a kibocsátani kívánt jogcímnek, például dateOfBirth.

  2. A Forrás területen válassza az Attribútum lehetőséget, és válassza a CustomClaimsProvider.dateOfBirth lehetőséget a Forrás attribútum legördülő listában.

    Képernyőkép, amely bemutatja, hogyan adhat hozzá jogcímleképezést az alkalmazáshoz.

  3. Válassza a Mentés lehetőséget.

  4. Ismételje meg ezt a folyamatot a customClaimsProvider.customRoles, a customClaimsProvider.apiVersion és a customClaimsProvider.correlationId attribútumok és a megfelelő név hozzáadásához. Érdemes a jogcím nevét az attribútum nevével egyezni.

4. lépés: Az Azure-függvény védelme

A Microsoft Entra egyéni hitelesítési bővítmény kiszolgálói folyamattal szerzi be a HTTP-fejlécben Authorization az Azure-függvénynek küldött hozzáférési jogkivonatot. Amikor közzéteszi a függvényt az Azure-ban, különösen éles környezetben, ellenőriznie kell az engedélyezési fejlécben küldött jogkivonatot.

Az Azure-függvény védelme érdekében kövesse az alábbi lépéseket a Microsoft Entra-hitelesítés integrálásához a bejövő jogkivonatok Azure Functions-hitelesítési események API-alkalmazásregisztrációjával való érvényesítéséhez. Válasszon az alábbi lapok közül a bérlő típusa alapján.

Feljegyzés

Ha az Azure-függvényalkalmazás egy másik Azure-bérlőben van üzemeltetve, mint abban a bérlőben, amelyben az egyéni hitelesítési bővítmény regisztrálva van, válassza a Open ID Csatlakozás lapot.

4.1 A Microsoft Entra identitásszolgáltató használata

Az alábbi lépésekkel adja hozzá a Microsoft Entrát identitásszolgáltatóként az Azure-függvényalkalmazáshoz.

  1. Az Azure Portalon keresse meg és válassza ki a korábban közzétett függvényalkalmazást.

  2. A Gépház területen válassza a Hitelesítés lehetőséget.

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

  4. Válassza ki a Microsoftot identitásszolgáltatóként.

  5. Bérlőtípusként válassza a Munkaerő lehetőséget.

  6. Az Alkalmazásregisztráció területen válassza ki a meglévő alkalmazásregisztrációt ebben a könyvtárban az alkalmazásregisztrációs típushoz, majd válassza ki az egyéni jogcímszolgáltató regisztrálásakor korábban létrehozott Azure Functions-hitelesítési események API-alkalmazásregisztrációját.

  7. Adja meg a következő kiállító URL-címét, https://login.microsoftonline.com/{tenantId}/v2.0ahol {tenantId} a munkaerő-bérlő bérlőazonosítója található.

  8. A Nem hitelesített kérések területen válassza a HTTP 401 Jogosulatlanul lehetőséget identitásszolgáltatóként.

  9. Törölje a tokentároló beállítás kijelölését.

  10. Válassza a Hozzáadás lehetőséget, ha hitelesítést szeretne hozzáadni az Azure-függvényhez.

    Képernyőkép arról, hogyan adhat hozzá hitelesítést a függvényalkalmazáshoz egy munkaerő-bérlőben.

4.2 Az OpenID Csatlakozás identitásszolgáltató használata

Ha konfigurálta a Microsoft identitásszolgáltatót, hagyja ki ezt a lépést. Ellenkező esetben, ha az Azure-függvény egy másik bérlő alatt van üzemeltetve, mint az a bérlő, amelyben az egyéni hitelesítési bővítmény regisztrálva van, kövesse az alábbi lépéseket a függvény védelméhez:

Titkos ügyfélkód létrehozása

  1. Az Azure Portal kezdőlapján válassza a Microsoft Entra-azonosítót> Alkalmazásregisztrációk.
  2. Válassza ki a korábban létrehozott Azure Functions-hitelesítési események API-alkalmazásregisztrációját.
  3. Válassza a Tanúsítványok > titkos>ügyfélkulcsok új ügyféltitkot>.
  4. Válasszon lejáratot a titkos kódhoz, vagy adjon meg egy egyéni élettartamot, adjon meg egy leírást, és válassza a Hozzáadás lehetőséget.
  5. Jegyezze fel a titkos kód értékét az ügyfélalkalmazás kódjában való használatra. Ez a titkos érték soha többé nem jelenik meg a lap elhagyása után.

Adja hozzá az OpenID Csatlakozás identitásszolgáltatót az Azure-függvényalkalmazáshoz.

  1. Keresse meg és válassza ki a korábban közzétett függvényalkalmazást.

  2. A Gépház területen válassza a Hitelesítés lehetőséget.

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

  4. Identitásszolgáltatóként válassza az OpenID Csatlakozás lehetőséget.

  5. Adjon meg egy nevet, például a Contoso Microsoft Entra-azonosítót.

  6. A Metaadatok bejegyzés alatt adja meg a következő URL-címet a dokumentum URL-címéhez. Cserélje le a {tenantId} Microsoft Entra-bérlő azonosítóját.

    https://login.microsoftonline.com/{tenantId}/v2.0/.well-known/openid-configuration
    
  7. Az alkalmazásregisztráció alatt adja meg a korábban létrehozott Azure Functions-hitelesítési események API-alkalmazásregisztrációjának alkalmazásazonosítóját (ügyfélazonosítóját).

  8. Térjen vissza az Azure-függvényhez az alkalmazásregisztráció alatt, és adja meg az ügyfél titkos kódját.

  9. Törölje a tokentároló beállítás kijelölését.

  10. Válassza a Hozzáadás lehetőséget az OpenID Csatlakozás identitásszolgáltató hozzáadásához.

5. lépés: Az alkalmazás tesztelése

Az egyéni jogcímszolgáltató teszteléséhez kövesse az alábbi lépéseket:

  1. Nyisson meg egy új privát böngészőt, és navigáljon és jelentkezzen be az alábbi URL-címen keresztül.

    https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/authorize?client_id={App_to_enrich_ID}&response_type=id_token&redirect_uri=https://jwt.ms&scope=openid&state=12345&nonce=12345
    
  2. Cserélje le {tenantId} a bérlőazonosítót, a bérlőnevet vagy az egyik ellenőrzött tartománynevet. Például: contoso.onmicrosoft.com.

  3. Cserélje le {App_to_enrich_ID} a Saját tesztalkalmazás ügyfélazonosítóját.

  4. A bejelentkezés után a dekódolt jogkivonat a következő helyen https://jwt.msjelenik meg: . Ellenőrizze, hogy az Azure-függvény jogcímei megjelennek-e például a dekódolt jogkivonatban dateOfBirth.

Lásd még