Správa služby Azure AD B2C s využitím Microsoft Graphu
Microsoft Graph umožňuje spravovat prostředky v adresáři Azure AD B2C. Pro správu prostředků Azure AD B2C se podporují následující operace rozhraní Microsoft Graph API, včetně uživatelů, zprostředkovatelů identity, toků uživatelů, vlastních zásad a klíčů zásad. Každý odkaz v následujících částech cílí na odpovídající stránku v referenčních informacích k rozhraní Microsoft Graph API pro danou operaci.
Poznámka:
Můžete také programově vytvořit samotný adresář Azure AD B2C spolu s odpovídajícím prostředkem Azure propojeným s předplatným Azure. Tato funkce není přístupná prostřednictvím rozhraní Microsoft Graph API, ale prostřednictvím rozhraní Azure REST API. Další informace najdete v tématu Klienti B2C – Vytvoření.
V tomto videu se dozvíte o migraci uživatelů Azure AD B2C pomocí rozhraní Microsoft Graph API.
Požadavky
- Pokud chcete používat rozhraní MS Graph API a pracovat s prostředky ve vašem tenantovi Azure AD B2C, potřebujete registraci aplikace, která uděluje oprávnění k tomu. Postupujte podle kroků v článku Registrace aplikace Microsoft Graph a vytvořte registraci aplikace, kterou může vaše aplikace pro správu používat.
Správa uživatelů
Poznámka:
Azure AD B2C v současné době nepodporuje pokročilé možnosti dotazů na objekty adresáře. To znamená, že v parametru dotazu neexistuje žádná podpora $count
, $search
parametrů dotazu a ne (not
), Nerovná se (ne
) a Končí operátory (endsWith
).$filter
Další informace najdete v tématu Parametry dotazu v Microsoft Graphu a pokročilé možnosti dotazů v Microsoft Graphu.
- Zobrazení seznamu uživatelů
- Vytvoření uživatele uživatele
- Získání uživatele
- Aktualizace uživatele
- Odstranění uživatele
Správa telefonních čísel uživatelů
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 naleznete v tématu Rozhraní API metod ověřování Microsoft Entra.
Všimněte si, že operace seznamu vrátí pouze povolená telefonní čísla. Pro použití se seznamem by mělo být povolené následující telefonní číslo.
Poznámka:
Správně reprezentované telefonní číslo se uloží s mezerou mezi kódem země a telefonním číslem. Služba Azure AD B2C v současné době toto místo ve výchozím nastavení nepřidá.
E-mailová adresa samoobslužného resetování hesla
E-mailová adresa, kterou může použít přihlašovací účet uživatelského jména k resetování hesla. Další informace naleznete v tématu Rozhraní API metod ověřování Microsoft Entra.
Metoda ověřování tokenu OATH softwaru
Softwarový token OATH je generátor čísel založený na softwaru, který používá standard jednorázového hesla (TOTP) založeného na OATH pro vícefaktorové ověřování prostřednictvím ověřovací aplikace. Použití rozhraní Microsoft Graph API ke správě softwarového tokenu OATH zaregistrovaného uživateli:
Zprostředkovatelé identit
Spravujte zprostředkovatele identity dostupné pro toky uživatelů ve vašem tenantovi Azure AD B2C.
- Výpis zprostředkovatelů identity dostupných v tenantovi Azure AD B2C
- Výpis zprostředkovatelů identity nakonfigurovaných v tenantovi Azure AD B2C
- Vytvoření zprostředkovatele identity
- Získání zprostředkovatele identity
- Aktualizace zprostředkovatele identity
- Odstranění zprostředkovatele identity
Tok uživatele (beta verze)
Nakonfigurujte předem připravené zásady pro registraci, přihlášení, kombinovanou registraci a přihlášení, resetování hesla a aktualizaci profilu.
Metody ověřování toku uživatele (beta verze)
Zvolte mechanismus, který umožňuje uživatelům registrovat se prostřednictvím místních účtů. Místní účty jsou účty, ve kterých Azure AD B2C provede kontrolní výraz identity. Další informace naleznete v tématu b2cAuthenticationMethodsPolicy typ prostředku.
Vlastní zásady (beta verze)
Následující operace umožňují spravovat zásady architektury důvěryhodnosti Azure AD B2C, označované jako vlastní zásady.
- Výpis všech zásad architektury důvěryhodnosti nakonfigurovaných v tenantovi
- Vytvoření zásad architektury důvěryhodnosti
- Čtení vlastností existující zásady architektury důvěryhodnosti
- Aktualizujte nebo vytvořte zásady architektury důvěryhodnosti.
- Odstranění existujících zásad architektury důvěryhodnosti
Klíče zásad (beta verze)
Architektura prostředí identit ukládá tajné kódy odkazované ve vlastních zásadách pro navázání vztahu důvěryhodnosti mezi komponentami. Tyto tajné kódy můžou být symetrické nebo asymetrické klíče/hodnoty. Na webu 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íčů důvěryhodné architektury. Každá sada klíčů obsahuje aspoň jeden klíč. Pokud chcete vytvořit klíč, nejprve vytvořte prázdnou sadu klíčů a potom vygenerujte klíč v sadě klíčů. Můžete vytvořit ruční tajný klíč, nahrát certifikát nebo klíč PKCS12. Klíč 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í jenom jeden z nich.
Sada klíčů zásad architektury důvěryhodnosti
- Výpis sad klíčů architektury důvěryhodnosti
- Vytvoření sad klíčů architektury důvěryhodnosti
- Získání sady klíčů
- Aktualizace sad klíčů architektury důvěryhodnosti
- Odstranění sad klíčů architektury důvěryhodnosti
Klíč zásad architektury důvěryhodnosti
- Získání aktuálně aktivního klíče v sadě klíčů
- Vygenerování klíče v sadě klíčů
- Nahrání tajného kódu založeného na řetězci
- Nahrání certifikátu X.509
- Nahrání certifikátu ve formátu PKCS12
Aplikace
- Výpis aplikací
- Vytvoření aplikace
- Aktualizace aplikace
- Vytvoření službyPrincipal
- Vytvoření udělení oauth2Permission
- Odstranění aplikace
Vlastnosti rozšíření aplikace (rozšíření adresáře)
Vlastnosti rozšíření aplikace se také označují jako rozšíření adresáře nebo rozšíření Microsoft Entra. Ke správě v Azure AD B2C použijte typ prostředku identityUserFlowAttribute a jeho přidružené metody.
- Vytvoření atributu toku uživatele
- Výpis atributů toku uživatele
- Získání atributu toku uživatele
- Aktualizace atributu toku uživatele
- Odstranění atributu toku uživatele
Pro uživatele můžete uložit až 100 hodnot rozšíření adresáře. Ke správě vlastností rozšíření adresáře pro uživatele použijte následující uživatelská rozhraní API v Microsoft Graphu.
- Aktualizace uživatele: Chcete-li zapsat nebo odebrat hodnotu vlastnosti rozšíření adresáře z objektu uživatele.
- Získání uživatele: Načtení hodnoty rozšíření adresáře pro uživatele. Vlastnost bude ve výchozím nastavení vrácena prostřednictvím koncového
beta
bodu, ale pouze přes$select
v1.0
koncový bod.
U toků uživatelů se tyto vlastnosti rozšíření spravují pomocí webu Azure Portal. Pro vlastní zásady vytvoří Azure AD B2C vlastnost za vás při prvním zápisu hodnoty do vlastnosti rozšíření.
Poznámka:
V Microsoft Entra ID se rozšíření adresáře spravují prostřednictvím typu prostředku extensionProperty a přidružených metod. Protože se ale používají v B2C prostřednictvím b2c-extensions-app
aplikace, která by se neměla aktualizovat, spravují se v Azure AD B2C pomocí typu prostředku identityUserFlowAttribute a jeho přidružených metod.
Využití tenanta
Pomocí rozhraní API Získat podrobnosti o organizaci získejte kvótu velikosti adresáře. Musíte přidat $select
parametr dotazu, jak je znázorněno v následujícím požadavku HTTP:
GET https://graph.microsoft.com/v1.0/organization/organization-id?$select=directorySizeQuota
Nahraďte organization-id
id vaší organizace nebo tenanta.
Odpověď na výše uvedený požadavek vypadá podobně jako následující fragment kódu JSON:
{
"directorySizeQuota": {
"used": 156,
"total": 1250000
}
}
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
- Výpis předdefinovaných šablon pro scénáře zásad podmíněného přístupu
- Výpis všech zásad podmíněného přístupu
- Čtení vlastností a relací zásad podmíněného přístupu
- Vytvoření nové zásady podmíněného přístupu
- Aktualizace zásad podmíněného přístupu
- Odstranění zásad podmíněného přístupu
Načtení nebo obnovení odstraněných uživatelů a aplikací
Odstraněné uživatele a aplikace je možné obnovit jenom v případě, že byly odstraněny během posledních 30 dnů.
- Výpis odstraněných položek
- Získání odstraněné položky
- Obnovení odstraněné položky
- Trvalé odstranění odstraněné položky
Jak programově spravovat Microsoft Graph
Pokud chcete spravovat Microsoft Graph, můžete to udělat buď jako aplikaci pomocí oprávnění aplikace, nebo můžete použít delegovaná oprávnění. U delegovaných 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í aplikace používají aplikace, které nevyžadují přihlášeného uživatele, a proto vyžadují oprávnění aplikace. Z tohoto důvodu můžou oprávnění aplikace udělit jenom správci.
Poznámka:
Delegovaná oprávnění pro uživatele, kteří se přihlašují prostřednictvím toků uživatelů nebo vlastních zásad, nelze použít pro delegovaná oprávnění pro rozhraní Microsoft Graph API.
Ukázka kódu: Jak programově spravovat uživatelské účty
Tento ukázkový kód je konzolová aplikace .NET Core, která používá sadu Microsoft Graph SDK k interakci s rozhraním Microsoft Graph API. Jeho kód ukazuje, jak volat rozhraní API pro programovou správu uživatelů v tenantovi Azure AD B2C. Můžete si stáhnout ukázkový archiv (*.zip), procházet úložiště na GitHubu nebo naklonovat ú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 ho nakonfigurujte pro své prostředí a pak sestavte projekt:
Otevřete projekt v sadě Visual Studio nebo Visual Studio Code.
Otevře záznam typu
src/appsettings.json
.appSettings
V části nahraďteyour-b2c-tenant
názvem vašeho tenanta aApplication (client) ID
Client secret
hodnotami pro registraci aplikace pro správu. Další informace naleznete v tématu Registrace aplikace Microsoft Graph.Otevřete okno konzoly v místním klonu úložiště, přepněte do
src
adresáře a pak sestavte projekt:cd src dotnet build
Spusťte aplikaci pomocí
dotnet
příkazu:dotnet bin/Debug/netcoreapp3.1/b2c-ms-graph.dll
Aplikace zobrazí seznam příkazů, které můžete spustit. Získejte například všechny uživatele, získejte jednoho uživatele, odstraňte uživatele, aktualizujte heslo uživatele a hromadný import.
Poznámka:
Aby aplikace aktualizovala hesla uživatelských účtů, musíte aplikaci udělit roli správce uživatele.
Diskuze s kódem
Ukázkový 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 Graphu.
Každý požadavek na rozhraní Microsoft Graph API vyžaduje přístupový token pro ověření. Řešení využívá balíček NuGet Microsoft.Graph.Auth , který poskytuje obálku microsoft Authentication Library (MSAL) založenou na scénáři ověřování pro použití se sadou Microsoft Graph SDK.
Metoda RunAsync
v souboru Program.cs :
- Čtení nastavení aplikace ze souboru appsettings.json
- Inicializuje poskytovatele ověřování pomocí toku udělení přihlašovacích údajů klienta OAuth 2.0. S tokem udělení přihlašovacích údajů klienta může aplikace získat přístupový token pro volání rozhraní Microsoft Graph API.
- 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
var scopes = new[] { "https://graph.microsoft.com/.default" };
var clientSecretCredential = new ClientSecretCredential(config.TenantId, config.AppId, config.ClientSecret);
var graphClient = new GraphServiceClient(clientSecretCredential, scopes);
Inicializovaný GraphServiceClient se pak použije v UserService.cs k provádění 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...");
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();
}
}
Volání rozhraní API pomocí sad MICROSOFT Graph SDK obsahuje informace o tom, jak číst a zapisovat informace z Microsoft Graphu, používat $select
k řízení vrácených vlastností, poskytování vlastních parametrů dotazu a použití $filter
parametrů dotazu a $orderBy
dotazu.
Další kroky
- Ukázky kódu v JavaScriptu a Node.js najdete v tématu: Správa uživatelských účtů B2C pomocí msAL.js a sady Microsoft Graph SDK
- Prozkoumejte Graph Explorer , který umožňuje vyzkoušet rozhraní Microsoft Graph API a seznámit se s nimi.