Správa Azure AD B2C s využitím Microsoft Graph

Microsoft Graph umožňuje správu prostředků v adresáři Azure AD B2C. následující operace Microsoft Graph API se podporují pro správu prostředků Azure AD B2C, včetně uživatelů, poskytovatelů identity, toků uživatelů, uživatelských zásad a klíčů zásad. každé propojení v následujících částech cílí na odpovídající stránku v rámci referenčního Microsoft Graph rozhraní API pro tuto operaci.

Poznámka

Můžete také programově vytvořit adresář Azure AD B2C sám sebe spolu s odpovídajícím prostředkem Azure propojeným s předplatným Azure. tato funkce není dostupná prostřednictvím rozhraní Microsoft Graph API, ale prostřednictvím Azure REST API. Další informace najdete v tématu B2C klienti – vytvořit.

V tomto videu se dozvíte, jak Azure AD B2C migraci uživatelů pomocí rozhraní Microsoft Graph API.

Požadavky

pokud chcete používat MS Graph API a pracovat s prostředky ve vašem tenantovi Azure AD B2C, budete potřebovat registraci aplikace, která jim uděluje oprávnění. pokud chcete vytvořit registraci aplikace, kterou může vaše aplikace pro správu používat, postupujte podle pokynů v článku správa Azure AD B2C s Microsoft Graph .

Správa uživatelů

Poznámka

Azure AD B2C v současné době nepodporuje rozšířené možnosti dotazů u objektů adresáře. To znamená, že není podporována podpora $count , $search Parametry dotazů, nikoli (), not není rovno ( ne ) a končí operátory ( endsWith ) v $filter parametru dotazu. další informace najdete v tématu parametry dotazu v Microsoft Graph a rozšířené možnosti dotazování v Microsoft Graph.

Správa telefonního čísla uživatele (beta verze)

Telefonní číslo, které může uživatel použít k přihlášení pomocí SMS nebo hlasových hovorůnebo vícefaktorového ověřování. Další informace najdete v tématu rozhraní API metody ověřování Azure AD.

Všimněte si, že operace list vrátí jenom telefonní čísla, která jsou povolená. Následující telefonní číslo by mělo být povoleno pro použití se seznamem operací.

Enable phone sign-in

Poznámka

V aktuální verzi beta toto rozhraní API funguje jenom v případě, že je telefonní číslo uložené s mezerou mezi kódem země a telefonním číslem. Služba Azure AD B2C v tuto chvíli ve výchozím nastavení nepřidává toto místo.

E-mailová adresa pro Samoobslužné resetování hesla (beta verze)

E-mailová adresa, kterou může účet pro přihlášení k uživatelskému jménu použít k resetování hesla. Další informace najdete v tématu rozhraní API metody ověřování Azure AD.

Metoda ověření tokenu OATH softwaru (beta verze)

Softwarový token OATH je softwarový generátor čísel založený na softwaru, který používá standard TOTP (Time-to-Time Password) pro vícefaktorové ověřování pomocí ověřovací aplikace. použití rozhraní Microsoft Graph API ke správě tokenu OATH softwaru registrovaného uživateli:

Zprostředkovatelé identit

Spravujte zprostředkovatele identity, kteří jsou k dispozici vašim uživatelským tokům v Azure AD B2Cm tenantovi.

Tok uživatele

Nakonfigurujte předem připravené zásady pro registraci, přihlašování, kombinované registrace a přihlášení, resetování hesla a aktualizaci profilu.

Metody ověřování toku uživatele (beta verze)

Vyberte mechanismus, který umožní uživatelům registraci prostřednictvím místních účtů. Místní účty jsou účty, kde Azure AD řídí kontrolní výraz identity. Další informace najdete v tématu typ prostředku b2cAuthenticationMethodsPolicy.

Vlastní zásady

Následující operace umožňují spravovat zásady Azure AD B2C vztahů důvěryhodnosti, označované jako vlastní zásady.

Klíče zásad

Rozhraní identity Experience Framework ukládá tajné kódy, na které se odkazuje ve vlastních zásadách, aby bylo možné navázat vztah důvěryhodnosti mezi komponentami. Tyto tajné klíče můžou být symetrické nebo asymetrické klíče a hodnoty. V Azure Portal se tyto entity zobrazují jako klíče zásad.

prostředek nejvyšší úrovně pro klíče zásad v rozhraní Microsoft Graph API je sada klíčů pro důvěryhodné rozhraní. Každá sada klíčů obsahuje alespoň jeden klíč. Pokud chcete vytvořit klíč, nejdřív vytvořte prázdnou sadu klíčů a pak vygenerujte klíč v této sadu klíčů. Můžete vytvořit ruční tajný klíč, nahrát certifikát nebo PKCS12 klíč. Klíčem může být vygenerovaný tajný klíč, řetězec (například tajný klíč aplikace Facebook) nebo certifikát, který nahrajete. Pokud má sada klíčů více klíčů, je aktivní pouze jeden z klíčů.

Sada klíčů zásad pro Trust Framework

Klíč zásad pro Trust Framework

Aplikace

Vlastnosti rozšíření aplikace

Azure AD B2C poskytuje adresář, který může obsahovat 100 vlastních atributů na uživatele. V případě toků uživatelů se tyto vlastnosti rozšíření spravují pomocí Azure Portal. Pro vlastní zásady Azure AD B2C vytvoří pro vás vlastnost, při prvním zapíše hodnotu do vlastnosti Extension.

