Azure AD B2C aangepast beleid

Aangepaste beleidsregels zijn configuratiebestanden die het gedrag van uw Azure AD B2C-tenant (Azure Active Directory B2C) definiëren. Hoewel gebruikersstromen vooraf zijn gedefinieerd in de Azure AD B2C-portal voor de meest voorkomende identiteitstaken, kunnen aangepaste beleidsregels volledig worden bewerkt door een identiteitsontwikkelaar om veel verschillende taken uit te voeren.

Een aangepast beleid is volledig configureerbaar en op beleid gebaseerde beleid. Een aangepast beleid orden vertrouwen tussen entiteiten in standaardprotocollen. OpenID Verbinding maken, OAuth, SAML en enkele niet-standaard claims, bijvoorbeeld REST API systeem-naar-systeem claims uitwisselen. Het framework maakt gebruiksvriendelijke, white-labeled ervaringen.

Een aangepast beleid wordt weergegeven als een of meer XML-bestanden die naar elkaar verwijzen in een hiërarchische keten. De XML-elementen definiëren de bouwstenen, de interactie met de gebruiker en andere partijen en de bedrijfslogica.

Aangepast starter-pakket voor beleid

Azure AD B2C-pakket voor aangepaste beleidsstarters wordt geleverd met verschillende vooraf gemaakte beleidsregels om u snel op weg te helpen. Elk van deze starter packs bevat het kleinste aantal technische profielen en gebruikerstrajecten die nodig zijn om de beschreven scenario's te bereiken:

  • LocalAccounts: hiermee schakelt u alleen het gebruik van lokale accounts in.
  • SocialAccounts: hiermee schakelt u het gebruik van sociale (of federatief) accounts alleen in.
  • SocialAndLocalAccounts: hiermee schakelt u het gebruik van lokale en sociale accounts in. De meeste voorbeelden verwijzen naar dit beleid.
  • SocialAndLocalAccountsWithMFA: maakt sociale, lokale en meervoudige verificatieopties mogelijk.

In de Azure AD B2C voorbeelden GitHubopslagplaats vindt u voorbeelden voor verschillende verbeterde Azure AD B2C VAN DEM-gebruikerstrajecten. Bijvoorbeeld verbeteringen in het beleid voor lokale account, verbeteringen van het beleid voor sociale account, MFA-verbeteringen, verbeteringen van de gebruikersinterface, algemene verbeteringen, app-migratie, gebruikersmigratie, voorwaardelijke toegang, webtest en CI/CD.

De basisbeginselen

Claims

Een claim biedt tijdelijke opslag van gegevens tijdens het uitvoeren van Azure AD B2C-beleid. Er kan informatie over de gebruiker worden opgeslagen, zoals voornaam, achternaam of een andere claim die is verkregen van de gebruiker of andere systemen (claims worden gewisseld). Het claimschema is de plaats waar u uw claims declareert.

Wanneer het beleid wordt uitgevoerd, verzendt Azure AD B2C claims naar en van interne en externe partijen en verzendt het vervolgens een subset van deze claims naar uw relying party-toepassing als onderdeel van het token. Claims worden op de volgende manieren gebruikt:

  • Een claim wordt opgeslagen, gelezen of bijgewerkt op basis van het directorygebruikersobject.
  • Een claim wordt ontvangen van een externe id-provider.
  • Claims worden verzonden of ontvangen met behulp van een aangepaste REST API service.
  • Gegevens worden verzameld als claims van de gebruiker tijdens de aanmeldings- of bewerkingsprofielstromen.

Uw claims bewerken

De claimtransformaties zijn vooraf gedefinieerde functies die kunnen worden gebruikt om een bepaalde claim te converteren naar een andere, een claim te evalueren of een claimwaarde in te stellen. U kunt bijvoorbeeld een item toevoegen aan een tekenreeksverzameling, het geval van een tekenreeks wijzigen of een datum- en tijdclaim evalueren. Een claimtransformatie geeft een transformatiemethode aan.

Uw gebruikersinterface aanpassen en lokaliseren

Als u gegevens van uw gebruikers wilt verzamelen door een pagina in hun webbrowser te presenteren, gebruikt u het zelf-asserte technische profiel. U kunt uw zelf-assertieve technische profiel bewerken om claims toe te voegen en gebruikersinvoer aan te passen.

