Personalizzazione delle attestazioni tramite PowerShell e criteri di mapping delle attestazioni
Un'attestazione è un insieme di informazioni relative ad un utente dichiarate da un provider di identità all'interno del token rilasciato per tale utente. La personalizzazione delle attestazioni viene usata dagli amministratori tenant per personalizzare le attestazioni generate nei token per un'applicazione specifica nel tenant. È possibile usare i criteri di mapping delle attestazioni per:
- selezionare le attestazioni incluse nei token.
- creare tipi di attestazione che non esistono già.
- scegliere o modificare l'origine dei dati generati in attestazioni specifiche.
La personalizzazione delle attestazioni supporta la configurazione dei criteri di mapping delle attestazioni per i protocolli SAML, OAuth e OpenID Connect.
Nota
I criteri di mapping delle attestazioni sostituiscono sia i criteri attestazioni personalizzati che la personalizzazione delle attestazioni offerte tramite l'interfaccia di amministrazione di Microsoft Entra. La personalizzazione delle attestazioni per un'applicazione tramite i criteri di mapping delle attestazioni significa che i token rilasciati per tale applicazione ignoreranno la configurazione in Criteri attestazioni personalizzate o la configurazione nel pannello di personalizzazione delle attestazioni nell'interfaccia di amministrazione di Microsoft Entra.
Prerequisiti
- Informazioni su come ottenere un tenant di Microsoft Entra.
- Scaricare la versione più recente di Microsoft Graph PowerShell SDK.
Operazioni preliminari
Gli esempi seguenti mostrano come creare, aggiornare, collegare ed eliminare criteri per le entità servizio. I criteri di mapping delle attestazioni possono essere assegnati solo agli oggetti entità servizio.
Quando si creano criteri di mapping delle attestazioni, è anche possibile generare un'attestazione da un attributo di estensione della directory nei token. Usare ExtensionID
per l'attributo di estensione anziché l'ID nell'elemento ClaimsSchema
. Per altre informazioni sugli attributi di estensione, vedi Uso degli attributi dell'estensione della directory.
Nota
Microsoft Graph PowerShell SDK è necessario per configurare i criteri di mapping delle attestazioni.
Aprire un terminale ed eseguire il comando seguente per accedere all'account amministratore di Microsoft Entra. Eseguire questo comando ogni volta che si avvia una nuova sessione.
Import-Module Microsoft.Graph.Identity.SignIns
Connect-MgGraph -Scopes "Policy.ReadWrite.ApplicationConfiguration", "Policy.Read.All"
È ora possibile creare un criterio di mapping delle attestazioni e assegnarlo a un'entità servizio. Per scenari comuni, vedere gli esempi seguenti:
- Omettere le attestazioni di base dai token
- Includere EmployeeID e TenantCountry come attestazioni nei token
- Usare una trasformazione delle attestazioni nei token
Dopo aver creato un criterio di mapping delle attestazioni, configurare l'applicazione per confermare che i token conterranno attestazioni personalizzate. Per altre informazioni, vedere Considerazioni sulla sicurezza.
Omettere le attestazioni di base dai token
In questo esempio si crea un criterio che rimuove il set di attestazioni di base dai token emessi alle entità servizio collegate.
Creare un criterio di mapping delle attestazioni. Questi criteri, che vengono collegati a specifiche entità servizio, rimuovono il set di attestazioni di base dai token.
Usando il terminale aperto, eseguire il comando seguente per creare i criteri:
New-MgPolicyClaimMappingPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"false"}}') -DisplayName "OmitBasicClaims"
Per visualizzare i nuovi criteri e per ottenere il criterio
ObjectId
, eseguire il comando seguente:Get-MgPolicyClaimMappingPolicy Definition DeletedDateTime Description DisplayName Id ---------- --------------- ----------- ----------- -- {"ClaimsMappingPolicy":{..}} OmitBasicClaims 36d1aa10-f9ac...
Includere e EmployeeID
TenantCountry
come attestazioni nei token
In questo esempio viene creato un criterio che aggiunge EmployeeID
e TenantCountry
ai token rilasciati alle entità servizio collegate. EmployeeID viene emesso come tipo di attestazione nome sia nei token SAML sia nei token JWT. TenantCountry viene emesso come tipo di attestazione paese/area geografica sia nei token SAML sia nei token JWT. In questo esempio si continua a includere il set di attestazioni di base nei token.
Creare un criterio di mapping delle attestazioni. Questi criteri, che vengono collegati a specifiche entità servizio, aggiungono le attestazioni EmployeeID e TenantCountry ai token.
Per creare il criterio, eseguire il comando seguente nel terminale:
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"
Per visualizzare i nuovi criteri e per ottenere il criterio
ObjectId
, eseguire il comando seguente:Get-MgPolicyClaimMappingPolicy
Usare una trasformazione delle attestazioni nei token
In questo esempio si creano i criteri che generano un'attestazione personalizzata "JoinedData" nei token JWT emessi per le entità servizio collegate. Questa attestazione contiene un valore creato aggiungendo i dati archiviati nell'attributo extensionattribute1 nell'oggetto utente con "-ext". In questo esempio si esclude il set di attestazioni di base nei token.
Creare un criterio di mapping delle attestazioni. Questo criterio, collegato a specifiche entità servizio, genera un'attestazione
JoinedData
personalizzata ai token.Per creare i criteri, eseguire questo comando:
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"
Per visualizzare i nuovi criteri e per ottenere il criterio
ObjectId
, eseguire il comando seguente:Get-MgPolicyClaimMappingPolicy
Assegnare i criteri di mapping delle attestazioni all'entità servizio
Per assegnare i criteri all'entità servizio, è necessario disporre ObjectId
dei criteri di mapping delle attestazioni e dell'entità objectId
servizio a cui devono essere assegnati i criteri.
Per visualizzare tutte le entità servizio dell'organizzazione, è possibile eseguire query sull'API Microsoft Graph o archiviarle in Microsoft Graph Explorer.
Per visualizzare tutti i criteri di mapping delle attestazioni nel tenant e per ottenere il criterio
ObjectId
, eseguire il comando seguente:Get-MgPolicyClaimMappingPolicy
Quando si dispone
ObjectId
dei criteri di mapping delle attestazioni e dell'entità servizio, eseguire il comando seguente:New-MgServicePrincipalClaimMappingPolicyByRef -ServicePrincipalId <servicePrincipalId> -BodyParameter @{"@odata.id" = "https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies/<claimsMappingPolicyId>"}