Az Azure AD B2C egyéni szabályzatának áttekintése

Custom policies are configuration files that define the behavior of your Azure Active Directory B2C (Azure AD B2C) tenant. Bár a felhasználói folyamatok előre vannak definiálva az Azure AD B2C portálon a leggyakoribb identitásfeladatokhoz, az identitásfejlesztők egyéni szabályzatokat szerkeszthetnek számos különböző feladat elvégzéséhez.

Az egyéni szabályzatok teljes mértékben konfigurálhatók és szabályzatalapúak. Az egyéni szabályzatok a standard protokollokban lévő entitások közötti megbízhatóságot vezénylik. Például OpenID Csatlakozás, OAuth, SAML és néhány nem megfelelő, például REST API-alapú rendszer-rendszer jogcímcsere. A keretrendszer felhasználóbarát, fehér címkével ellátott szolgáltatásokat hoz létre.

Az egyéni szabályzatok egy vagy több XML-formátumú fájlként jelennek meg, amelyek hierarchikus láncban hivatkoznak egymásra. Az XML-elemek határozzák meg az építőelemeket, a felhasználóval és más felekkel való interakciót, valamint az üzleti logikát.

Egyéni szabályzat kezdőcsomagja

Az Azure AD B2C egyéni szabályzat kezdőcsomagja számos előre összeállított szabályzattal rendelkezik, amelyekkel gyorsan megkezdheti az első lépéseket. Ezen kezdőcsomagok mindegyike tartalmazza a leírt forgatókönyvek eléréséhez szükséges legkisebb számú technikai profilt és felhasználói folyamatot:

  • LocalAccounts – Csak a helyi fiókok használatát engedélyezi.
  • SocialAccounts – Csak közösségi (vagy összevont) fiókok használatát engedélyezi.
  • SocialAndLocalAccounts – Lehetővé teszi a helyi és a közösségi fiókok használatát is. A legtöbb minta erre a szabályzatra hivatkozik.
  • SocialAndLocalAccountsWithMFA – Engedélyezi a közösségi, helyi és többtényezős hitelesítési lehetőségeket.

Az Azure AD B2C-minták GitHub-adattárában számos továbbfejlesztett Azure AD B2C egyéni CIAM-felhasználói folyamathoz és forgatókönyvhöz találhat mintákat. Ilyenek például a helyi fiókszabályzat fejlesztései, a közösségi fiók házirendjének fejlesztései, az MFA fejlesztései, a felhasználói felület fejlesztései, az általános fejlesztések, az alkalmazásmigrálás, a felhasználói migrálás, a feltételes hozzáférés, a webes teszt és a CI/CD.

Az alapok ismertetése

Igénylések

A jogcímek ideiglenes adattárolást biztosítanak az Azure AD B2C-szabályzat végrehajtása során. A jogcímek inkább a programozó nyelv változóihoz hasonlóak. Tárolhatja a felhasználó adatait, például az utónevet, a vezetéknevet vagy a felhasználótól vagy más rendszerektől beszerzett bármely egyéb jogcímet (jogcímcsere). A jogcímséma az a hely, ahol a jogcímeket deklarálja.

A szabályzat futtatásakor az Azure AD B2C jogcímeket küld és fogad belső és külső felektől, majd ezeknek a jogcímeknek egy részét elküldi a függő entitásalkalmazásnak a jogkivonat részeként. A jogcímek a következő módokon használhatók:

  • A rendszer ment, olvas vagy frissít egy jogcímet a címtár felhasználói objektumán.
  • A rendszer egy külső identitásszolgáltatótól kap jogcímet.
  • A jogcímek küldése vagy fogadása egyéni REST API-szolgáltatással történik.
  • A rendszer jogcímként gyűjt adatokat a felhasználótól a regisztrációs vagy szerkesztési profilfolyamatok során.

A jogcímek módosítása

A jogcímátalakítások előre definiált függvények , amelyekkel egy adott jogcímet átalakíthat egy másikra, kiértékelhet egy jogcímet, vagy beállíthat egy jogcímértéket. Például elemet adhat hozzá egy sztringgyűjteményhez, módosíthatja egy sztring esetét, vagy kiértékelhet egy dátum- és időigényt. A jogcímátalakítás egy olyan átalakítási módszert határoz meg, amely szintén előre definiálva van.