Als u de gebruikersinterface voor uw zelf-assertieve technische profiel wilt aanpassen, geeft u een URL op in het element inhoudsdefinitie met aangepaste HTML-inhoud. In het zelfver bevestigde technische profiel kunt u naar deze inhoudsdefinitie-id wijzen.

Gebruik het lokalisatie-element om taalspecifieke tekenreeksen aan te passen. Een inhoudsdefinitie kan een lokalisatieverwijzing bevatten die een lijst specificeert met gelokaliseerde resources die moeten worden geladen. Azure AD B2C combineert elementen van de gebruikersinterface met de HTML-inhoud die vanaf de URL wordt geladen en presenteert vervolgens de pagina aan de gebruiker.

Overzicht van relying party-beleid

Een relying party-toepassing, die in het SAML-protocol bekend staat als een serviceprovider, roept het relying party-beleid aan om een specifiek gebruikerstraject uit te voeren. Het relying party-beleid geeft het gebruikerstraject aan dat moet worden uitgevoerd, en een lijst met claims die het token bevat.

Diagram met de beleidsuitvoeringsstroom

Alle relying party-toepassingen die gebruikmaken van hetzelfde beleid, ontvangen dezelfde tokenclaims en de gebruiker doormaakt hetzelfde gebruikerstraject.

Gebruikersbelevingen

Met gebruikerstrajecten kunt u de bedrijfslogica definiëren met het pad dat de gebruiker volgt om toegang te krijgen tot uw toepassing. De gebruiker wordt door het gebruikerstraject genomen om de claims op te halen die aan uw toepassing moeten worden gepresenteerd. Een gebruikerstraject is gebaseerd op een reeks orchestration-stappen. Een gebruiker moet de laatste stap bereiken om een token te verkrijgen.

In de volgende instructies wordt beschreven hoe u orchestration-stappen kunt toevoegen aan het starter pack-beleid voor sociale en lokale account. Hier is een voorbeeld van een REST API-aanroep die is toegevoegd.

aangepast gebruikerstraject

Orchestration-stappen

De orchestration-stap verwijst naar een methode die het beoogde doel of de functionaliteit implementeert. Deze methode wordt een technisch profiel genoemd. Wanneer uw gebruikerstraject vertakkingen nodig heeft om de bedrijfslogica beter weer te geven, verwijst de orchestration-stap naar subtraject. Een subtraject bevat een eigen set orchestration-stappen.

Een gebruiker moet de laatste orchestration-stap in het gebruikerstraject bereiken om een token te verkrijgen. Maar gebruikers hoeven mogelijk niet alle orchestration-stappen te doorlopen. Orchestration-stappen kunnen voorwaardelijk worden uitgevoerd op basis van voorwaarden die zijn gedefinieerd in de orchestration-stap.

Nadat een orchestration-stap is voltooid, Azure AD B2C de uitvoerde claims op in de claims-bag. De claims in de claimstas kunnen worden gebruikt door verdere orchestration-stappen in het gebruikerstraject.

In het volgende diagram ziet u hoe de orchestration-stappen van het gebruikerstraject toegang hebben tot de claimstas.

Azure AD B2C gebruikerstraject

Technisch profiel

Een technisch profiel biedt een interface om te communiceren met verschillende soorten partijen. Een gebruikerstraject combineert het aanroepen van technische profielen via orchestration-stappen om uw bedrijfslogica te definiëren.

Alle typen technische profielen delen hetzelfde concept. U verzendt invoerclaims, voer claimtransformatie uit en communiceert met de geconfigureerde partij. Nadat het proces is voltooid, retourneert het technische profiel de uitvoerclaims voor claims. Zie overzicht van technische profielen voor meer informatie.

Technisch profiel valideren

Wanneer een gebruiker interactie heeft met de gebruikersinterface, kunt u de verzamelde gegevens valideren. Voor interactie met de gebruiker moet een zelf-bevestigd technisch profiel worden gebruikt.

Om de gebruikersinvoer te valideren, wordt een technisch validatieprofiel aangeroepen vanuit het zelf-bevestigende technische profiel. Een technisch validatieprofiel is een methode voor het aanroepen van een niet-interactief technisch profiel. In dit geval kan het technische profiel uitvoerclaims of een foutbericht retourneren. Het foutbericht wordt weergegeven voor de gebruiker op het scherm, zodat de gebruiker het opnieuw kan proberen.

