Delen via


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

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:

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.

  1. Maak een claimtoewijzingsbeleid. Met dit beleid, gekoppeld aan specifieke service-principals, wordt de basisclaimset verwijderd uit tokens.

  2. 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"
    
  3. Als u uw nieuwe beleid wilt zien en het beleid ObjectIdwilt 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.

  1. Maak een claimtoewijzingsbeleid. Dit beleid, gekoppeld aan specifieke service-principals, voegt de EmployeeID- en TenantCountry-claim toe aan tokens.

  2. 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"
    
  3. Als u uw nieuwe beleid wilt zien en het beleid ObjectIdwilt 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.

  1. Maak een claimtoewijzingsbeleid. Dit beleid, gekoppeld aan specifieke service-principals, verzendt een aangepaste claim JoinedData naar tokens.

  2. 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"
    
  3. Als u uw nieuwe beleid wilt zien en het beleid ObjectIdwilt 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.

  1. 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.

  2. Voer de volgende opdracht uit om alle claimtoewijzingsbeleidsregels in uw tenant weer te geven en om het beleid ObjectIdop te halen:

    Get-MgPolicyClaimMappingPolicy
    
  3. 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>"}