Felhasználói felület testreszabása és honosítása

Ha adatokat szeretne gyűjteni a felhasználóktól egy lap webböngészőben való bemutatásával, használja az önérvényesítő technikai profilt. Az önaláírt műszaki profilt szerkesztheti jogcímek hozzáadásához és a felhasználói bemenet testreszabásához.

Ha testre szeretné szabni a felhasználói felületet az önérvényesített technikai profilhoz, meg kell adnia egy URL-címet a tartalomdefiníciós elemben, testre szabott HTML-tartalommal. Az önérvényesített műszaki profilban erre a tartalomdefiníció-azonosítóra mutat.

A nyelvspecifikus sztringek testreszabásához használja a honosítási elemet. A tartalomdefiníciók tartalmazhatnak egy honosítási hivatkozást, amely meghatározza a betöltendő honosított erőforrások listáját. Az Azure AD B2C egyesíti a felhasználói felület elemeit az URL-címről betöltött HTML-tartalommal, majd megjeleníti a lapot a felhasználónak.

Függő entitás házirendjének áttekintése

Egy függő entitásalkalmazás, amely az SAML protokollban szolgáltatóként ismert, meghívja a függő entitás szabályzatát egy adott felhasználói folyamat végrehajtására. A függő entitás házirendje meghatározza a végrehajtandó felhasználói folyamatot, valamint a jogkivonat által tartalmazott jogcímek listáját.

Diagram showing the policy execution flow

Az azonos szabályzatot használó függő entitások minden alkalmazása ugyanazokat a jogkivonat-jogcímeket kapja meg, és a felhasználó ugyanazon a felhasználói folyamaton megy keresztül.

Felhasználói folyamatok

A felhasználói folyamatok lehetővé teszik, hogy az üzleti logikát olyan elérési úttal definiálja, amelyen keresztül a felhasználó hozzáfér az alkalmazáshoz. A felhasználó végigvezeti a felhasználói folyamaton, hogy lekérje az alkalmazásnak bemutatni kívánt jogcímeket. A felhasználói folyamat vezénylési lépések sorozatából épül fel. A jogkivonat beszerzéséhez a felhasználónak el kell érnie az utolsó lépést.

Az alábbi utasítások bemutatják, hogyan adhat hozzá vezénylési lépéseket a közösségi és a helyi fiók kezdőcsomag-szabályzatához . Íme egy példa egy REST API-hívásra, amelyet hozzáadtunk.

customized user journey

Vezénylési lépések

A vezénylési lépés egy olyan metódusra hivatkozik, amely megvalósítja a kívánt célját vagy funkcióit. Ezt a módszert technikai profilnak nevezzük. Ha a felhasználói folyamatnak elágaztatásra van szüksége az üzleti logika jobb megjelenítéséhez, a vezénylési lépés az alútra hivatkozik. Az alútút saját vezénylési lépéseket tartalmaz.

A jogkivonat beszerzéséhez a felhasználónak el kell érnie a felhasználói folyamat utolsó vezénylési lépését. Előfordulhat azonban, hogy a felhasználóknak nem kell végigjárni az összes vezénylési lépést. A vezénylési lépések feltételesen végrehajthatók a vezénylési lépésben meghatározott előfeltételek alapján.

A vezénylési lépés befejezése után az Azure AD B2C a kimeneti jogcímeket a jogcímcsomagban tárolja. A jogcímcsomagban lévő jogcímeket a felhasználói folyamat további vezénylési lépései is felhasználhatják.

Az alábbi ábra bemutatja, hogy a felhasználói folyamat vezénylési lépései hogyan férhetnek hozzá a jogcímcsomaghoz.

Azure AD B2C user journey

Műszaki profil

A technikai profilok interfészt biztosítanak a különböző típusú felekkel való kommunikációhoz. A felhasználói folyamat kombinálja a technikai profilok meghívását vezénylési lépéseken keresztül az üzleti logika meghatározásához.