In het volgende diagram ziet u hoe Azure AD B2C een technisch validatieprofiel gebruikt om de gebruikersreferenties te valideren.

Diagram van validatie van technisch profiel

Overnamemodel

Elk starter-pack bevat de volgende bestanden:

  • Een basisbestand dat de meeste definities bevat. Als u wilt helpen bij het oplossen van problemen en onderhoud op de lange termijn van uw beleid, probeert u het aantal wijzigingen dat u aan dit bestand aan te brengen, te minimaliseren.
  • Een lokalisatiebestand dat de lokalisatiereeksen bevat. Dit beleidsbestand is afgeleid van het basisbestand. Gebruik dit bestand om aan de behoeften van uw klant te voldoen aan verschillende talen.
  • Een extensiebestand met de unieke configuratiewijzigingen voor uw tenant. Dit beleidsbestand is afgeleid van het lokalisatiebestand. Gebruik dit bestand om nieuwe functionaliteit toe te voegen of bestaande functionaliteit te overschrijven. Gebruik dit bestand bijvoorbeeld om te federeren met nieuwe id-providers.
  • Een RP-bestand (Relying Party) dat het taakgerichte bestand is dat rechtstreeks wordt aangeroepen door de relying party-toepassing, zoals uw web-, mobiele of bureaubladtoepassingen. Voor elke unieke taak, zoals registreren, aanmelden of het bewerken van profielen, is een eigen relying party-beleidsbestand vereist. Dit beleidsbestand is afgeleid van het extensiebestand.

Het overnamemodel is als volgt:

  • Het onderliggende beleid op elk niveau kan overnemen van het bovenliggende beleid en dit uitbreiden door nieuwe elementen toe te voegen.
  • Voor complexere scenario's kunt u meer overnameniveaus toevoegen (maximaal 10 in totaal).
  • U kunt meer relying party-beleidsregels toevoegen. Verwijder bijvoorbeeld mijn account, wijzig een telefoonnummer, beleid voor SAML-relying party's en meer.

In het volgende diagram ziet u de relatie tussen de beleidsbestanden en de relying party-toepassingen.

Diagram met het overnamemodel voor het vertrouwenskaderbeleid

Richtlijnen en aanbevolen procedures

Aanbevolen procedures

Binnen een Azure AD B2C aangepast beleid kunt u uw eigen bedrijfslogica integreren om de gebruikerservaringen te bouwen die u nodig hebt en functionaliteit van de service uit te breiden. We hebben een aantal aanbevolen procedures en aanbevelingen om aan de slag te gaan.

  • Maak uw logica in het extensiebeleid of het relying party-beleid. U kunt nieuwe elementen toevoegen, die het basisbeleid overschrijven door te verwijzen naar dezelfde id. Met deze aanpak kunt u uw project uitschalen en kunt u het basisbeleid later gemakkelijker upgraden als Microsoft nieuwe starter packs uit brengt.
  • Binnen het basisbeleid raden we u ten zeerste aan geen wijzigingen aan te brengen. Indien nodig kunt u opmerkingen maken wanneer de wijzigingen worden aangebracht.
  • Wanneer u een element overschrijven, zoals metagegevens van technische profielen, moet u voorkomen dat u het volledige technische profiel uit het basisbeleid kopieert. Kopieer in plaats daarvan alleen de vereiste sectie van het -element. Zie E-mailverificatie uitschakelen voor een voorbeeld van hoe u de wijziging aan kunt brengen.
  • Gebruik insluiting van technische profielen om duplicatie van technische profielen te verminderen, waarbij kernfunctionaliteit wordt gedeeld.
  • Vermijd het schrijven naar de Azure AD-directory tijdens het aanmelden, wat kan leiden tot beperkingsproblemen.
  • Als uw beleid externe afhankelijkheden heeft, zoals REST API's, zorgt u ervoor dat ze zeer beschikbaar zijn.
  • Voor een betere gebruikerservaring moet u ervoor zorgen dat uw aangepaste HTML-sjablonen globaal worden geïmplementeerd met behulp van online contentlevering. Met Azure Content Delivery Network (CDN) kunt u de laadtijden verminderen, bandbreedte besparen en de reactiesnelheid verbeteren.
  • Als u een wijziging wilt aan brengen in het gebruikerstraject, kopieert u het hele gebruikerstraject van het basisbeleid naar het extensiebeleid. Geef een unieke gebruikersreis-id op voor het gebruikerstraject dat u hebt gekopieerd. Wijzig vervolgens in het beleid voor relying party'shet standaardgebruikerstrajectelement om naar het nieuwe gebruikerstraject te wijzen.

Problemen oplossen

Wanneer u ontwikkelt met Azure AD B2C-beleid, kunnen er fouten of uitzonderingen optreden tijdens het uitvoeren van uw gebruikerstraject. De kan worden onderzocht met behulp van Application Insights.

  • Integreer Application Insights met Azure AD B2C om uitzonderingen te diagnosticeren.
  • De Azure AD B2C voor Visual Studio Code kan u helpen bij het openen en visualiseren van de logboeken op basis van een beleidsnaam en -tijd.
  • De meest voorkomende fout bij het instellen van aangepast beleid is xml-bestand met onjuiste indeling. Gebruik XML-schemavalidatie om fouten te identificeren voordat u uw XML-bestand uploadt.

Continue integratie

Met behulp van een CI/CD-pijplijn (Continue integratie en levering) die u in Azure Pipelines instelt, kunt u uw aangepaste Azure AD B2C opnemen in uw softwarelevering en automatisering van codebeheer. Wanneer u implementeert in verschillende Azure AD B2C-omgevingen, zoals ontwikkelen, testen en productie, wordt u aangeraden handmatige processen te verwijderen en automatische tests uit te voeren met behulp van Azure Pipelines.

Uw omgeving voorbereiden

U gaat aan de slag Azure AD B2C aangepast beleid:

  1. Een Azure AD B2C-tenant maken
  2. Registreer een webtoepassing met behulp Azure Portal, zodat u uw beleid kunt testen.
  3. Voeg de benodigde beleidssleutels toe en registreer Identity Experience Framework toepassingen.
  4. Haal het Azure AD B2C starterpakket voor beleid op en upload het naar uw tenant.
  5. Nadat u het starterpakket hebt geüpload, testu uw beleid voor registreren of aanmelden.
  6. U wordt aangeraden om Visual Studio Code (VS Code) te downloaden en te installeren. Visual Studio Code is een lichtgewicht maar krachtige broncode-editor die wordt uitgevoerd op uw desktop en beschikbaar is Windows, macOS en Linux. Met VS Code kunt u snel door de XML-bestanden van uw aangepaste Azure AD B2C navigeren en bewerken door de extensie Azure AD B2C VS Code te installeren

Volgende stappen

Nadat u uw beleid hebt ingesteld en Azure AD B2C testen, kunt u beginnen met het aanpassen van uw beleid. Lees de volgende artikelen voor meer informatie over:

  • Claims toevoegen en gebruikersinvoer aanpassen met behulp van aangepast beleid. Leer hoe u een claim definieert en een claim toevoegt aan de gebruikersinterface door een aantal technische profielen van het starter pack aan te passen.
  • Pas de gebruikersinterface van uw toepassing aan met behulp van een aangepast beleid. Meer informatie over het maken van uw eigen HTML-inhoud en het aanpassen van de inhoudsdefinitie.
  • Lokaliseer de gebruikersinterface van uw toepassing met behulp van een aangepast beleid. Leer hoe u de lijst met ondersteunde talen in kunt stellen en taalspecifieke labels kunt opgeven door het gelokaliseerde resources-element toe te voegen.
  • Tijdens het ontwikkelen en testen van uw beleid kunt u e-mailverificatie uitschakelen. Meer informatie over het overschrijven van metagegevens van een technisch profiel.
  • Aanmelden met een Google-account instellen met behulp van aangepast beleid. Meer informatie over het maken van een nieuwe claimprovider met een technisch OAuth2-profiel. Pas vervolgens het gebruikerstraject aan om de google-aanmeldingsoptie op te nemen.
  • Als u problemen met uw aangepaste beleid wilt diagnosticeren, kunt u Azure Active Directory B2C-logboeken verzamelen met Application Insights. Meer informatie over het toevoegen van nieuwe technische profielen en het configureren van uw Relying Party-beleid.