Anpassa anspråk med hjälp av Microsoft Graph Custom Claims Policy (förhandsversion)
Ett anspråk är information som en identitetsprovider anger om en användare i den token som de utfärdar för den användaren. Anspråksanpassning används av klientadministratörer för att anpassa anspråk som genereras i token för ett visst program i klientorganisationen. Anpassning av anspråk stöder konfiguration av anspråk för program med hjälp av SAML-, OAuth- och OpenID Connect-protokoll. Du kan använda anspråksanpassning för att:
- Välj vilka anspråk som ska ingå i token.
- Skapa anspråkstyper som inte redan finns.
- Välj eller ändra datakällan som genereras i specifika anspråk.
I den här instruktionsguiden går vi igenom några vanliga scenarier som kan hjälpa dig att förstå hur du använder principen anpassade anspråk.
Förutsättningar
- En Microsoft Entra-klientorganisation.
- Ett företagsprogram som konfigurerats i administrationscentret för Microsoft Entra.
- För PowerShell-användare laddar du ned den senaste Microsoft Graph PowerShell-SDK:t. Steget är valfritt.
Anpassning av anspråk i Microsoft Entra-ID
Microsoft Entra ID har stöd för två sätt att anpassa anspråk med hjälp av Microsoft Graph/PowerShell för dina program:
I följande exempel skapar, uppdaterar och ersätter du principer för tjänstens huvudnamn. Anpassade anspråksprinciper är alltid länkade till objekt för tjänstens huvudnamn . Se till att du har konfigurerat ditt företagsprogram som en del av förutsättningarna innan du skapar en princip för anpassade anspråk för programmet/tjänstens huvudnamn.
Öppna Microsoft Graph Explorer i webbläsaren logga in på Microsoft Graph Explorer som minst programadministratör och välj något av följande scenarier.
- Utelämna de grundläggande anspråken från token
- Inkludera EmployeeID och TenantCountry som anspråk i token
- Använda en anspråkstransformering i token
När du har skapat en princip för anpassade anspråk bör du konfigurera ditt program för att bekräfta att token innehåller de anpassade anspråken. Mer information finns i Säkerhetsöverväganden.
Utelämna de grundläggande anspråken från token
I det här exemplet skapar du en anpassad anspråksprincip som tar bort den grundläggande anspråksuppsättningen från token som utfärdats till det länkade tjänstens huvudnamn.
I Microsoft Graph Explorer identifierar du det program som du vill konfigurera principen för anpassade anspråk för att använda API:et för tjänstens huvudnamn.
Skapa principen för anpassade anspråk genom att köra följande API. Den här principen, som är länkad till ett huvudnamn för tjänsten, utelämnar de grundläggande anspråken från token.
PUT https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Begärandetext:
{ "includeBasicClaimSet": false }
Om du vill se din nya princip kör du följande kommando
GET https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Svar:
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
Inkludera och TenantCountry
som anspråk i token
I det här exemplet skapar du en anpassning till de anspråk som lägger till EmployeeID
och TenantCountry
till token. I det här exemplet inkluderar vi även de grundläggande anspråk som angetts i tokens.
I Microsoft Graph Explorer identifierar du det program som du vill konfigurera principen för anpassade anspråk för att använda API:et för tjänstens huvudnamn.
Skapa principen för anpassade anspråk genom att köra följande API. Den här principen, som är länkad till ett huvudnamn för tjänsten, lägger till EmployeeID- och TenantCountry-anspråken till token.
PUT https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Begärandetext:
{ "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": [] } ] } ] }
Om du vill se din nya princip kör du följande kommando:
GET https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Svar:
{ "@odata.context": "…", "id": "aaaaaaaa-bbbb-cccc-1111-222222222222", "includeBasicClaimSet": true, "includeApplicationIdInIssuer": false, "audienceOverride": null, "groupFilter": null, "claims": [...] }
Använda en anspråkstransformering i token
I det här exemplet uppdaterar du en princip för att generera ett anpassat anspråk "JoinedData" till JWT:er som utfärdats till länkade tjänsthuvudnamn. Det här anspråket innehåller ett värde som skapats genom att koppla data som lagras i attributet extensionattribute1 på användarobjektet med "-ext". I det här exemplet exkluderar vi de grundläggande anspråk som anges i token.
I Microsoft Graph Explorer identifierar du det program som du vill konfigurera principen för anpassade anspråk för att använda API:et för tjänstens huvudnamn.
Skapa principen för anpassade anspråk genom att köra följande API. Den här principen genererar ett anpassat anspråk
JoinedData
till token.PATCH https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Begärandetext:
{ "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" } } } ] } ] } ] }
Kommentar
Anpassad anspråksprincip är en princip med stark typ och varje transformering använder ett annat
@odata.type
värde.Om du vill se din nya princip och hämta principen
ObjectId
kör du följande kommando:GET https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Svar:
{ "@odata.context": "…", "id": "aaaaaaaa-bbbb-cccc-1111-222222222222", "includeBasicClaimSet": true, "includeApplicationIdInIssuer": false, "audienceOverride": null, "groupFilter": null, "claims": [...] }
Relaterat innehåll
- Läs mer om skillnaderna mellan principer i anspråksanpassning med hjälp av en princip
- Inloggningar för Microsoft Graph-identiteter