A technikai profilok minden típusa ugyanazzal a fogalomtal rendelkezik. Bemeneti jogcímeket küldhet, jogcímátalakítást futtathat, és kommunikálhat a konfigurált féllel. A folyamat befejezése után a műszaki profil visszaadja a kimeneti jogcímeket a jogcímcsomagnak. További információkért tekintse meg a műszaki profilok áttekintését.

Érvényesítési műszaki profil

Amikor egy felhasználó interakcióba lép a felhasználói felülettel, érdemes lehet ellenőriznie az összegyűjtött adatokat. A felhasználóval való interakcióhoz önaláértesített műszaki profilt kell használni.

A felhasználói bemenet ellenőrzéséhez a rendszer egy érvényesítési műszaki profilt hív meg az önaláírt műszaki profilból. Az érvényesítési műszaki profil egy nem interaktív műszaki profil meghívására szolgáló módszer. Ebben az esetben a műszaki profil kimeneti jogcímeket vagy hibaüzenetet adhat vissza. A hibaüzenet a képernyőn jelenik meg a felhasználó számára, így a felhasználó újra próbálkozhat.

Az alábbi ábra bemutatja, hogy az Azure AD B2C hogyan használ érvényesítési műszaki profilt a felhasználói hitelesítő adatok ellenőrzéséhez.

Validation technical profile diagram

Öröklési modell

Minden kezdőcsomag a következő fájlokat tartalmazza:

  • A definíciók többségét tartalmazó alapfájl . A szabályzatok hibaelhárításához és hosszú távú karbantartásához próbálja meg minimalizálni a fájlban végrehajtott módosítások számát.
  • A honosítási sztringeket tartalmazó honosítási fájl. Ez a házirendfájl az alapfájlból származik. Ezzel a fájllal különböző nyelveket használhat az ügyfél igényeinek megfelelően.
  • Egy bővítményfájl , amely a bérlő egyedi konfigurációs módosításait tartalmazza. Ez a házirendfájl a honosítási fájlból származik. Ezzel a fájllal új funkciókat adhat hozzá, vagy felülbírálhatja a meglévő funkciókat. Ezzel a fájllal például összevonhatja az új identitásszolgáltatókat.
  • Egy függő entitás (RP) fájl, amely az egyetlen feladatközpontú fájl, amelyet közvetlenül a függő entitásalkalmazás hív meg, például webes, mobil- vagy asztali alkalmazásokkal. Minden egyedi feladathoz, például a regisztrációhoz, a bejelentkezéshez vagy a profil szerkesztéséhez saját függő entitás házirendfájlja szükséges. Ez a házirendfájl a bővítményfájlból származik.

Az öröklési modell a következő:

  • A gyermekházirend bármilyen szinten örökölhető a szülőszabályzattól, és új elemek hozzáadásával bővíthető.
  • Összetettebb forgatókönyvek esetén további öröklési szinteket adhat hozzá (összesen legfeljebb 10-et).
  • További függő entitásokra vonatkozó szabályzatokat is hozzáadhat. Törölheti például a fiókomat, módosíthatja a telefonszámot, az SAML függő entitás szabályzatát stb.

Az alábbi ábra a szabályzatfájlok és a függő entitásalkalmazások közötti kapcsolatot mutatja be.

Diagram showing the trust framework policy inheritance model

Útmutatás és ajánlott eljárások

Best practices

