Aanpassing van claims met powerShell en claimtoewijzingsbeleid
Een claim is informatie die een id-provider verstrekt over een gebruiker in het token dat deze uitgeeft voor die gebruiker. Het aanpassen van claims wordt gebruikt door tenantbeheerders om de claims aan te passen die worden verzonden in tokens voor een specifieke toepassing in hun tenant. U kunt claimtoewijzingsbeleid gebruiken voor:
- Het selecteren van welke claims worden opgenomen in tokens.
- Het maken van claimtypen die nog niet bestaan.
- Het kiezen of wijzigen van de bron van de gegevens die worden verzonden in specifieke claims.
Het aanpassen van claims ondersteunt het configureren van claimtoewijzingsbeleid voor de PROTOCOLLEN SAML, OAuth en OpenID Connect.
Notitie
Claimtoewijzingsbeleid vervangt zowel aangepast claimsbeleid als de aanpassing van claims die worden aangeboden via het Microsoft Entra-beheercentrum. Het aanpassen van claims voor een toepassing met behulp van het claimtoewijzingsbeleid betekent dat tokens die voor die toepassing worden uitgegeven, de configuratie in aangepast claimbeleid of de configuratie op de blade claims aanpassen in het Microsoft Entra-beheercentrum worden genegeerd.
Vereisten
- Meer informatie over het verkrijgen van een Microsoft Entra-tenant.
- Download de nieuwste Microsoft Graph PowerShell SDK.
Aan de slag
In de volgende voorbeelden worden beleidsregels voor service-principals gemaakt, bijgewerkt, gekoppeld en verwijderd. Beleidsregels voor claimtoewijzing kunnen alleen worden toegewezen aan service-principal-objecten.
Bij het maken van een claimtoewijzingsbeleid kunt u ook een claim van een directory-extensiekenmerk verzenden in tokens. Gebruik ExtensionID
dit voor het extensiekenmerk in plaats van id in het ClaimsSchema
element. Zie Directory-extensiekenmerken gebruiken voor meer informatie over extensiekenmerken.
Notitie
De Microsoft Graph PowerShell SDK is vereist voor het configureren van beleid voor claimtoewijzing.
Open een terminal en voer de volgende opdracht uit om u aan te melden bij uw Microsoft Entra-beheerdersaccount. Voer deze opdracht uit telkens wanneer u een nieuwe sessie start.
Import-Module Microsoft.Graph.Identity.SignIns
Connect-MgGraph -Scopes "Policy.ReadWrite.ApplicationConfiguration", "Policy.Read.All"
U kunt nu een claimtoewijzingsbeleid maken en dit toewijzen aan een service-principal. Raadpleeg de volgende voorbeelden voor veelvoorkomende scenario's:
- De basisclaims weglaten uit tokens
- De EmployeeID en TenantCountry opnemen als claims in tokens
- Een claimtransformatie gebruiken in tokens
Nadat u een claimtoewijzingsbeleid hebt gemaakt, configureert u uw toepassing om te bevestigen dat tokens aangepaste claims bevatten. Zie beveiligingsoverwegingen voor meer informatie.
De basisclaims weglaten uit tokens
In dit voorbeeld maakt u een beleid dat de basisclaimset verwijderd uit tokens die zijn uitgegeven aan gekoppelde service-principals.
Maak een claimtoewijzingsbeleid. Met dit beleid, gekoppeld aan specifieke service-principals, wordt de basisclaimset verwijderd uit tokens.
Voer met behulp van de terminal die u hebt geopend de volgende opdracht uit om het beleid te maken:
New-MgPolicyClaimMappingPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"false"}}') -DisplayName "OmitBasicClaims"
Als u uw nieuwe beleid wilt zien en het beleid
ObjectId
wilt ophalen, voert u de volgende opdracht uit:Get-MgPolicyClaimMappingPolicy Definition DeletedDateTime Description DisplayName Id ---------- --------------- ----------- ----------- -- {"ClaimsMappingPolicy":{..}} OmitBasicClaims 36d1aa10-f9ac...
EmployeeID
De en TenantCountry
als claims opnemen in tokens
In dit voorbeeld maakt u een beleid waarmee de EmployeeID
tokens TenantCountry
worden toegevoegd die zijn uitgegeven aan gekoppelde service-principals. De EmployeeID wordt verzonden als het naamclaimtype in zowel SAML-tokens als JWT's. De TenantCountry wordt verzonden als het claimtype land/regio in zowel SAML-tokens als JWT's. In dit voorbeeld blijven we de basisclaims opnemen die zijn ingesteld in de tokens.
Maak een claimtoewijzingsbeleid. Dit beleid, gekoppeld aan specifieke service-principals, voegt de EmployeeID- en TenantCountry-claim toe aan tokens.
Voer de volgende opdracht uit in uw terminal om het beleid te maken:
New-MgPolicyClaimMappingPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"true", "ClaimsSchema": [{"Source":"user","ID":"employeeid","SamlClaimType":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/employeeid","JwtClaimType":"employeeid"},{"Source":"company","ID":"tenantcountry","SamlClaimType":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country","JwtClaimType":"country"}]}}') -DisplayName "ExtraClaimsExample"
Als u uw nieuwe beleid wilt zien en het beleid
ObjectId
wilt ophalen, voert u de volgende opdracht uit:Get-MgPolicyClaimMappingPolicy
Een claimtransformatie gebruiken in tokens
In dit voorbeeld maakt u een beleid waarmee een aangepaste claim 'JoinedData' wordt verzonden naar JWT's die zijn uitgegeven aan gekoppelde service-principals. Deze claim bevat een waarde die is gemaakt door de gegevens die zijn opgeslagen in het kenmerk extensionattribute1 toe te voegen aan het gebruikersobject met '-ext'. In dit voorbeeld blijven we de basisclaims opnemen die zijn ingesteld in de tokens.
Maak een claimtoewijzingsbeleid. Dit beleid, gekoppeld aan specifieke service-principals, verzendt een aangepaste claim
JoinedData
naar tokens.Voer de volgende opdracht uit om het beleid te maken:
New-MgPolicyClaimMappingPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"true", "ClaimsSchema":[{"Source":"user","ID":"extensionattribute1"},{"Source":"transformation","ID":"DataJoin","TransformationId":"JoinTheData","JwtClaimType":"JoinedData"}],"ClaimsTransformations":[{"ID":"JoinTheData","TransformationMethod":"Join","InputClaims":[{"ClaimTypeReferenceId":"extensionattribute1","TransformationClaimType":"string1"}], "InputParameters": [{"ID":"string2","Value":"ext"},{"ID":"separator","Value":"-"}],"OutputClaims":[{"ClaimTypeReferenceId":"DataJoin","TransformationClaimType":"outputClaim"}]}]}}') -DisplayName "TransformClaimsExample"
Als u uw nieuwe beleid wilt zien en het beleid
ObjectId
wilt ophalen, voert u de volgende opdracht uit:Get-MgPolicyClaimMappingPolicy
Het claimtoewijzingsbeleid toewijzen aan uw service-principal
Als u het beleid wilt toewijzen aan de service-principal, hebt u het ObjectId
toewijzingsbeleid voor claims en de objectId
service-principal nodig waaraan het beleid moet worden toegewezen.
Als u alle service-principals van uw organisatie wilt zien, kunt u een query uitvoeren op de Microsoft Graph API of deze inchecken in Microsoft Graph Explorer.
Voer de volgende opdracht uit om alle claimtoewijzingsbeleidsregels in uw tenant weer te geven en om het beleid
ObjectId
op te halen:Get-MgPolicyClaimMappingPolicy
Wanneer u het
ObjectId
toewijzingsbeleid voor claims en de service-principal hebt, voert u de volgende opdracht uit:New-MgServicePrincipalClaimMappingPolicyByRef -ServicePrincipalId <servicePrincipalId> -BodyParameter @{"@odata.id" = "https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies/<claimsMappingPolicyId>"}