Delen via


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

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:

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.

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.

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

  2. 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
    }
    
  3. 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.

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

  2. 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": []
                    }
                ]
            }
        ]
    }
    
  3. 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.

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

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

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