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

Enable phone sign-in

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 .

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

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

Megbízhatósági keretrendszer szabályzatkulcsa

Alkalmazások

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ó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 a v1.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

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.

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:

  1. Nyissa meg a projektet a Visual Studióban vagy a Visual Studio Code-ban.

  2. Nyílt src/appsettings.json.

  3. appSettings A szakaszban cserélje le your-b2c-tenant a bérlő nevét és Application (client) IDClient secret a felügyeleti alkalmazás regisztrációjának értékeit. További információ: Microsoft Graph-alkalmazás regisztrálása.

  4. 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
    
  5. 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:

  1. Beolvassa az alkalmazásbeállításokat az appsettings.json fájlból
  2. 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.
  3. 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