Protokoly auditu

Další informace o přístupu k protokolům auditu Azure AD B2C najdete v tématu přístup k protokolům auditu Azure AD B2C.

Podmíněný přístup

Postup při programové správě Microsoft Graph

pokud chcete Microsoft Graph spravovat, můžete to udělat buď jako aplikaci pomocí oprávnění aplikace, nebo můžete použít delegovaná oprávnění. Pro delegovaná oprávnění uživatel nebo správce souhlasí s oprávněními, která aplikace požaduje. Aplikaci se deleguje oprávnění k tomu, aby při volání cílového prostředku fungovala jako přihlášený uživatel. Oprávnění aplikací jsou používána aplikacemi, které nevyžadují přihlášeného uživatele, a vyžadují tak oprávnění aplikace. Z tohoto důvodu můžou udělit souhlas s oprávněními aplikace jenom správci.

Poznámka

Delegovaná oprávnění pro uživatele, kteří se přihlašují prostřednictvím uživatelských toků nebo vlastní zásady, nelze použít pro delegovaná oprávnění pro Microsoft Graph.

Ukázka kódu: jak programově spravovat uživatelské účty

tato ukázka kódu je konzolová aplikace .net Core, která používá sadu SDK Microsoft Graph k interakci s rozhraním API Microsoft Graph. Jeho kód ukazuje, jak volat rozhraní API pro programovou správu uživatelů v klientovi Azure AD B2C. můžete si stáhnout ukázkový archiv (* .zip), procházet úložiště v GitHub nebo klonovat úložiště:

git clone https://github.com/Azure-Samples/ms-identity-dotnetcore-b2c-account-management.git

Po získání ukázky kódu ji nakonfigurujte pro vaše prostředí a pak Sestavte projekt:

  1. otevřete projekt v Visual Studio nebo Visual Studio Code.

  2. Otevřete src/appsettings.json.

  3. V appSettings oddílu nahraďte your-b2c-tenant názvem vašeho tenanta a Application (client) ID a Client secret hodnotami pro registraci aplikace pro správu. další informace najdete v tématu registrace aplikace Microsoft Graph.

  4. Otevřete okno konzoly v rámci svého místního klonu úložiště, přejděte do src adresáře a sestavte projekt:

    cd src
    dotnet build
    
  5. Spusťte aplikaci pomocí dotnet příkazu:

    dotnet bin/Debug/netcoreapp3.1/b2c-ms-graph.dll
    

Aplikace zobrazí seznam příkazů, které lze spustit. Můžete například získat všechny uživatele, získat jednoho uživatele, odstranit uživatele, aktualizovat heslo uživatele a hromadný import.

Poznámka

Aby aplikace aktualizovala hesla uživatelských účtů, bude nutné, abyste aplikaci udělili roli správce uživatele .

Diskuze o kódu

vzorový kód používá sadu Microsoft Graph SDK, která je navržená tak, aby zjednodušila vytváření vysoce kvalitních, efektivních a odolných aplikací, které přistupují k Microsoft Graph.

jakýkoli požadavek na rozhraní Microsoft Graph API vyžaduje přístupový token pro ověřování. Řešení využívá Microsoft. Graph. Auth NuGet balíček, který poskytuje obálku založený na scénáři ověřování v knihovně Microsoft authentication Library (MSAL) pro použití s Microsoft Graph SDK.

RunAsyncMetoda v souboru RunAsync :

  1. Přečte nastavení aplikace ze souboru appSettings. JSON.

  2. Inicializuje poskytovatele ověřování pomocí procesu udělení přihlašovacích údajů klienta OAuth 2,0 . Pomocí toku udělení přihlašovacích údajů klienta může aplikace získat přístupový token pro volání rozhraní Microsoft Graph API.

  3. nastaví klienta služby Microsoft Graph u poskytovatele ověřování:

    // Read application settings from appsettings.json (tenant ID, app ID, client secret, etc.)
    AppSettings config = AppSettingsFile.ReadFromJsonFile();
    
    // Initialize the client credential auth provider
    IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
        .Create(config.AppId)
        .WithTenantId(config.TenantId)
        .WithClientSecret(config.ClientSecret)
        .Build();
    ClientCredentialProvider authProvider = new ClientCredentialProvider(confidentialClientApplication);
    
    // Set up the Microsoft Graph service client with client credentials
    GraphServiceClient graphClient = new GraphServiceClient(authProvider);
    

Inicializovaná GraphServiceClient se pak použije v userservice předefinovala smazání. cs k provedení operací správy uživatelů. Například získání seznamu uživatelských účtů v tenantovi:

public static async Task ListUsers(GraphServiceClient graphClient)
{
    Console.WriteLine("Getting list of users...");

    // Get all users (one page)
    var result = await graphClient.Users
        .Request()
        .Select(e => new
        {
            e.DisplayName,
            e.Id,
            e.Identities
        })
        .GetAsync();

    foreach (var user in result.CurrentPage)
    {
        Console.WriteLine(JsonConvert.SerializeObject(user));
    }
}

volání rozhraní API pomocí Microsoft Graph sady sdk obsahují informace o tom, jak číst a zapisovat informace z Microsoft Graph, použít k řízení vrácených vlastností, zadání vlastních parametrů dotazu a použití $filter$orderBy parametrů dotazu a.