Manage Azure AD B2C with Microsoft Graph
A Microsoft Graph lehetővé teszi az erőforrások kezelését az Azure AD B2C-címtárban. Az Alábbi Microsoft Graph API-műveletek támogatottak az Azure AD B2C-erőforrások kezeléséhez, beleértve a felhasználókat, az identitásszolgáltatókat, a felhasználói folyamatokat, az egyéni szabályzatokat és a szabályzatkulcsokat. A következő szakaszokban található hivatkozások a művelethez tartozó Microsoft Graph API-referencia megfelelő lapjára irányulnak.
Megjegyzés:
Az Azure AD B2C-címtárat programozott módon is létrehozhatja, valamint az Azure-előfizetéshez társított megfelelő Azure-erőforrást is. Ez a funkció nem a Microsoft Graph API-n, hanem az Azure REST API-n keresztül érhető el. További információ: B2C-bérlők – Létrehozás.
Ebből a videóból megismerheti az Azure AD B2C felhasználói migrálását a Microsoft Graph API használatával.
Előfeltételek
- Az MS Graph API használatához és az Azure AD B2C-bérlő erőforrásainak használatához olyan alkalmazásregisztrációra van szükség, amely megadja az ehhez szükséges engedélyeket. A Felügyeleti alkalmazás által használható alkalmazásregisztráció létrehozásához kövesse a Microsoft Graph-alkalmazás regisztrálása című cikk lépéseit.
Felhasználók kezelése
Megjegyzés:
Az Azure AD B2C jelenleg nem támogatja a címtárobjektumok speciális lekérdezési képességeit. Ez azt jelenti, hogy a lekérdezési $count
$search
paraméterek és a Nem (not
), a Nem egyenlő (ne
) és a () operátorokendsWith
nem támogatottak a lekérdezési paraméterben$filter
. További információkért tekintse meg a Microsoft Graph lekérdezési paramétereit és a Microsoft Graph speciális lekérdezési képességeit.
- Felhasználók listázása
- Fogyasztói felhasználó létrehozása
- Felhasználó lekérése
- Felhasználó frissítése
- Delete a user
Felhasználói telefonszámok kezelése
Egy telefonszám, amellyel a felhasználó sms- vagy hanghívásokkal vagy többtényezős hitelesítéssel jelentkezhet be. További információ: Microsoft Entra hitelesítési módszerek API.
Vegye figyelembe, hogy a listaművelet csak engedélyezett telefonszámokat ad vissza. A következő telefonszámot engedélyezni kell a listaműveletekkel való használathoz.
Megjegyzés:
A helyesen ábrázolt telefonszámokat az országkód és a telefonszám között szóközzel tárolja a rendszer. Az Azure AD B2C szolgáltatás jelenleg nem adja hozzá ezt a helyet alapértelmezés szerint.
Önkiszolgáló jelszó-visszaállítási e-mail-cím
Egy e-mail-cím, amelyet a felhasználónév bejelentkezési fiókja használhat a jelszó alaphelyzetbe állításához. További információ: Microsoft Entra hitelesítési módszerek API.
Software OATH token hitelesítési módszer
A szoftveres OATH-jogkivonat egy szoftveralapú számgenerátor, amely az OATH időalapú egyszeri jelszó (TOTP) szabványt használja a többtényezős hitelesítéshez egy hitelesítő alkalmazáson keresztül. A Microsoft Graph API-val kezelheti a felhasználó által regisztrált szoftveres OATH-jogkivonatot:
Identitásszolgáltatók
Az Azure AD B2C-bérlőben kezelheti a felhasználói folyamatok számára elérhető identitásszolgáltatókat .
- Az Azure AD B2C-bérlőben elérhető identitásszolgáltatók listázása
- Az Azure AD B2C-bérlőben konfigurált identitásszolgáltatók listázása
- Identitásszolgáltató létrehozása
- Identitásszolgáltató lekérése
- Identitásszolgáltató frissítése
- Identitásszolgáltató törlése
Felhasználói folyamat (bétaverzió)
Előre összeállított szabályzatok konfigurálása a regisztrációhoz, a bejelentkezéshez, a kombinált regisztrációhoz és a bejelentkezéshez, a jelszó-visszaállításhoz és a profilfrissítéshez.
- Felhasználói folyamatok listázása
- Felhasználói folyamat létrehozása
- Felhasználói folyamat lekérése
- Felhasználói folyamat törlése
Felhasználói folyamat hitelesítési módszerei (bétaverzió)
Válasszon egy mechanizmust, amely lehetővé teszi a felhasználók számára a helyi fiókokon keresztüli regisztrációt. A helyi fiókok azok a fiókok, ahol az Azure AD B2C elvégzi az identitásérvényesítést. További információ: b2cAuthenticationMethodsPolicy erőforrástípus.
Egyéni szabályzatok (bétaverzió)
Az alábbi műveletek lehetővé teszik az Azure AD B2C megbízhatósági keretrendszer szabályzatainak( más néven egyéni szabályzatok) kezelését.
- A bérlőben konfigurált összes megbízhatósági keretrendszer-szabályzat listázása
- Megbízhatósági keretrendszer szabályzatának létrehozása
- Meglévő megbízhatósági keretrendszer szabályzatának olvasási tulajdonságai
- A megbízhatósági keretrendszer szabályzatának frissítése vagy létrehozása.
- Meglévő megbízhatósági keretrendszer szabályzatának törlése
Szabályzatkulcsok (bétaverzió)
Az Identity Experience Framework egy egyéni szabályzatban hivatkozott titkos kulcsokat tárol az összetevők közötti bizalom kialakításához. Ezek a titkos kulcsok lehetnek szimmetrikus vagy aszimmetrikus kulcsok/értékek. Az Azure Portalon ezek az entitások szabályzatkulcsokként jelennek meg.
A Microsoft Graph API szabályzatkulcsainak legfelső szintű erőforrása a Megbízható keretrendszer kulcskészlete. Minden billentyűkészlet legalább egy kulcsot tartalmaz. Kulcs létrehozásához először hozzon létre egy üres kulcskészletet, majd hozzon létre egy kulcsot a kulcskészletben. Létrehozhat egy manuális titkos kulcsot, feltölthet egy tanúsítványt vagy egy PKCS12-kulcsot. A kulcs lehet egy generált titkos kód, egy sztring (például a Facebook alkalmazás titkos kódja) vagy egy feltöltött tanúsítvány. Ha egy kulcskészlet több billentyűvel rendelkezik, csak az egyik kulcs aktív.
Megbízhatósági keretrendszer szabályzatkulcskészlete
- A megbízhatósági keretrendszer kulcskészleteinek listázása
- Megbízhatósági keretrendszer kulcskészleteinek létrehozása
- Kulcskészlet lekérése
- Megbízhatósági keretrendszer kulcskészleteinek frissítése
- Megbízhatósági keretrendszer kulcskészleteinek törlése
Megbízhatósági keretrendszer szabályzatkulcsa
- Aktuális aktív kulcs lekérése a kulcskészletben
- Kulcs létrehozása a kulcskészletben
- Sztringalapú titkos kód feltöltése
- X.509-tanúsítvány feltöltése
- PKCS12 formátumú tanúsítvány feltöltése
Alkalmazások
- Alkalmazások listázása
- Alkalmazás létrehozása
- Alkalmazás frissítése
- ServicePrincipal létrehozása
- Oauth2Permission Grant létrehozása
- Alkalmazás törlése
Alkalmazásbővítmény (címtárbővítmény) tulajdonságai
Az alkalmazásbővítmények tulajdonságai címtárként vagy Microsoft Entra-bővítményként is ismertek. Az Azure AD B2C-ben való kezeléshez használja az identityUserFlowAttribute erőforrástípust és a hozzá tartozó metódusokat.
- Felhasználói folyamat attribútum létrehozása
- Felhasználói folyamat attribútumainak listázása
- Felhasználói folyamat attribútumának lekérése
- Felhasználói folyamat attribútumának frissítése
- Felhasználói folyamat attribútumának törlése
Felhasználónként legfeljebb 100 könyvtárbővítmény-értéket tárolhat. Egy felhasználó címtárbővítmény-tulajdonságainak kezeléséhez használja az alábbi felhasználói API-kat a Microsoft Graphban.
- Felhasználó frissítése: A címtárbővítmény tulajdonság értékének írása vagy eltávolítása a felhasználói objektumból.
- Felhasználó lekérése: A felhasználó címtárbővítményének értékének lekérése. A tulajdonság alapértelmezés szerint a
beta
végponton keresztül lesz visszaadva, de csak av1.0
végponton$select
keresztül.
A felhasználói folyamatok esetében ezek a bővítménytulajdonságok az Azure Portal használatával kezelhetők. Egyéni szabályzatok esetén az Azure AD B2C létrehozza Önnek a tulajdonságot, amikor a szabályzat először ír értéket a bővítménytulajdonságba.
Megjegyzés:
A Microsoft Entra ID-ban a címtárbővítmények kezelése a extensionProperty erőforrástípuson és a hozzá tartozó metódusokon keresztül történik. Mivel azonban a B2C-ben az alkalmazáson keresztül b2c-extensions-app
használják őket, amelyeket nem szabad frissíteni, az Azure AD B2C-ben kezeli őket az identityUserFlowAttribute erőforrástípus és a hozzá tartozó metódusok használatával.
Bérlői használat
A címtárméret kvótájának lekéréséhez használja a Szervezeti adatok lekérése API-t. A lekérdezési paramétert a $select
következő HTTP-kérésben látható módon kell hozzáadnia:
GET https://graph.microsoft.com/v1.0/organization/organization-id?$select=directorySizeQuota
Cserélje le organization-id
a szervezet vagy a bérlő azonosítóját.
A fenti kérésre adott válasz a következő JSON-kódrészlethez hasonló:
{
"directorySizeQuota": {
"used": 156,
"total": 1250000
}
}
Audit logs
Az Azure AD B2C auditnaplóinak eléréséről további információt az Azure AD B2C auditnaplóinak elérése című témakörben talál.
Feltételes hozzáférés
- A feltételes hozzáférési szabályzatok forgatókönyveinek beépített sablonjainak listázása
- Az összes feltételes hozzáférési szabályzat listázása
- Feltételes hozzáférési szabályzat tulajdonságainak és kapcsolatainak olvasása
- Új feltételes hozzáférési szabályzat létrehozása
- Feltételes hozzáférési szabályzat frissítése
- Feltételes hozzáférési szabályzat törlése
Törölt felhasználók és alkalmazások lekérése vagy visszaállítása
A törölt felhasználók és alkalmazások csak akkor állíthatók vissza, ha az elmúlt 30 napban törölték őket.
- Törölt elemek listázása
- Törölt elem lekérése
- Törölt elem visszaállítása
- Törölt elem végleges törlése
A Microsoft Graph programozott kezelése
Ha kezelni szeretné a Microsoft Graphot, azt alkalmazásként is elvégezheti az alkalmazásengedélyek használatával, vagy delegált engedélyeket is használhat. Delegált engedélyek esetén a felhasználó vagy a rendszergazda hozzájárul az alkalmazás által kért engedélyekhez. Az alkalmazás delegált engedélyt kap arra, hogy bejelentkezett felhasználóként viselkedjen a célerőforrások hívásakor. Az alkalmazásengedélyeket olyan alkalmazások használják, amelyek nem igényelnek bejelentkezett felhasználót, ezért alkalmazásengedélyeket igényelnek. Emiatt csak a rendszergazdák engedélyezhetik az alkalmazásengedélyeket.
Megjegyzés:
A felhasználói folyamatokon vagy egyéni szabályzatokon keresztül bejelentkező felhasználók delegált engedélyei nem használhatók a Microsoft Graph API delegált engedélyei ellen.
Kódminta: Felhasználói fiókok programozott kezelése
Ez a kódminta egy .NET Core-konzolalkalmazás, amely a Microsoft Graph SDK használatával kommunikál a Microsoft Graph API-val. A kód bemutatja, hogyan hívhatja meg az API-t egy Azure AD B2C-bérlő felhasználóinak programozott kezelésére. Letöltheti a mintaarchívumot (*.zip), tallózhat az adattárban a GitHubon, vagy klónozhatja az adattárat:
git clone https://github.com/Azure-Samples/ms-identity-dotnetcore-b2c-account-management.git
Miután beszerezte a kódmintát, konfigurálja a környezethez, majd hozza létre a projektet:
Nyissa meg a projektet a Visual Studióban vagy a Visual Studio Code-ban.
Nyílt
src/appsettings.json
.appSettings
A szakaszban cserélje leyour-b2c-tenant
a bérlő nevét ésApplication (client) ID
Client secret
a felügyeleti alkalmazás regisztrációjának értékeit. További információ: Microsoft Graph-alkalmazás regisztrálása.Nyisson meg egy konzolablakot az adattár helyi klónján belül, váltson a
src
könyvtárra, majd hozza létre a projektet:cd src dotnet build
Futtassa az alkalmazást a
dotnet
következő paranccsal:dotnet bin/Debug/netcoreapp3.1/b2c-ms-graph.dll
Az alkalmazás megjeleníti a végrehajtható parancsok listáját. Lekérheti például az összes felhasználót, lekérhet egyetlen felhasználót, törölhet egy felhasználót, frissítheti a felhasználó jelszavát, és tömegesen importálhatja őket.
Megjegyzés:
Ahhoz, hogy az alkalmazás frissítse a felhasználói fiók jelszavát, meg kell adnia a felhasználói rendszergazdai szerepkört az alkalmazásnak.
Kódfórum
A mintakód a Microsoft Graph SDK-t használja, amelynek célja, hogy leegyszerűsítse a Microsoft Graphhoz hozzáférő, kiváló minőségű, hatékony és rugalmas alkalmazások létrehozását.
A Microsoft Graph API-ra irányuló bármely kéréshez hozzáférési jogkivonat szükséges a hitelesítéshez. A megoldás a Microsoft.Graph.Auth NuGet-csomagot használja, amely a Microsoft Authentication Library (MSAL) hitelesítési forgatókönyvalapú burkolóját biztosítja a Microsoft Graph SDK-val való használathoz.
A RunAsync
Program.cs fájl metódusa:
- Beolvassa az alkalmazásbeállításokat az appsettings.json fájlból
- Inicializálja a hitelesítésszolgáltatót az OAuth 2.0 ügyfél hitelesítő adatainak átadási folyamatával. Az ügyfél hitelesítő adatainak átadási folyamatával az alkalmazás hozzáférési jogkivonatot tud lekérni a Microsoft Graph API meghívásához.
- Beállítja a Microsoft Graph szolgáltatásügyfélt a hitelesítésszolgáltatóval:
// Read application settings from appsettings.json (tenant ID, app ID, client secret, etc.)
AppSettings config = AppSettingsFile.ReadFromJsonFile();
// Initialize the client credential auth provider
var scopes = new[] { "https://graph.microsoft.com/.default" };
var clientSecretCredential = new ClientSecretCredential(config.TenantId, config.AppId, config.ClientSecret);
var graphClient = new GraphServiceClient(clientSecretCredential, scopes);
Az inicializált GraphServiceClient ezután a UserService.cs-ben lesz használva a felhasználókezelési műveletek végrehajtásához. Lekérte például a bérlő felhasználói fiókjainak listáját:
public static async Task ListUsers(GraphServiceClient graphClient)
{
Console.WriteLine("Getting list of users...");
try
{
// Get all users
var users = await graphClient.Users
.Request()
.Select(e => new
{
e.DisplayName,
e.Id,
e.Identities
})
.GetAsync();
// Iterate over all the users in the directory
var pageIterator = PageIterator<User>
.CreatePageIterator(
graphClient,
users,
// Callback executed for each user in the collection
(user) =>
{
Console.WriteLine(JsonSerializer.Serialize(user));
return true;
},
// Used to configure subsequent page requests
(req) =>
{
Console.WriteLine($"Reading next page of users...");
return req;
}
);
await pageIterator.IterateAsync();
}
catch (Exception ex)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(ex.Message);
Console.ResetColor();
}
}
Api-hívások kezdeményezése a Microsoft Graph SDK-kkal : információk beolvasása és írása a Microsoft Graphból, $select
a visszaadott tulajdonságok szabályozása, egyéni lekérdezési paraméterek megadása, valamint a $filter
lekérdezési $orderBy
paraméterek használata.
További lépések
- A JavaScript- és Node.js-kódmintákkal kapcsolatban lásd: B2C felhasználói fiókok kezelése MSAL.js és Microsoft Graph SDK használatával
- Fedezze fel a Graph Explorert , amely lehetővé teszi a Microsoft Graph API-k kipróbálására és azok megismerésére.