Azure AD B2C beheren met Microsoft Graph
Met Microsoft Graph kunt u resources beheren in uw Azure AD B2C-directory. De volgende Microsoft Graph API-bewerkingen worden ondersteund voor het beheer van Azure AD B2C-resources, waaronder gebruikers, id-providers, gebruikersstromen, aangepaste beleidsregels en beleidssleutels. Elke koppeling in de volgende secties is gericht op de bijbehorende pagina in de Microsoft Graph API-verwijzing voor die bewerking.
Notitie
U kunt ook programmatisch een Azure AD B2C-directory zelf maken, samen met de bijbehorende Azure-resource die is gekoppeld aan een Azure-abonnement. Deze functionaliteit wordt niet weergegeven via de Microsoft Graph API, maar via de Azure REST API. Zie B2C-tenants - Maken voor meer informatie.
Bekijk deze video voor meer informatie over azure AD B2C-gebruikersmigratie met behulp van Microsoft Graph API.
Vereisten
- Als u MS Graph API wilt gebruiken en wilt communiceren met resources in uw Azure AD B2C-tenant, hebt u een toepassingsregistratie nodig waarmee de machtigingen hiervoor worden verleend. Volg de stappen in het artikel Een Microsoft Graph-toepassing registreren om een toepassingsregistratie te maken die door uw beheertoepassing kan worden gebruikt.
Gebruikersbeheer
Notitie
Azure AD B2C biedt momenteel geen ondersteuning voor geavanceerde querymogelijkheden voor adreslijstobjecten. Dit betekent dat er geen ondersteuning is voor $count
, $search
queryparameters en Not (not
), Not is gelijk aan (ne
) en Eindigt met (endsWith
) operators in $filter
de queryparameter. Zie queryparameters in Microsoft Graph en geavanceerde querymogelijkheden in Microsoft Graph voor meer informatie.
- Gebruikers weergeven
- Een consumentgebruiker maken
- Een gebruiker ophalen
- Een gebruiker bijwerken
- Een gebruiker verwijderen
Beheer van telefoonnummers van gebruikers
Een telefoonnummer dat door een gebruiker kan worden gebruikt om zich aan te melden met sms - of spraakoproepen of meervoudige verificatie. Zie de API voor Microsoft Entra-verificatiemethoden voor meer informatie.
Opmerking: de lijstbewerking retourneert alleen ingeschakelde telefoonnummers. Het volgende telefoonnummer moet zijn ingeschakeld voor gebruik met de lijstbewerkingen.
Notitie
Een correct vertegenwoordigd telefoonnummer wordt opgeslagen met een spatie tussen de landcode en het telefoonnummer. De Azure AD B2C-service voegt deze ruimte momenteel niet standaard toe.
E-mailadres voor selfservice voor wachtwoordherstel
Een e-mailadres dat kan worden gebruikt door een aanmeldingsaccount voor de gebruikersnaam om het wachtwoord opnieuw in te stellen. Zie de API voor Microsoft Entra-verificatiemethoden voor meer informatie.
Verificatiemethode voor software-OATH-token
Een software-OATH-token is een op software gebaseerde nummergenerator die gebruikmaakt van de op OATH tijd gebaseerde eenmalige wachtwoordstandaard (TOTP) voor meervoudige verificatie via een verificator-app. Gebruik de Microsoft Graph API om een software OATH-token te beheren dat is geregistreerd bij een gebruiker:
Id-providers
Beheer de id-providers die beschikbaar zijn voor uw gebruikersstromen in uw Azure AD B2C-tenant.
- Lijst met id-providers die beschikbaar zijn in de Azure AD B2C-tenant
- Lijst met id-providers die zijn geconfigureerd in de Azure AD B2C-tenant
- Een id-provider maken
- Een id-provider ophalen
- Id-provider bijwerken
- Een id-provider verwijderen
Gebruikersstroom (bèta)
Configureer vooraf samengestelde beleidsregels voor registratie, aanmelding, gecombineerde registratie en aanmelding, wachtwoordherstel en profielupdate.
- Gebruikersstromen weergeven
- Een gebruikersstroom maken
- Een gebruikersstroom ophalen
- Een gebruikersstroom verwijderen
Verificatiemethoden voor gebruikersstromen (bèta)
Kies een mechanisme om gebruikers te laten registreren via lokale accounts. Lokale accounts zijn de accounts waarbij Azure AD B2C de identiteitsverklaring doet. Zie b2cAuthenticationMethodsPolicy-resourcetype voor meer informatie.
Aangepast beleid (bèta)
Met de volgende bewerkingen kunt u uw Azure AD B2C Trust Framework-beleid beheren, ook wel aangepaste beleidsregels genoemd.
- Een lijst weergeven van alle beleidsregels voor vertrouwensframeworks die zijn geconfigureerd in een tenant
- Vertrouwensframeworkbeleid maken
- Eigenschappen van een bestaand vertrouwensframeworkbeleid lezen
- Beleid voor vertrouwensframework bijwerken of maken.
- Een bestaand vertrouwensframeworkbeleid verwijderen
Beleidssleutels (bèta)
In het Identity Experience Framework worden de geheimen opgeslagen waarnaar wordt verwezen in een aangepast beleid om vertrouwen tussen onderdelen tot stand te brengen. Deze geheimen kunnen symmetrische of asymmetrische sleutels/waarden zijn. In Azure Portal worden deze entiteiten weergegeven als beleidssleutels.
De resource op het hoogste niveau voor beleidssleutels in de Microsoft Graph API is de Trusted Framework Keyset. Elke sleutelset bevat ten minste één sleutel. Als u een sleutel wilt maken, maakt u eerst een lege sleutelset en genereert u vervolgens een sleutel in de sleutelset. U kunt een handmatig geheim maken, een certificaat of een PKCS12-sleutel uploaden. De sleutel kan een gegenereerd geheim zijn, een tekenreeks (zoals het Facebook-toepassingsgeheim) of een certificaat dat u uploadt. Als een sleutelset meerdere sleutels heeft, is slechts één van de sleutels actief.
Trust Framework-beleidssleutelset
- De sleutelsets voor het vertrouwensframework vermelden
- Een vertrouwensframeworksleutelset maken
- Een sleutelset ophalen
- Sleutelsets voor een vertrouwensframework bijwerken
- Een vertrouwensframeworksleutelset verwijderen
Trust Framework-beleidssleutel
- Actieve sleutel ophalen in de sleutelset
- Een sleutel genereren in keyset
- Een geheim op basis van een tekenreeks uploaden
- Een X.509-certificaat uploaden
- Een PKCS12-indelingscertificaat uploaden
Toepassingen
- Toepassingen weergeven
- Een toepassing maken
- Toepassing bijwerken
- ServicePrincipal maken
- Oauth2Permission Grant maken
- Toepassing verwijderen
Eigenschappen van toepassingsextensie (directory-extensie)
Eigenschappen van de toepassingsextensie worden ook wel map- of Microsoft Entra-extensies genoemd. Als u deze wilt beheren in Azure AD B2C, gebruikt u het resourcetype identityUserFlowAttribute en de bijbehorende methoden.
- Gebruikersstroomkenmerk maken
- Kenmerken van gebruikersstroom weergeven
- Een gebruikersstroomkenmerk ophalen
- Een gebruikersstroomkenmerk bijwerken
- Een gebruikersstroomkenmerk verwijderen
U kunt maximaal 100 mapextensiewaarden per gebruiker opslaan. Als u de eigenschappen van de mapextensie voor een gebruiker wilt beheren, gebruikt u de volgende gebruikers-API's in Microsoft Graph.
- Gebruiker bijwerken: de waarde van de eigenschap directory-extensie schrijven of verwijderen uit het gebruikersobject.
- Een gebruiker ophalen: de waarde van de mapextensie voor de gebruiker ophalen. De eigenschap wordt standaard geretourneerd via het
beta
eindpunt, maar alleen via$select
hetv1.0
eindpunt.
Voor gebruikersstromen worden deze extensie-eigenschappen beheerd met behulp van Azure Portal. Voor aangepaste beleidsregels maakt Azure AD B2C de eigenschap voor u, de eerste keer dat het beleid een waarde naar de extensie-eigenschap schrijft.
Notitie
In Microsoft Entra ID worden directory-extensies beheerd via het resourcetype extensionProperty en de bijbehorende methoden. Omdat ze echter in B2C worden gebruikt via de b2c-extensions-app
app die niet moet worden bijgewerkt, worden ze beheerd in Azure AD B2C met behulp van het resourcetype identityUserFlowAttribute en de bijbehorende methoden.
Tenantgebruik
Gebruik de API voor organisatiegegevens ophalen om het quotum voor de adreslijstgrootte op te halen. U moet de $select
queryparameter toevoegen, zoals wordt weergegeven in de volgende HTTP-aanvraag:
GET https://graph.microsoft.com/v1.0/organization/organization-id?$select=directorySizeQuota
Vervang door organization-id
uw organisatie- of tenant-id.
Het antwoord op de bovenstaande aanvraag lijkt op het volgende JSON-fragment:
{
"directorySizeQuota": {
"used": 156,
"total": 1250000
}
}
Auditlogboeken
Zie Toegang tot Azure AD B2C-auditlogboeken voor meer informatie over het openen van Auditlogboeken van Azure AD B2C.
Voorwaardelijke toegang
- De ingebouwde sjablonen weergeven voor scenario's met beleid voor voorwaardelijke toegang
- Alle beleidsregels voor voorwaardelijke toegang weergeven
- Eigenschappen en relaties van beleid voor voorwaardelijke toegang lezen
- Een nieuw beleid voor voorwaardelijke toegang maken
- Beleid voor voorwaardelijke toegang bijwerken
- Beleid voor voorwaardelijke toegang verwijderen
Verwijderde gebruikers en toepassingen ophalen of herstellen
Verwijderde gebruikers en apps kunnen alleen worden hersteld als ze in de afgelopen 30 dagen zijn verwijderd.
- Verwijderde items weergeven
- Een verwijderd item ophalen
- Een verwijderd item herstellen
- Een verwijderd item definitief verwijderen
Microsoft Graph programmatisch beheren
Wanneer u Microsoft Graph wilt beheren, kunt u dit doen als de toepassing met behulp van de toepassingsmachtigingen of u kunt gedelegeerde machtigingen gebruiken. Voor gedelegeerde machtigingen stemt de gebruiker of een beheerder in met de machtigingen die de app aanvraagt. De app wordt gedelegeerd met de machtiging om te fungeren als een aangemelde gebruiker wanneer deze de doelresource aanroept. Toepassingsmachtigingen worden gebruikt door apps waarvoor geen aangemelde gebruiker aanwezig is en die dus toepassingsmachtigingen vereisen. Daarom kunnen alleen beheerders toestemming geven voor toepassingsmachtigingen.
Notitie
Gedelegeerde machtigingen voor gebruikers die zich aanmelden via gebruikersstromen of aangepaste beleidsregels kunnen niet worden gebruikt voor gedelegeerde machtigingen voor Microsoft Graph API.
Codevoorbeeld: Programmatisch gebruikersaccounts beheren
Dit codevoorbeeld is een .NET Core-consoletoepassing die gebruikmaakt van de Microsoft Graph SDK om te communiceren met Microsoft Graph API. De code laat zien hoe u de API aanroept om gebruikers programmatisch te beheren in een Azure AD B2C-tenant. U kunt het voorbeeldarchief (*.zip) downloaden, door de opslagplaats bladeren op GitHub of de opslagplaats klonen:
git clone https://github.com/Azure-Samples/ms-identity-dotnetcore-b2c-account-management.git
Nadat u het codevoorbeeld hebt verkregen, configureert u het voor uw omgeving en bouwt u het project:
Open het project in Visual Studio of Visual Studio Code.
src/appsettings.json
openen.Vervang in de
appSettings
sectie dooryour-b2c-tenant
de naam van uw tenant enApplication (client) ID
Client secret
door de waarden voor de registratie van uw beheertoepassing. Zie Een Microsoft Graph-toepassing registreren voor meer informatie.Open een consolevenster in uw lokale kloon van de opslagplaats, ga naar de
src
map en bouw vervolgens het project:cd src dotnet build
De toepassing uitvoeren met de opdracht
dotnet
:dotnet bin/Debug/netcoreapp3.1/b2c-ms-graph.dll
In de toepassing wordt een lijst met opdrachten weergegeven die u kunt uitvoeren. Haal bijvoorbeeld alle gebruikers op, haal één gebruiker op, verwijder een gebruiker, werk het wachtwoord van een gebruiker bij en importeer bulksgewijs.
Notitie
Als u de gebruikersaccountwachtwoorden wilt bijwerken, moet u de gebruikersbeheerderrol toewijzen aan de toepassing.
Codediscussie
De voorbeeldcode maakt gebruik van de Microsoft Graph SDK, die is ontworpen om het bouwen van hoogwaardige, efficiënte en tolerante toepassingen die toegang hebben tot Microsoft Graph te vereenvoudigen.
Voor elke aanvraag bij de Microsoft Graph API is een toegangstoken vereist voor verificatie. De oplossing maakt gebruik van het NuGet-pakket Microsoft.Graph.Auth dat een op verificatiescenario's gebaseerde wrapper van de Microsoft Authentication Library (MSAL) biedt voor gebruik met de Microsoft Graph SDK.
De RunAsync
methode in het bestand Program.cs :
- Hiermee leest u toepassingsinstellingen uit het bestand appsettings.json
- Initialiseert de verificatieprovider met behulp van de OAuth 2.0-clientreferentiesstroom . Met de stroom voor het verlenen van clientreferenties kan de app een toegangstoken ophalen om de Microsoft Graph API aan te roepen.
- Hiermee stelt u de Microsoft Graph-serviceclient in bij de verificatieprovider:
// 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);
De geïnitialiseerde GraphServiceClient wordt vervolgens gebruikt in UserService.cs om de bewerkingen voor gebruikersbeheer uit te voeren. Bijvoorbeeld het ophalen van een lijst met de gebruikersaccounts in de tenant:
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-aanroepen uitvoeren met behulp van de Microsoft Graph SDK's bevat informatie over het lezen en schrijven van gegevens van Microsoft Graph, het gebruik $select
om de geretourneerde eigenschappen te beheren, aangepaste queryparameters op te geven en de $filter
parameters en $orderBy
queryparameters te gebruiken.
Volgende stappen
- Zie voor codevoorbeelden in JavaScript en Node.js: B2C-gebruikersaccounts beheren met MSAL.js en Microsoft Graph SDK
- Verken Graph Explorer waarmee u Microsoft Graph API's kunt uitproberen en er meer over kunt leren.