Oktatóanyag: Egyéni szerepkörök hozzárendelése egy függvényhez és a Microsoft Graphhoz
Ez a cikk bemutatja, hogyan használható függvény a Microsoft Graph lekérdezésére és egyéni szerepkörök hozzárendelésére egy felhasználóhoz az Active Directory-csoporttagság alapján.
Eben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Statikus webalkalmazás üzembe helyezése.
- Microsoft Entra-alkalmazásregisztráció létrehozása.
- Egyéni hitelesítés beállítása a Microsoft Entra-azonosítóval.
- Konfiguráljon egy kiszolgáló nélküli függvényt, amely lekérdezi a felhasználó Active Directory-csoporttagságát, és visszaadja az egyéni szerepkörök listáját.
Feljegyzés
Ez az oktatóanyag megköveteli, hogy egy függvényt használjon a szerepkörök hozzárendeléséhez. A függvényalapú szerepkörkezelés jelenleg előzetes verzióban érhető el. Az oktatóanyag elvégzéséhez szükséges jogosultsági szint a "User.Read.All".
Az alkalmazás API-jában van egy GetRoles nevű függvény. Ez a függvény a felhasználó hozzáférési jogkivonatával kérdezi le az Active Directoryt a Microsoft Graphból. Ha a felhasználó tagja az alkalmazásban definiált csoportoknak, a rendszer leképezi a megfelelő egyéni szerepköröket a felhasználóra.
Előfeltételek
Követelmény | Megjegyzések |
---|---|
Aktív Azure-fiók | Ha nem rendelkezik ilyen fiókkal, ingyenesen létrehozhat fiókot. |
Microsoft Entra-engedélyek | Megfelelő engedélyekkel kell rendelkeznie a Microsoft Entra-alkalmazások létrehozásához. |
GitHub-adattár létrehozása
Hozzon létre egy adattárat a szerepkörfüggvény-sablon alapján. Új adattár létrehozásához lépjen az alábbi helyre.
Nevezze el az adattárat az egyéni szerepkörök alkalmazásnak.
Válassza az Adattár létrehozása sablonból lehetőséget.
A statikus webalkalmazás üzembe helyezése az Azure-ban
A bal felső sarokban válassza az Erőforrás létrehozása lehetőséget.
Írja be a keresőmezőbe a statikus webalkalmazásokat.
Válassza a Static Web Apps elemet.
Válassza a Létrehozás lehetőséget.
Konfigurálja a statikus webalkalmazást a következő információkkal:
Beállítás Érték Jegyzetek Előfizetés Válassza ki az Azure-előfizetését. Erőforráscsoport Hozzon létre egy új csoportot a my-custom-roles-app-group névvel. Név my-custom-roles-app Konstrukció típusa Standard A hitelesítés testreszabásához és a szerepkörök függvényekkel való hozzárendeléséhez standard csomagra van szükség. Az API régiója Válassza ki az Önhöz legközelebb eső régiót. Az Üzembe helyezés részletei szakaszban:
Beállítás Érték Forrás Válassza a GitHub lehetőséget. Szervezet Válassza ki azt a szervezetet, ahol létrehozta az adattárat. Adattár Válassza ki a saját-custom-roles-appot. Ág Válassza ki a fő elemet. A Build Details (Összeállítás részletei) szakaszban adja hozzá az alkalmazás konfigurációs adatait.
Beállítás Érték Jegyzetek Előre beállított buildek Válassza az Egyéni lehetőséget. Alkalmazás helye Adja meg a /frontend értéket. Ez a mappa tartalmazza az előtéralkalmazást. Az API helye /Api Az API-függvényeket tartalmazó adattár mappája. Kimeneti hely Hagyja üresen. Ez az alkalmazás nem rendelkezik buildkimenettel. Válassza az Áttekintés + létrehozás lehetőséget.
Válassza a Létrehozás az első üzembe helyezés kezdeményezése lehetőséget.
A folyamat befejezése után válassza az Erőforrás megnyitása lehetőséget az új statikus webalkalmazás megnyitásához.
Az áttekintés szakaszban keresse meg az alkalmazás URL-címét. Másolja ezt az értéket egy szövegszerkesztőbe az Active Directory-hitelesítés beállításának következő lépéseihez.
Microsoft Entra-alkalmazás létrehozása
Az Azure Portalon keresse meg és nyissa meg a Microsoft Entra-azonosítót.
A Kezelés menüben válassza a Alkalmazásregisztrációk.
Válassza az Új regisztráció lehetőséget az alkalmazás regisztrálása ablak megnyitásához. Írja be a következő értékeket:
Beállítás Érték Jegyzetek Név Írja be a MyStaticWebApp parancsot. Támogatott fióktípusok Csak ebben a szervezeti címtárban válassza a Fiókok lehetőséget. Átirányítási URI Válassza a Web lehetőséget, és adja meg a statikus webalkalmazás Microsoft Entra-hitelesítés visszahívási URL-címét. Írja be <YOUR_SITE_URL>
<YOUR_SITE_URL>/.auth/login/aad/callback
a statikus webalkalmazás URL-címét.Ezt az URL-címet másolta egy szövegszerkesztőbe egy korábbi lépésben. Válassza ki a pénztárgépet.
Az alkalmazásregisztráció létrehozása után másolja az Alkalmazás (ügyfél) és a Címtár (bérlő) azonosítóját az Essentials szakaszban egy szövegszerkesztőbe.
Ezekre az értékekre szüksége van az Active Directory-hitelesítés statikus webalkalmazásban való konfigurálásához.
Azonosító jogkivonatok engedélyezése
Az alkalmazásregisztrációs beállítások között válassza a Hitelesítés lehetőséget a Kezelés területen.
Az Implicit engedélyezési és hibrid folyamatok szakaszban válassza ki az azonosító jogkivonatokat (implicit és hibrid folyamatokhoz).
A Static Web Apps-futtatókörnyezethez ez a konfiguráció szükséges a felhasználók hitelesítéséhez.
Válassza a Mentés lehetőséget.
Titkos ügyfélkód létrehozása
Az alkalmazásregisztrációs beállítások között válassza a Tanúsítványok > titkos kódok lehetőséget a Kezelés területen.
Az Ügyfél titkos kulcsok szakaszban válassza az Új ügyfélkód lehetőséget.
A Leírás mezőbe írja be a MyStaticWebApp kifejezést.
A Lejárat mezőnél hagyja meg az alapértelmezett 6 hónapos értéket.
Feljegyzés
A titkos kulcsot a lejárati dátum előtt el kell forgatnia egy új titkos kód létrehozásával és az alkalmazás értékével való frissítésével.
Válassza a Hozzáadás lehetőséget.
Másolja a létrehozott ügyfélkulcs értékét egy szövegszerkesztőbe.
Erre az értékre van szüksége az Active Directory-hitelesítés statikus webalkalmazásban való konfigurálásához.
Active Directory-hitelesítés konfigurálása
Egy böngészőben nyissa meg az üzembe helyezett statikus webalkalmazást tartalmazó GitHub-adattárat.
Nyissa meg az alkalmazás konfigurációs fájlját az előtérben/staticwebapp.config.json. Ez a fájl a következő szakaszt tartalmazza:
"auth": { "rolesSource": "/api/GetRoles", "identityProviders": { "azureActiveDirectory": { "userDetailsClaim": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", "registration": { "openIdIssuer": "https://login.microsoftonline.com/<YOUR_AAD_TENANT_ID>", "clientIdSettingName": "AAD_CLIENT_ID", "clientSecretSettingName": "AAD_CLIENT_SECRET" }, "login": { "loginParameters": [ "resource=https://graph.microsoft.com" ] } } } },
Ez a konfiguráció a következő beállításokból áll:
Tulajdonságok Leírás rolesSource
Az URL-cím, ahol a bejelentkezési folyamat lekéri az elérhető szerepkörök listáját. A mintaalkalmazás URL-címe /api/GetRoles
.userDetailsClaim
A bejelentkezési kérelem érvényesítéséhez használt séma URL-címe. openIdIssuer
A Microsoft Entra bejelentkezési útvonala, hozzáfűzve a bérlőazonosítóval. clientIdSettingName
Az Ön Microsoft Entra-ügyfélazonosítója. clientSecretSettingName
A Microsoft Entra-ügyfél titkos kódértéke. loginParameters
A Microsoft Graph hozzáférési jogkivonatának beszerzéséhez a loginParameters
mezőt konfigurálni kell a következővelresource=https://graph.microsoft.com
: .A fájl frissítéséhez válassza a Szerkesztés lehetőséget.
Frissítse az openIdIssuer értékét úgy, hogy lecseréli
https://login.microsoftonline.com/<YOUR_AAD_TENANT_ID>
<YOUR_AAD_TENANT_ID>
a Microsoft Entra-azonosító címtár-(bérlői) azonosítóját.Válassza a Módosítások véglegesítése...lehetőséget.
Írjon be egy véglegesítési üzenetet, és válassza a Módosítások véglegesítése lehetőséget.
A módosítások véglegesítése egy GitHub Actions-futtatást kezdeményez a statikus webalkalmazás frissítéséhez.
Nyissa meg statikus webalkalmazás-erőforrását az Azure Portalon.
Válassza a Menüsáv Konfiguráció elemét .
Az Alkalmazásbeállítások szakaszban adja hozzá a következő beállításokat:
Név szerint Érték AAD_CLIENT_ID
Az Active Directory-alkalmazás (ügyfél) azonosítója. AAD_CLIENT_SECRET
Az Active Directory-alkalmazás titkos kódértéke. Válassza a Mentés lehetőséget.
Szerepkörök létrehozása
Nyissa meg az Active Directory-alkalmazásregisztrációt az Azure Portalon.
A Kezelés csoportban válassza az Alkalmazásszerepkörök lehetőséget.
Válassza az Alkalmazásszerepkör létrehozása lehetőséget, és adja meg a következő értékeket:
Beállítás Érték Megjelenítendő név Adja meg a rendszergazda nevét. Engedélyezett tagtípusok Válassza ki a Felhasználók/Csoportok lehetőséget. Érték Adja meg a rendszergazda nevét. Leírás Adja meg Rendszergazda istratort. Jelölje be az alkalmazásszerepkör engedélyezéséhez szükséges jelölőnégyzetet ?
Válassza az Alkalmazás lehetőséget.
Most ismételje meg ugyanezt a folyamatot egy olvasó nevű szerepkör esetében.
Másolja ki az egyes szerepkörök azonosítóértékét , és helyezze őket félre egy szövegszerkesztőben.
Egyéni szerepkörök ellenőrzése
A mintaalkalmazás tartalmaz egy API-függvényt (api/GetRoles/index.js), amely lekérdezi a Microsoft Graphot annak megállapításához, hogy egy felhasználó egy előre definiált csoportban van-e.
A felhasználó csoporttagságai alapján a függvény egyéni szerepköröket rendel a felhasználóhoz. Az alkalmazás úgy van konfigurálva, hogy ezen egyéni szerepkörök alapján korlátozza bizonyos útvonalakat.
A GitHub-adattárban nyissa meg az api/GetRoles/index.js címen található GetRoles függvényt.
A tetején található egy
roleGroupMappings
objektum, amely egyéni felhasználói szerepköröket képez le a Microsoft Entra-csoportokhoz.Válassza a Szerkesztés lehetőséget.
Frissítse az objektumot a Microsoft Entra-bérlő csoportazonosítóival.
Ha például azonosítókat tartalmazó csoportokkal rendelkezik
6b0b2fff-53e9-4cff-914f-dd97a13bfbd6
, ésb6059db5-9cef-4b27-9434-bb793aa31805
az objektumot a következőre frissítené:const roleGroupMappings = { 'admin': '6b0b2fff-53e9-4cff-914f-dd97a13bfbd6', 'reader': 'b6059db5-9cef-4b27-9434-bb793aa31805' };
A GetRoles függvény akkor lesz meghívva, ha egy felhasználó sikeresen hitelesítve van a Microsoft Entra ID azonosítójával. A függvény a felhasználó hozzáférési jogkivonatával kérdezi le az Active Directory-csoporttagságukat a Microsoft Graphból. Ha a felhasználó tagja az objektumban
roleGroupMappings
definiált csoportoknak, a rendszer visszaadja a megfelelő egyéni szerepköröket.A fenti példában, ha egy felhasználó az Active Directory-csoport tagja azonosítóval
b6059db5-9cef-4b27-9434-bb793aa31805
, megkapja a szerepkörtreader
.Válassza a Módosítások véglegesítése...lehetőséget.
Adjon hozzá egy véglegesítési üzenetet, és válassza a Módosítások véglegesítése lehetőséget.
Ezeknek a módosításoknak a végrehajtása a statikus webalkalmazás frissítéséhez kezdeményezi a buildelést.
Ha az üzembe helyezés befejeződött, az alkalmazás URL-címére lépve ellenőrizheti a módosításokat.
Jelentkezzen be a statikus webalkalmazásba a Microsoft Entra ID azonosítójával.
Amikor bejelentkezik, a mintaalkalmazás megjeleníti az identitás Active Directory-csoporttagsága alapján hozzárendelt szerepkörök listáját.
Ezektől a szerepköröktől függően az alkalmazás egyes útvonalainak elérése engedélyezett vagy tiltott.
Feljegyzés
Egyes Microsoft Graph-lekérdezések több oldalnyi adatot adnak vissza. Ha több lekérdezési kérelemre van szükség, a Microsoft Graph visszaad egy @odata.nextLink
tulajdonságot a válaszban, amely egy URL-címet tartalmaz az eredmények következő oldalára. További információ: Microsoft Graph-adatok lapozása az alkalmazásban
Az erőforrások eltávolítása
Törölje az üzembe helyezett erőforrásokat az erőforráscsoport törlésével.
Az Azure Portalon válassza az Erőforráscsoport lehetőséget a bal oldali menüben.
A Szűrés név alapján mezőben adja meg az erőforráscsoport nevét.
Válassza ki az oktatóanyagban használt erőforráscsoport nevét.
A felső menüben válassza az Erőforráscsoport törlése lehetőséget.