Claims aanpassen met microsoft Graph Custom Claims Policy (preview)
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. Claims aanpassen ondersteunt het configureren van claims voor toepassingen met behulp van SAML-, OAuth- en OpenID Connect-protocollen. U kunt claimaanpassing gebruiken voor het volgende:
- Selecteer welke claims zijn opgenomen in tokens.
- Maak claimtypen die nog niet bestaan.
- Kies of wijzig de bron van gegevens die in specifieke claims worden verzonden.
In deze handleiding behandelen we een aantal veelvoorkomende scenario's waarmee u inzicht krijgt in het gebruik van het beleid voor aangepaste claims.
Vereisten
- Een Microsoft Entra-tenant.
- Een bedrijfstoepassing die is geconfigureerd in het Microsoft Entra-beheercentrum.
- Voor PowerShell-gebruikers downloadt u de nieuwste Microsoft Graph PowerShell SDK. Deze stap is optioneel.
Aanpassing van claims in Microsoft Entra-id
Microsoft Entra ID ondersteunt twee manieren om claims aan te passen met Behulp van Microsoft Graph/PowerShell voor uw toepassingen:
- Aangepast claimsbeleid gebruiken (preview)
- Claimtoewijzingsbeleid gebruiken
In de volgende voorbeelden maakt, bijwerkt en vervangt u beleidsregels voor service-principals. Aangepaste claimbeleidsregels worden altijd gekoppeld aan service-principal-objecten . Zorg ervoor dat u uw bedrijfstoepassing hebt geconfigureerd als onderdeel van de vereisten voordat u een aangepast claimbeleid voor de toepassing/service-principal maakt.
Open Microsoft Graph Explorer in uw browser om u als toepassingsbeheerder aan te melden bij Microsoft Graph Explorer en kies een van de volgende scenario's.
- De basisclaims weglaten uit tokens
- De EmployeeID en TenantCountry opnemen als claims in tokens
- Een claimtransformatie gebruiken in tokens
Nadat u een beleid voor aangepaste claims hebt gemaakt, moet u uw toepassing configureren om te bevestigen dat de tokens de aangepaste claims bevatten. Raadpleeg beveiligingsoverwegingen voor meer informatie.
De basisclaims weglaten uit tokens
In dit voorbeeld maakt u een aangepast claimbeleid waarmee de basisclaimset wordt verwijderd uit tokens die zijn uitgegeven aan de gekoppelde service-principal.
Identificeer in Microsoft Graph Explorer de toepassing die u wilt configureren voor het configureren van het aangepaste claimbeleid voor het gebruik van de service-principal-API.
Maak het beleid voor aangepaste claims door de volgende API uit te voeren. Dit beleid, gekoppeld aan een service-principal, laat de basisclaims van de tokens weg.
PUT https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Aanvraagtekst:
{ "includeBasicClaimSet": false }
Voer de volgende opdracht uit om uw nieuwe beleid te zien
GET https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Respons:
HTTP/1.1 200 OK Content-type: application/json { "@odata.context": "…", "id": "aaaaaaaa-bbbb-cccc-1111-222222222222.", "includeBasicClaimSet": false, "includeApplicationIdInIssuer": false, "audienceOverride": null, "groupFilter": null, "claims": [] }
EmployeeID
De en TenantCountry
als claims opnemen in tokens
In dit voorbeeld maakt u een aanpassing aan de claims waarmee de EmployeeID
en TenantCountry
tokens worden toegevoegd. In dit voorbeeld nemen we ook de basisclaims op die zijn ingesteld in de tokens.
Identificeer in Microsoft Graph Explorer de toepassing die u wilt configureren voor het configureren van het aangepaste claimbeleid voor het gebruik van de service-principal-API.
Maak het beleid voor aangepaste claims door de volgende API uit te voeren. Dit beleid, gekoppeld aan een service-principal, voegt de claims EmployeeID en TenantCountry toe aan tokens.
PUT https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Aanvraagtekst:
{ "includeBasicClaimSet": true, "claims": [ { "@odata.type": "#microsoft.graph.customClaim", "name": "employeeId", "namespace": null, "tokenFormat": [ "jwt" ], "samlAttributeNameFormat": null, "configurations": [ { "condition": null, "attribute": { "@odata.type": "#microsoft.graph.sourcedAttribute", "id": " employeeid", "source": "user", "isExtensionAttribute": false }, "transformations": [] } ] }, { "@odata.type": "#microsoft.graph.customClaim", "name": "country", "namespace": null, "tokenFormat": [ "jwt" ], "samlAttributeNameFormat": null, "configurations": [ { "condition": null, "attribute": { "@odata.type": "#microsoft.graph.sourcedAttribute", "id": " tenantcountry", "source": "user", "isExtensionAttribute": false }, "transformations": [] } ] } ] }
Voer de volgende opdracht uit om uw nieuwe beleid te zien:
GET https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Respons:
{ "@odata.context": "…", "id": "aaaaaaaa-bbbb-cccc-1111-222222222222", "includeBasicClaimSet": true, "includeApplicationIdInIssuer": false, "audienceOverride": null, "groupFilter": null, "claims": [...] }
Een claimtransformatie gebruiken in tokens
In dit voorbeeld werkt u een beleid bij om een aangepaste claim 'JoinedData' te verzenden 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.
Identificeer in Microsoft Graph Explorer de toepassing die u wilt configureren voor het configureren van het aangepaste claimbeleid voor het gebruik van de service-principal-API.
Maak het beleid voor aangepaste claims door de volgende API uit te voeren. Met dit beleid wordt een aangepaste claim
JoinedData
verzonden naar tokens.PATCH https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Aanvraagtekst:
{ "includeBasicClaimSet": true, "claims": [ { "@odata.type": "#microsoft.graph.customClaim", "name": "JoinedData", "namespace": null, "tokenFormat": [ "jwt" ], "samlAttributeNameFormat": null, "configurations": [ { "condition": null, "attribute": null, "transformations": [ { "@odata.type": "#microsoft.graph.joinTransformation", "separator": "-", "input": { "treatAsMultiValue": false, "attribute": { "@odata.type": "#microsoft.graph.sourcedAttribute", "id": "extensionattribute1", "source": "user", "isExtensionAttribute": false } }, "input2": { "treatAsMultiValue": false, "attribute": { "@odata.type":"#microsoft.graph.valueBasedAttribute", "value": "ext" } } } ] } ] } ] }
Notitie
Aangepast claimsbeleid is een sterk getypt beleid en elke transformatie gebruikt een andere
@odata.type
waarde.Als u uw nieuwe beleid wilt zien en het beleid
ObjectId
wilt ophalen, voert u de volgende opdracht uit:GET https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Respons:
{ "@odata.context": "…", "id": "aaaaaaaa-bbbb-cccc-1111-222222222222", "includeBasicClaimSet": true, "includeApplicationIdInIssuer": false, "audienceOverride": null, "groupFilter": null, "claims": [...] }
Gerelateerde inhoud
- Meer informatie over de verschillen tussen beleidsregels in Claims aanpassen met behulp van een beleid
- Aanmeldingen voor Microsoft Graph-identiteit