Egy egyéni Azure AD B2C-szabályzatban integrálhatja saját üzleti logikáját a szükséges felhasználói élmények létrehozásához és a szolgáltatás funkcióinak kibővítéséhez. Az első lépésekhez számos ajánlott eljárás és javaslat érhető el.

  • Hozza létre a logikát a bővítményházirendben vagy a függő entitás szabályzatában. Hozzáadhat új elemeket, amelyek felülírják az alapházirendet ugyanazzal az azonosítóval. Ez a megközelítés lehetővé teszi a projekt vertikális felskálázását, és megkönnyíti az alapházirend későbbi frissítését, ha a Microsoft új kezdőcsomagokat ad ki.
  • Az alapszabályzaton belül javasoljuk, hogy kerülje a módosítások elkerülését. Szükség esetén megjegyzéseket fűz a módosításokhoz.
  • Amikor felülír egy elemet, például a műszaki profil metaadatait, kerülje a teljes műszaki profil másolását az alapszabályzatból. Ehelyett csak az elem szükséges szakaszát másolja ki. A módosítás elvégzésére példa az e-mail-ellenőrzés letiltása című témakörben olvasható.
  • A technikai profilok duplikációjának csökkentése érdekében, ahol az alapvető funkciók meg vannak osztva, használjon technikai profilok felvételét.
  • A bejelentkezés során ne írjon a Microsoft Entra könyvtárba, ami szabályozással kapcsolatos problémákhoz vezethet.
  • Ha a szabályzat külső függőségekkel (például REST API-kkal) rendelkezik, győződjön meg arról, hogy magas rendelkezésre állásúak.
  • A jobb felhasználói élmény érdekében győződjön meg arról, hogy az egyéni HTML-sablonok globálisan üzembe vannak helyezve online tartalomkézbesítéssel. Az Azure Content Delivery Network (CDN) lehetővé teszi a betöltési idő csökkentését, a sávszélesség megtakarítását és a válaszsebesség javítását.
  • Ha módosítani szeretné a felhasználói folyamatot, másolja a teljes felhasználói folyamatot az alapházirendből a bővítményházirendbe. Adjon meg egy egyedi felhasználói útazonosítót a másolt felhasználói úthoz. Ezután a függő entitás házirendjében módosítsa az alapértelmezett felhasználói folyamat elemet úgy, hogy az az új felhasználói folyamatra mutasson.

Hibaelhárítás

Az Azure AD B2C-szabályzatokkal való fejlesztés során hibákba vagy kivételekbe ütközhet a felhasználói folyamat végrehajtása során. A vizsgálat az Application Elemzések használatával végezhető el.

  • Az Alkalmazás Elemzések integrálása az Azure AD B2C-vel a kivételek diagnosztizálásához.
  • A Visual Studio Code Azure AD B2C-bővítménye segíthet a naplók elérésében és vizualizációjában a szabályzat neve és ideje alapján.
  • Az egyéni szabályzatok beállításának leggyakoribb hibája a helytelenül formázott XML. Az XML-séma érvényesítése az XML-fájl feltöltése előtt azonosítja a hibákat.

Continuous integration

Az Azure Pipelinesban beállított folyamatos integrációs és kézbesítési (CI/CD) folyamat használatával az Azure AD B2C egyéni szabályzatait belefoglalhatja a szoftverkézbesítési és kódvezérlési automatizálásba. Amikor különböző Azure AD B2C-környezetekben, például fejlesztésben, tesztelésben és éles környezetben helyezi üzembe az üzembe helyezést, javasoljuk, hogy távolítsa el a manuális folyamatokat, és végezzen automatizált tesztelést az Azure Pipelines használatával.

Prepare your environment

Ismerkedjen meg az Azure AD B2C egyéni szabályzatával:

  1. Azure AD B2C-bérlő létrehozása
  2. Regisztráljon egy webalkalmazást az Azure Portalon, hogy tesztelhesse a szabályzatot.
  3. Adja hozzá a szükséges szabályzatkulcsokat , és regisztrálja az Identity Experience Framework-alkalmazásokat.
  4. Szerezze be az Azure AD B2C-szabályzat kezdőcsomagját , és töltse fel a bérlőjére.
  5. A kezdőcsomag feltöltése után tesztelje a regisztrációs vagy bejelentkezési szabályzatot.
  6. Javasoljuk, hogy töltse le és telepítse a Visual Studio Code-ot (VS Code). A Visual Studio Code egy egyszerű, de hatékony forráskódszerkesztő, amely az asztalon fut, és Windows, macOS és Linux rendszeren érhető el. A VS Code segítségével gyorsan végigjárhatja és szerkesztheti az Azure AD B2C egyéni szabályzat XML-fájljait a VS Code Azure AD B2C-bővítményének telepítésével

További lépések

Az Azure AD B2C-szabályzat beállítása és tesztelése után megkezdheti a szabályzat testreszabását. A következő cikkekből megtudhatja, hogyan: