SAML-tokenclaims aanpassen
Het Microsoft Identity Platform ondersteunt eenmalige aanmelding (SSO) met de meeste vooraf geïntegreerde toepassingen in de toepassingsgalerie en aangepaste toepassingen. Wanneer een gebruiker zich verifieert bij een toepassing via het Microsoft Identity Platform met behulp van het SAML 2.0-protocol, wordt er een token naar de toepassing verzonden. De toepassing valideert en gebruikt het token om de gebruiker te ondertekenen in plaats van om een gebruikersnaam en wachtwoord te vragen.
Deze SAML-tokens bevatten stukjes informatie over de gebruiker die claims worden genoemd. Een claim is informatie die een id-provider verstrekt over een gebruiker in het token dat deze uitgeeft voor die gebruiker. In een SAML-token worden claimgegevens doorgaans opgenomen in de SAML-kenmerkinstructie. De unieke id van de gebruiker wordt doorgaans weergegeven in het SAML-onderwerp, dat ook wel de naam-id (nameID
) wordt genoemd.
Standaard geeft het Microsoft Identity Platform een SAML-token uit aan een toepassing die een claim bevat met een waarde van de gebruikersnaam van de gebruiker (ook wel de user principal name genoemd), die de gebruiker uniek kan identificeren. Het SAML-token bevat ook andere claims die het e-mailadres, de voornaam en de achternaam van de gebruiker bevatten.
Claims weergeven of bewerken
De claims weergeven of bewerken die zijn uitgegeven in het SAML-token naar de toepassing:
- Meld u als cloudtoepassingsbeheerder aan bij het Microsoft Entra-beheercentrum.
- Blader naar Bedrijfstoepassingen voor identiteitstoepassingen>>>Alle toepassingen.
- Selecteer de toepassing, selecteer Eenmalige aanmelding in het menu aan de linkerkant en selecteer vervolgens Bewerken in de sectie Kenmerken & Claims .
Mogelijk moet u de claims bewerken die zijn uitgegeven in het SAML-token om de volgende redenen:
- De toepassing vereist dat de
NameIdentifier
ofnameID
claim iets anders is dan de gebruikersnaam (of user principal name). - De toepassing is zodanig geschreven dat een andere set claim-URI's of claimwaarden is vereist.
Bewerken nameID
De claim voor de naam-id-waarde bewerken:
- Open de pagina Naam id-waarde.
- Selecteer het kenmerk of de transformatie die u wilt toepassen op het kenmerk. U kunt desgewenst de indeling opgeven die de
nameID
claim moet hebben.
NameID-indeling
Als de SAML-aanvraag het element NameIDPolicy
met een specifieke indeling bevat, krijgt het Microsoft Identity Platform de indeling in de aanvraag.
Als de SAML-aanvraag geen element NameIDPolicy
voor bevat, geeft het Microsoft Identity Platform de nameID
indeling die u opgeeft, uit. Als er geen indeling is opgegeven, gebruikt het Microsoft Identity Platform de standaardbronindeling die is gekoppeld aan de geselecteerde claimbron. Als een transformatie resulteert in een null- of ongeldige waarde, verzendt Microsoft Entra-id een permanente pairwise-id in de nameID
.
Selecteer in de vervolgkeuzelijst Naam-id-indeling kiezen een van de opties in de volgende tabel.
nameID formatteren |
Beschrijving |
---|---|
Standaard | Microsoft Identity Platform maakt gebruik van de standaardbronindeling. |
Hardnekkig | Microsoft Identity Platform gebruikt Persistent als de nameID indeling. |
E-mailadres | Microsoft Identity Platform gebruikt EmailAddress als de nameID indeling. |
Onbepaald | Microsoft Identity Platform gebruikt Unspecified als de nameID indeling. |
Gekwalificeerde Windows-domeinnaam | Microsoft Identity Platform maakt gebruik van de WindowsDomainQualifiedName indeling. |
nameID
Tijdelijk wordt ook ondersteund, maar is niet beschikbaar in de vervolgkeuzelijst en kan niet worden geconfigureerd aan de zijde van Azure. Zie Het SAML-protocol voor eenmalige aanmelding voor meer informatie over het NameIDPolicy
kenmerk.
Kenmerken
Tip
Stappen in dit artikel kunnen enigszins variëren op basis van de portal waaruit u begint.
Selecteer de gewenste bron voor de NameIdentifier
claim (of nameID
) . U kunt kiezen uit de opties in de volgende tabel.
Name | Beschrijving |
---|---|
Email |
Het e-mailadres van de gebruiker. |
userprincipalName |
De UPN (user Principal name) van de gebruiker. |
onpremisessamaccountname |
De SAM-accountnaam die is gesynchroniseerd vanuit de on-premises Microsoft Entra-id. |
objectid |
De object-id van de gebruiker in Microsoft Entra-id. |
employeeid |
De werknemer-id van de gebruiker. |
Directory extensions |
De directory-extensies die vanuit on-premises Active Directory zijn gesynchroniseerd met Behulp van Microsoft Entra Connect Sync. |
Extension Attributes 1-15 |
De kenmerken van de on-premises extensie die worden gebruikt om het Microsoft Entra-schema uit te breiden. |
pairwiseid |
De permanente vorm van gebruikers-id. |
Zie de tabel met geldige id-waarden per bron verderop op deze pagina voor meer informatie over id-waarden.
Elke constante (statische) waarde kan worden toegewezen aan elke claim. Gebruik de volgende stappen om een constante waarde toe te wijzen:
- Selecteer op de blade Kenmerken en claims de vereiste claim die u wilt wijzigen.
- Voer de constante waarde zonder aanhalingstekens in het kenmerk Bron in op basis van uw organisatie en selecteer Opslaan. De constante waarde wordt weergegeven.
Extensies voor directoryschema's
U kunt ook kenmerken van mapschema-extensies configureren als niet-voorwaardelijke/voorwaardelijke kenmerken. Gebruik de volgende stappen om het kenmerk van de mapextensie voor een enkele of meerdere waarden te configureren als een claim:
- Selecteer op de blade Kenmerken en claims de optie Nieuwe claim toevoegen of een bestaande claim bewerken.
- Selecteer de brontoepassing in de toepassingskiezer waarin de extensie-eigenschap is gedefinieerd.
- Selecteer Toevoegen om de selectie toe te voegen aan de claims.
- Klik op Opslaan om de wijzigingen door te voeren.
Speciale claimtransformaties
U kunt de volgende speciale claimtransformatiefuncties gebruiken.
Functie | Beschrijving |
---|---|
ExtractMailPrefix() | Hiermee verwijdert u het domeinachtervoegsel uit het e-mailadres of de principal-naam van de gebruiker. Met deze functie wordt alleen het eerste deel van de gebruikersnaam geëxtraheerd dat wordt doorgegeven (bijvoorbeeld 'joe_smith' in plaats van joe_smith@contoso.com). |
ToLower() | Converteert de tekens van het geselecteerde kenmerk naar kleine letters. |
ToUpper() | Converteert de tekens van het geselecteerde kenmerk naar hoofdletters. |
Toepassingsspecifieke claims toevoegen
Voor toevoegen van toepassingsspecifieke claims
- Selecteer op de blade Kenmerken en claims de optie Nieuwe claim toevoegen om de pagina Gebruikersclaims beheren te openen.
- Voer de naam van de claims in. De waarde hoeft niet strikt een URI-patroon te volgen, volgens de SAML-specificatie. Als u een URI-patroon nodig hebt, kunt u dat in het veld Naamruimte plaatsen.
- Selecteer de bron waar de claim de waarde gaat ophalen. U kunt een gebruikerskenmerk selecteren in de vervolgkeuzelijst van het bronkenmerk of een transformatie toepassen op het gebruikerskenmerk voordat u het als claim verzendt.
Een groepsclaim toevoegen
Groepsclaims worden gebruikt om autorisatiebeslissingen te nemen voor toegang tot een resource door een app of een serviceprovider. Groepsclaims toevoegen;
- Navigeer naar App-registraties en selecteer de app waaraan u een groepsclaim wilt toevoegen.
- Selecteer Groepsclaim toevoegen.
- Selecteer de groepstypen die u wilt opnemen in uw token. U kunt beveiligingsgroepen, adreslijstgroepen of groepen toevoegen die zijn toegewezen aan een bepaalde toepassing.
- Kies de waarden die u wilt opnemen in uw groepsclaim en selecteer vervolgens Toevoegen.
Transformaties voor claims
Een transformatie toepassen op een gebruikerskenmerk:
- Selecteer in Claim beherenTransformatie als de claimbron om de pagina Transformatie beheren te openen.
- Selecteer de functie in de vervolgkeuzelijst Transformatie. Afhankelijk van de geselecteerde functie geeft u parameters en een constante waarde op die u in de transformatie wilt evalueren.
- Selecteer de bron van het kenmerk door op het juiste keuzerondje te klikken.
- Selecteer de kenmerknaam in de vervolgkeuzelijst.
- Bron behandelen als meerdere waarden is een selectievakje dat aangeeft of de transformatie moet worden toegepast op alle waarden of alleen op de eerste. Transformaties worden standaard alleen toegepast op het eerste element in een claim met meerdere waarden door dit selectievakje in te schakelen dat deze op alle elementen wordt toegepast. Dit selectievakje is bijvoorbeeld alleen ingeschakeld voor kenmerken met meerdere waarden
user.proxyaddresses
. - Als u meerdere transformaties wilt toepassen, selecteert u Transformatie toevoegen. U kunt maximaal twee transformaties toepassen op een claim. U kunt bijvoorbeeld eerst het e-mailvoorvoegsel extraheren van de
user.mail
. Maak vervolgens de tekenreeks met hoofdletters.
U kunt de volgende functies gebruiken om claims te transformeren.
Functie | Beschrijving |
---|---|
ExtractMailPrefix() | Hiermee verwijdert u het domeinachtervoegsel uit het e-mailadres of de principal-naam van de gebruiker. Met deze functie wordt alleen het eerste deel van de gebruikersnaam geëxtraheerd dat wordt doorgegeven. Bijvoorbeeld, joe_smith in plaats van joe_smith@contoso.com . |
Samenvoegen() | Hiermee maakt u een nieuwe waarde door twee kenmerken te koppelen. U kunt eventueel een scheidingsteken tussen de twee kenmerken gebruiken. Voor de nameID claimtransformatie heeft de functie Join() een specifiek gedrag wanneer de transformatie-invoer een domeinonderdeel heeft. Het domeinonderdeel wordt uit invoer verwijderd voordat het wordt toegevoegd met het scheidingsteken en de geselecteerde parameter. Als de invoer van de transformatie bijvoorbeeld is joe_smith@contoso.com en het scheidingsteken is @ en de parameter is fabrikam.com , resulteert deze invoercombinatie in joe_smith@fabrikam.com . |
ToLowercase() | Converteert de tekens van het geselecteerde kenmerk naar kleine letters. |
ToUppercase() | Converteert de tekens van het geselecteerde kenmerk naar hoofdletters. |
Contains() | Voert een kenmerk of constante uit als de invoer overeenkomt met de opgegeven waarde. Anders kunt u een andere uitvoer opgeven als er geen overeenkomst is. Als u bijvoorbeeld een claim wilt verzenden waarbij de waarde het e-mailadres van de gebruiker is als deze het domein @contoso.com bevat, anders wilt u de principal-naam van de gebruiker uitvoeren. Als u deze functie wilt uitvoeren, configureert u de volgende waarden: Parameter 1(input): user.email , Value: "@contoso.com" , Parameter 2 (output): user.email en Parameter 3 (output if there's no match): user.userprincipalname . |
EndWith() | Voert een kenmerk of constante uit als de invoer eindigt op de opgegeven waarde. Anders kunt u een andere uitvoer opgeven als er geen overeenkomst is. Als u bijvoorbeeld een claim wilt verzenden waarbij de waarde de werknemer-id van de gebruiker is als de werknemer-id eindigt 000 , anders wilt u een extensiekenmerk uitvoeren. Als u deze functie wilt uitvoeren, configureert u de volgende waarden: Parameter 1(input): user.employeeid , Value: "000" , Parameter 2 (output): user.employeeid en Parameter 3 (output if there's no match): user.extensionattribute1 . |
StartWith() | Resulteert in een kenmerk of constante als de invoer begint met de opgegeven waarde. Anders kunt u een andere uitvoer opgeven als er geen overeenkomst is. Als u bijvoorbeeld een claim wilt verzenden waarbij de waarde de werknemer-id van de gebruiker is als het land of de regio begint US , anders wilt u een extensiekenmerk uitvoeren. Als u deze functie wilt uitvoeren, configureert u de volgende waarden: Parameter 1(input): user.country , Value: "US" , Parameter 2 (output): user.employeeid en Parameter 3 (output if there's no match): user.extensionattribute1 |
Extract(): na afstemmen | Retourneert de subtekenreeks nadat deze overeenkomt met de opgegeven waarde. Als de waarde van de invoer bijvoorbeeld is, is Finance_BSimon Finance_ de overeenkomende waarde , dan is BSimon de uitvoer van de claim . |
Extract(): Voordat wordt geëxtraheerd | Retourneert de subtekenreeks totdat deze overeenkomt met de opgegeven waarde. Als de waarde van de invoer bijvoorbeeld is, is BSimon_US _US de overeenkomende waarde , dan is BSimon de uitvoer van de claim . |
Extract(): Tussen afstemmen | Retourneert de subtekenreeks totdat deze overeenkomt met de opgegeven waarde. Als de waarde van de invoer bijvoorbeeld , de eerste overeenkomende waarde is Finance_BSimon_US Finance_ , is de tweede overeenkomende waarde , _US dan is BSimon de uitvoer van de claim . |
ExtractAlpha(): voorvoegsel | Retourneert het alfabetische voorvoegsel van de tekenreeks. Als de waarde van de invoer bijvoorbeeld is BSimon_123 , wordt deze geretourneerd BSimon . |
ExtractAlpha(): achtervoegsel | Retourneert het alfabetische achtervoegsel van de tekenreeks. Als de waarde van de invoer bijvoorbeeld is 123_Simon , wordt deze geretourneerd Simon . |
ExtractNumeric(): voorvoegsel | Retourneert het alfabetische voorvoegsel van de tekenreeks. Als de waarde van de invoer bijvoorbeeld is 123_BSimon , wordt deze geretourneerd 123 . |
ExtractNumeric(): achtervoegsel | Retourneert het numerieke achtervoegseldeel van de tekenreeks. Als de waarde van de invoer bijvoorbeeld is BSimon_123 , wordt deze geretourneerd 123 . |
IfEmpty() | Voert een kenmerk of constante uit als de invoer null of leeg is. Als u bijvoorbeeld een kenmerk wilt uitvoeren dat is opgeslagen in een extensiekenmerk als de werknemer-id voor een gebruiker leeg is. Als u deze functie wilt uitvoeren, configureert u de volgende waarden: Parameter 1(input): user.employeeid , Parameter 2 (output): user.extensionattribute1 en Parameter 3 (output if there's no match): user.employeeid . |
IfNotEmpty() | Voert een kenmerk of constante uit als de invoer niet null of leeg is. Als u bijvoorbeeld een kenmerk wilt uitvoeren dat is opgeslagen in een extensiekenmerk als de werknemer-id voor een gebruiker niet leeg is. Als u deze functie wilt uitvoeren, configureert u de volgende waarden: Parameter 1(input): user.employeeid en Parameter 2 (output): user.extensionattribute1 . |
Subtekenreeks() - Vaste lengte | Extraheert onderdelen van een tekenreeksclaimtype, beginnend bij het teken op de opgegeven positie en retourneert het opgegeven aantal tekens. Dit sourceClaim is de claimbron van de transformatie die moet worden uitgevoerd. Dit StartIndex is de op nul gebaseerde begintekenpositie van een subtekenreeks in dit exemplaar. Dit Length is de lengte in tekens van de subtekenreeks. Bijvoorbeeld sourceClaim - PleaseExtractThisNow , StartIndex - 6 en Length - 11 produceert een uitvoer van ExtractThis . |
Subtekenreeks() - EndOfString | Extraheert delen van een type tekenreeksclaim, beginnend bij het teken op de opgegeven positie, en retourneert de rest van de claim uit de opgegeven startindex. Dit sourceClaim is de claimbron van de transformatie die moet worden uitgevoerd. Dit StartIndex is de op nul gebaseerde begintekenpositie van een subtekenreeks in dit exemplaar. En produceert bijvoorbeeld sourceClaim - PleaseExtractThisNow StartIndex - 6 een uitvoer van ExtractThisNow . |
RegexReplace() | Zie de volgende sectie voor meer informatie over op regex gebaseerde claimstransformatie. |
Transformatie van claims op basis van Regex
In de volgende afbeelding ziet u een voorbeeld van het eerste niveau van transformatie:
De acties in de volgende tabel bevatten informatie over het eerste niveau van transformaties en komen overeen met de labels in de vorige afbeelding. Selecteer Bewerken om de blade claimtransformatie te openen.
Actie | Veld | Beschrijving |
---|---|---|
1 |
Transformation |
Selecteer de optie RegexReplace() in de transformatieopties om de op regex gebaseerde claimtransformatiemethode te gebruiken voor claimtransformatie. |
2 |
Parameter 1 |
De invoer voor de reguliere expressietransformatie. Bijvoorbeeld user.mail met een e-mailadres van een gebruiker, zoals admin@fabrikam.com . |
3 |
Treat source as multivalued |
Sommige gebruikerskenmerken voor invoer kunnen gebruikerskenmerken met meerdere waarden zijn. Als het geselecteerde gebruikerskenmerk meerdere waarden ondersteunt en de gebruiker meerdere waarden wil gebruiken voor de transformatie, moeten ze de bron behandelen selecteren als meerdere waarden. Indien geselecteerd, worden alle waarden gebruikt voor de regex-overeenkomst, anders wordt alleen de eerste waarde gebruikt. |
4 |
Regex pattern |
Een reguliere expressie die wordt geëvalueerd op basis van de waarde van het gebruikerskenmerk dat is geselecteerd als parameter 1. Een reguliere expressie voor het extraheren van de gebruikersalias uit het e-mailadres van de gebruiker wordt bijvoorbeeld weergegeven als (?'domain'^.*?)(?i)(\@fabrikam\.com)$ . |
5 |
Add additional parameter |
Er kunnen meer dan één gebruikerskenmerk worden gebruikt voor de transformatie. De waarden van de kenmerken worden vervolgens samengevoegd met regex-transformatie-uitvoer. Maximaal vijf parameters worden ondersteund. |
6 |
Replacement pattern |
Het vervangende patroon is de tekstsjabloon, die tijdelijke aanduidingen voor regex-resultaat bevat. Alle groepsnamen moeten in de accolades worden verpakt, zoals {group-name} . Stel dat het beheer gebruikersalias wil gebruiken met een andere domeinnaam, bijvoorbeeld xyz.com en de landnaam hiermee samenvoegen. In dit geval is {country}.{domain}@xyz.com het vervangingspatroon, waarbij {country} de waarde van de invoerparameter is en {domain} de groepsuitvoer is van de reguliere expressie-evaluatie. In dat geval is US.swmal@xyz.com het verwachte resultaat . |
In de volgende afbeelding ziet u een voorbeeld van het tweede transformatieniveau:
De volgende tabel bevat informatie over het tweede niveau van transformaties. De acties die in de tabel worden vermeld, komen overeen met de labels in de vorige afbeelding.
Actie | Veld | Beschrijving |
---|---|---|
1 |
Transformation |
Op Regex gebaseerde claimtransformaties zijn niet beperkt tot de eerste transformatie en kunnen ook worden gebruikt als de transformatie op het tweede niveau. Elke andere transformatiemethode kan als de eerste transformatie worden gebruikt. |
2 |
Parameter 1 |
Als RegexReplace() is geselecteerd als een transformatie op het tweede niveau, wordt de uitvoer van transformatie op het eerste niveau gebruikt als invoer voor de transformatie op het tweede niveau. Als u de transformatie wilt toepassen, moet de regex-expressie op het tweede niveau overeenkomen met de uitvoer van de eerste transformatie. |
3 |
Regex pattern |
Regex-patroon is de reguliere expressie voor de transformatie op het tweede niveau. |
4 |
Parameter input |
Invoer van gebruikerskenmerken voor de transformaties op het tweede niveau. |
5 |
Parameter input |
Beheerders kunnen de geselecteerde invoerparameter verwijderen als ze deze niet meer nodig hebben. |
6 |
Replacement pattern |
Het vervangende patroon is de tekstsjabloon, die tijdelijke aanduidingen bevat voor de naam van de regex-resultaatgroep, de naam van de invoerparametergroep en de statische tekstwaarde. Alle groepsnamen moeten in de accolades worden verpakt, zoals {group-name} . Stel dat het beheer gebruikersalias wil gebruiken met een andere domeinnaam, bijvoorbeeld xyz.com en de landnaam hiermee samenvoegen. In dit geval is {country}.{domain}@xyz.com het vervangingspatroon, waarbij {country} de waarde van de invoerparameter en {domain} de groepsuitvoer is van de reguliere expressie-evaluatie. In dat geval is US.swmal@xyz.com het verwachte resultaat . |
7 |
Test transformation |
De regexReplace() transformatie wordt alleen geëvalueerd als de waarde van het geselecteerde gebruikerskenmerk voor parameter 1 overeenkomt met de reguliere expressie die is opgegeven in het tekstvak Regex-patroon . Als deze niet overeenkomen, wordt de standaardclaimwaarde toegevoegd aan het token. Als u een reguliere expressie wilt valideren op basis van de waarde van de invoerparameter, is er een testervaring beschikbaar op de het blad Transformaties. Deze testervaring werkt alleen bij dummy-waarden. Wanneer er meer invoerparameters worden gebruikt, wordt de naam van de parameter toegevoegd aan het testresultaat in plaats van de werkelijke waarde. Selecteer Testtransformatie om toegang te krijgen tot de testsectie. |
In de volgende afbeelding ziet u een voorbeeld van het testen van de transformaties:
De volgende tabel bevat informatie over het testen van de transformaties. De acties die in de tabel worden vermeld, komen overeen met de labels in de vorige afbeelding.
Actie | Veld | Beschrijving |
---|---|---|
1 |
Test transformation |
Selecteer de knop Sluiten of (X) om de testsectie te verbergen en de knop Testtransformatie opnieuw weer te geven op de blade. |
2 |
Test regex input |
Accepteert invoer die wordt gebruikt voor de evaluatie van de reguliere expressietest. Als op regex gebaseerde claimtransformatie is geconfigureerd als een transformatie op het tweede niveau, geeft u een waarde op die de verwachte uitvoer van de eerste transformatie is. |
3 |
Run test |
Nadat de regex-invoer van de test is opgegeven en het Regex-patroon, het vervangingspatroon en de invoerparameters zijn geconfigureerd, kan de expressie worden geëvalueerd door De test uitvoeren te selecteren. |
4 |
Test transformation result |
Als de evaluatie slaagt, wordt een uitvoer van de testtransformatie weergegeven op basis van het resultaatlabel Testtransformatie . |
5 |
Remove transformation |
De transformatie op het tweede niveau kan worden verwijderd door transformatie verwijderen te selecteren. |
6 |
Specify output if no match |
Wanneer een regex-invoerwaarde is geconfigureerd voor de parameter 1 die niet overeenkomt met de reguliere expressie, wordt de transformatie overgeslagen. In dergelijke gevallen kan het alternatieve gebruikerskenmerk worden geconfigureerd, dat wordt toegevoegd aan het token voor de claim door uitvoer opgeven te controleren als er geen overeenkomst is. |
7 |
Parameter 3 |
Als een alternatief gebruikerskenmerk moet worden geretourneerd wanneer er geen overeenkomst is en uitvoer opgeven als er geen overeenkomst is ingeschakeld, kan een alternatief gebruikerskenmerk worden geselecteerd met behulp van de vervolgkeuzelijst. Deze vervolgkeuzelijst is beschikbaar voor parameter 3 (uitvoer als er geen overeenkomst is) . |
8 |
Summary |
Onder aan de blade wordt een volledige samenvatting van de indeling weergegeven waarin de betekenis van de transformatie in eenvoudige tekst wordt uitgelegd. |
9 |
Add |
Nadat de configuratie-instellingen voor de transformatie zijn geverifieerd, kan deze worden opgeslagen in een claimbeleid door Toevoegen te selecteren. Selecteer Opslaan op de blade Claim beheren om de wijzigingen op te slaan. |
RegexReplace() transformatie is ook beschikbaar voor de transformaties van groepsclaims.
Transformatievalidaties regexReplace()
Wanneer de volgende voorwaarden optreden nadat de test Toevoegen of Uitvoeren is geselecteerd, wordt er een bericht weergegeven met meer informatie over het probleem:
- Invoerparameters met dubbele gebruikerskenmerken zijn niet toegestaan.
- Ongebruikte invoerparameters gevonden. Gedefinieerde invoerparameters moeten respectievelijk gebruik hebben in de tekst van het vervangende patroon.
- De opgegeven regex-invoer voor de test komt niet overeen met de opgegeven reguliere expressie.
- De bron voor de groepen in het vervangingspatroon is niet gevonden.
De UPN-claim toevoegen aan SAML-tokens
De http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
claim maakt deel uit van de beperkte SAML-claimset. Als u een aangepaste ondertekeningssleutel hebt geconfigureerd, kunt u deze toevoegen in de sectie Kenmerken en claims .
Als er geen aangepaste ondertekeningssleutel is geconfigureerd, raadpleegt u de samL Restricted-claimset. U kunt deze als optionele claim toevoegen via App-registraties in Azure Portal.
Open de toepassing in App-registraties, selecteer tokenconfiguratie en selecteer vervolgens Optionele claim toevoegen. Selecteer het type SAML-token , kies upn in de lijst en klik vervolgens op Toevoegen om de claim toe te voegen aan het token.
Aanpassingen die zijn uitgevoerd in de sectie Kenmerken en claims , kunnen de optionele claims in de app-registratie overschrijven.
Claims verzenden op basis van voorwaarden
U kunt de bron van een claim opgeven op basis van het gebruikerstype en de groep waarvan de gebruiker deel uitmaakt.
Het gebruikerstype kan zijn:
- Alle gebruikers hebben toegang tot de toepassing.
- Leden: systeemeigen lid van de tenant
- Alle gasten: De gebruiker wordt overgebracht van een externe organisatie met of zonder Microsoft Entra-id.
- Microsoft Entra-gasten: Gastgebruiker behoort tot een andere organisatie met behulp van Microsoft Entra-id.
- Externe gasten: Gastgebruiker behoort tot een externe organisatie die geen Microsoft Entra-id heeft.
Een scenario waarin het gebruikerstype nuttig is, is wanneer de bron van een claim verschilt voor een gast en een werknemer die toegang heeft tot een toepassing. U kunt opgeven dat als de gebruiker een werknemer is, de NameID afkomstig is van user.email. Als de gebruiker een gast is, wordt de NameID afkomstig van user.extensionattribute1.
Een claimvoorwaarde toevoegen:
- Vouw in Claim beheren de claimvoorwaarden uit.
- Selecteer het gebruikerstype.
- Selecteer de groep(en) waartoe de gebruiker behoort. U kunt maximaal 50 unieke groepen selecteren voor alle claims voor een bepaalde toepassing.
- Selecteer de bron waar de claim de waarde gaat ophalen. U kunt een gebruikerskenmerk selecteren in de vervolgkeuzelijst voor het bronkenmerk of een transformatie toepassen op het gebruikerskenmerk. U kunt ook een mapschema-extensie selecteren voordat u deze als claim verzendt.
De volgorde waarin u de voorwaarden toevoegt, zijn belangrijk. Microsoft Entra evalueert eerst alle voorwaarden met bron Attribute
en evalueert vervolgens alle voorwaarden met de bron Transformation
om te bepalen welke waarde in de claim moet worden verzonden. Voorwaarden met dezelfde bron worden van boven naar beneden geëvalueerd. De laatste waarde, die overeenkomt met de expressie, wordt verzonden in de claim. Transformaties zoals IsNotEmpty
en Contains
fungeren als beperkingen.
Bijvoorbeeld: Britta Simon is een gastgebruiker in de Contoso-tenant. Britta behoort tot een andere organisatie die ook gebruikmaakt van Microsoft Entra ID. Gezien de volgende configuratie voor de Fabrikam-toepassing, evalueert het Microsoft Identity Platform de voorwaarden wanneer Britta zich probeert aan te melden bij Fabrikam.
Eerst controleert het Microsoft Identity Platform of het gebruikerstype van Britta Alle gasten is. Omdat het type Alle gasten is, wijst het Microsoft Identity Platform de bron voor de claim toe aanuser.extensionattribute1
. Ten tweede controleert het Microsoft Identity Platform of het gebruikerstype van Britta Microsoft Entra-gasten is. Omdat het type Alle gasten is, wijst het Microsoft Identity Platform de bron voor de claim toe aanuser.mail
. Ten slotte wordt de claim verzonden met een waarde voor user.mail
Britta.
Een ander voorbeeld is wanneer Britta Simon zich probeert aan te melden en de volgende configuratie wordt gebruikt. Alle voorwaarden worden eerst geëvalueerd met de bron van Attribute
. Omdat het gebruikerstype van Britta Microsoft Entra-gasten is, user.mail
wordt deze toegewezen als de bron voor de claim. Vervolgens worden de transformaties geëvalueerd. Omdat Britta een gast is, is user.extensionattribute1
nu de nieuwe bron voor de claim. Omdat Britta zich in Microsoft Entra-gasten bevindt, user.othermail
is dit nu de bron voor deze claim. Ten slotte wordt de claim verzonden met een waarde voor user.othermail
Britta.
Bekijk als laatste voorbeeld wat er gebeurt als Britta geen user.othermail
configuratie heeft of leeg is. In beide gevallen wordt de vermelding van de voorwaarde genegeerd en valt de claim terug in user.extensionattribute1
plaats daarvan.
Geavanceerde OPTIES voor SAML-claims
Geavanceerde claimopties kunnen worden geconfigureerd voor SAML2.0-toepassingen om dezelfde claim beschikbaar te maken voor OIDC-tokens en omgekeerd voor toepassingen die dezelfde claim willen gebruiken voor zowel SAML2.0- als OIDC-antwoordtokens.
Geavanceerde claimopties kunnen worden geconfigureerd door het selectievakje onder Geavanceerde SAML-claimsopties in de blade Claims beheren in te schakelen.
De volgende tabel bevat andere geavanceerde opties die kunnen worden geconfigureerd voor een toepassing.
Optie | Omschrijving |
---|---|
Toepassings-id toevoegen aan verlener | Voegt automatisch de toepassings-id toe aan de claim van de verlener. Deze optie zorgt voor een unieke claimwaarde voor elk exemplaar wanneer er meerdere exemplaren van dezelfde toepassing zijn. Deze instelling wordt genegeerd als een aangepaste ondertekeningssleutel niet is geconfigureerd voor de toepassing. |
Claim van doelgroep overschrijven | Hiermee kan de claim van de doelgroep worden overschreven die naar de toepassing is verzonden. De opgegeven waarde moet een geldige absolute URI zijn. Deze instelling wordt genegeerd als een aangepaste ondertekeningssleutel niet is geconfigureerd voor de toepassing. |
Indeling van kenmerknaam opnemen | Als deze optie is geselecteerd, voegt Microsoft Entra ID een kenmerk NameFormat toe dat de indeling van de naam beschrijft voor beperkte, kern- en optionele claims voor de toepassing. Raadpleeg Type claimtoewijzingsbeleid voor meer informatie. |