Gestire i criteri di consenso delle app
I criteri di consenso delle app sono un modo per gestire le autorizzazioni che le app devono avere per accedere ai dati nell'organizzazione. Vengono usati per controllare a quali app gli utenti possono fornire il consenso e per assicurarsi che le app soddisfino determinati criteri prima di poter accedere ai dati. Questi criteri consentono alle organizzazioni di mantenere il controllo sui propri dati e assicurarsi di concedere l'accesso solo alle app attendibili.
In questo articolo vengono fornite informazioni su come gestire i criteri di consenso delle app predefiniti e personalizzati per controllare quando è possibile concedere il consenso.
Con Microsoft Graph e PowerShell Microsoft Graph, è possibile visualizzare e gestire i criteri di consenso delle app.
I criteri di consenso per le app sono costituiti da uno o più set di condizioni "include" e zero o più set di condizioni "esclude". Affinché un evento venga considerato in un criterio di consenso dell'app, deve corrispondere almeno a un set di condizioni "include" e non deve corrispondere a neanche un set di condizioni "exclude".
Ogni set di condizioni è composto da varie condizioni. Affinché un evento corrisponda a un set di condizioni, devono essere soddisfatte tutte le condizioni nel set di condizioni.
I criteri di consenso delle app in cui l'ID inizia con "microsoft-" sono criteri predefiniti. Alcuni di questi criteri predefiniti vengono usati nei ruoli della directory predefiniti esistenti. Ad esempio, il criterio di consenso dell'app microsoft-application-admin
descrive le condizioni in cui i ruoli Amministratore applicazione e Amministratore applicazione cloud possono concedere il consenso amministratore a livello di tenant. I criteri predefiniti possono essere usati nei ruoli della directory personalizzati e per configurare le impostazioni di consenso utente, ma non possono essere modificati o eliminati.
Prerequisiti
- Un utente o un servizio con uno dei ruoli seguenti:
- Ruolo della directory Amministratore ruolo con privilegi
- Un ruolo della directory personalizzato con le autorizzazioni necessarie per gestire i criteri di consenso delle app
- Il ruolo dell'app Microsoft Graph (autorizzazione dell'applicazione)
Policy.ReadWrite.PermissionGrant
durante la connessione come app o servizio
Per gestire i criteri di consenso delle app per le applicazioni con PowerShell Microsoft Graph, connettersi a PowerShell Microsoft Graph.
Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant"
Elencare i criteri di consenso per le app esistenti
È consigliabile iniziare ad acquisire familiarità con i criteri di consenso delle app esistenti nell'organizzazione:
Elencare tutti i criteri di consenso per le app:
Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
Visualizzare i set di condizioni "include" di un criterio:
Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
Visualizzare i set di condizioni "exclude":
Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
Creare un criterio di consenso dell'app personalizzato con PowerShell
Per creare un criterio di consenso per le app personalizzato, seguire questa procedura:
Creare un nuovo criterio di consenso per le app vuoto.
New-MgPolicyPermissionGrantPolicy ` -Id "my-custom-policy" ` -DisplayName "My first custom consent policy" ` -Description "This is a sample custom app consent policy."
Aggiungere set di condizioni "include".
# Include delegated permissions classified "low", for apps from verified publishers New-MgPolicyPermissionGrantPolicyInclude ` -PermissionGrantPolicyId "my-custom-policy" ` -PermissionType "delegated" ` -PermissionClassification "low" ` -ClientApplicationsFromVerifiedPublisherOnly
Ripetere questo passaggio per aggiungere altri set di condizioni "include".
Facoltativamente, aggiungere set di condizioni "exclude".
# Retrieve the service principal for the Azure Management API $azureApi = Get-MgServicePrincipal -Filter "servicePrincipalNames/any(n:n eq 'https://management.azure.com/')" # Exclude delegated permissions for the Azure Management API New-MgPolicyPermissionGrantPolicyExclude ` -PermissionGrantPolicyId "my-custom-policy" ` -PermissionType "delegated" ` -ResourceApplication $azureApi.AppId
Ripetere questo passaggio per aggiungere altri set di condizioni "exclude".
Dopo aver creato i criteri di consenso dell'app, è necessario assegnarlo a un ruolo personalizzato in Microsoft Entra ID. È quindi necessario assegnare gli utenti a tale ruolo personalizzato, associato al criterio di consenso per le app creato. Per altre informazioni su come assegnare i criteri di consenso per le app a un ruolo personalizzato, vedere Autorizzazioni di consenso per le app per i ruoli personalizzati.
Eliminare un criterio di consenso dell'app personalizzato con PowerShell
Il cmdlet seguente mostra come eliminare un criterio di consenso dell'app personalizzato.
Remove-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId "my-custom-policy"
Per gestire i criteri di consenso delle app, accedere a Graph explorer con uno dei ruoli elencati nella sezione dei prerequisiti.
È necessario fornire il consenso all'autorizzazione Policy.ReadWrite.PermissionGrant
.
Elencare i criteri di consenso delle app esistenti con Microsoft Graph
È consigliabile iniziare ad acquisire familiarità con i criteri di consenso delle app esistenti nell'organizzazione:
Elencare tutti i criteri di consenso per le app:
GET /policies/permissionGrantPolicies?$select=id,displayName,description
Visualizzare i set di condizioni "include" di un criterio:
GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/includes
Visualizzare i set di condizioni "exclude":
GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/excludes
Creare un criterio di consenso dell'app personalizzato con Microsoft Graph
Per creare un criterio di consenso per le app personalizzato, seguire questa procedura:
Creare un nuovo criterio di consenso per le app vuoto.
POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies Content-Type: application/json { "id": "my-custom-policy", "displayName": "My first custom consent policy", "description": "This is a sample custom app consent policy" }
Aggiungere set di condizioni "include".
Includere le autorizzazioni delegate classificate "basse" per le app dagli editori verificati
POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-policy }/includes Content-Type: application/json { "permissionType": "delegated", "PermissionClassification": "low", "clientApplicationsFromVerifiedPublisherOnly": true }
Ripetere questo passaggio per aggiungere altri set di condizioni "include".
Facoltativamente, aggiungere set di condizioni "exclude". Escludere le autorizzazioni delegate per l'API di gestione di Azure (appId 00001111-aaaa-2222-bbbb-3333cccc4444)
POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/my-custom-policy /excludes Content-Type: application/json { "permissionType": "delegated", "resourceApplication": "00001111-aaaa-2222-bbbb-3333cccc4444 " }
Ripetere questo passaggio per aggiungere altri set di condizioni "exclude".
Dopo aver creato i criteri di consenso dell'app, è necessario assegnarlo a un ruolo personalizzato in Microsoft Entra ID. È quindi necessario assegnare gli utenti a tale ruolo personalizzato, associato al criterio di consenso per le app creato. Per altre informazioni su come assegnare i criteri di consenso per le app a un ruolo personalizzato, vedere Autorizzazioni di consenso per le app per i ruoli personalizzati.
Eliminare un criterio di consenso dell'app personalizzato Microsoft Graph
Di seguito viene illustrato come eliminare un criterio di consenso dell'app personalizzato.
DELETE https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/ my-custom-policy
Avviso
Non è possibile ripristinare i criteri di consenso delle app eliminati. Se si elimina accidentalmente un criterio di consenso dell'app personalizzato, sarà necessario ricrearlo.
Condizioni supportate
La tabella seguente fornisce l'elenco delle condizioni supportate per i criteri di consenso delle app.
Condizione | Descrizione |
---|---|
PermissionClassification | La classificazione delle autorizzazioni per l'autorizzazione concessa o "all" in modo che corrisponda a qualsiasi classificazione delle autorizzazioni (incluse quelle non classificate). Il valore predefinito è "all". |
PermissionType | Tipo dell'autorizzazione concessa. Usare "application" per le autorizzazioni dell'applicazione (ad esempio, ruoli dell'app) o "delegated" per le autorizzazioni delegate. Nota: il valore "delegatedUserConsentable" indica le autorizzazioni delegate non configurate dall'autore dell'API per richiedere il consenso dell'amministratore. Questo valore può essere usato nei criteri di concessione delle autorizzazioni predefiniti, ma non nei criteri di concessione delle autorizzazioni personalizzati. Obbligatorio. |
ResourceApplication | L'AppId dell'applicazione di risorse (ad esempio l'API) per cui viene concessa un'autorizzazione o "any" per la corrispondenza con qualsiasi applicazione di risorsa o API. Il valore predefinito è "any". |
Autorizzazioni | Elenco di ID autorizzazione per le autorizzazioni specifiche da associare o un elenco con il singolo valore "all" da associare a qualsiasi autorizzazione. Il valore predefinito è il singolo valore "all". - Gli ID di autorizzazione delegata sono disponibili nella proprietà OAuth2Permissions dell'oggetto ServicePrincipal dell'API. - Gli ID di autorizzazione dell'applicazione sono disponibili nella proprietà AppRoles dell'oggetto ServicePrincipal dell'API. |
ClientApplicationIds | Elenco di valori AppId per le applicazioni client corrispondenti o un elenco con il singolo valore "all" in modo che corrisponda a qualsiasi applicazione client. Il valore predefinito è il singolo valore "all". |
ClientApplicationTenantIds | Elenco di ID tenant di Microsoft Entra in cui è registrata l'applicazione client o un elenco con il singolo valore "all" da associare alle app client registrate in qualsiasi tenant. Il valore predefinito è il singolo valore "all". |
ClientApplicationPublisherIds | Elenco di ID MPN (Microsoft Partner Network) per gli editori verificati dell'applicazione client o un elenco con il singolo valore "all" da associare alle app client di qualsiasi editore. Il valore predefinito è il singolo valore "all". |
ClientApplicationsFromVerifiedPublisherOnly | Impostare questa opzione in modo che corrisponda solo alle applicazioni client con un server di pubblicazione verificato. Disabilitare questa opzione (-ClientApplicationsFromVerifiedPublisherOnly:$false ) in modo che corrisponda a qualsiasi app client, anche se non ha un editore verificato. Il valore predefinito è $false . |
scopeType | Il tipo di ambito della risorsa a cui si applica la preapprovazione. Valori possibili: group per i gruppi e i team, chat per chat o tenant per l'accesso a livello di tenant. Obbligatorio. |
sensitivityLabels | Le etichette di riservatezza applicabili al tipo di ambito e non preapprovate. Consente di proteggere i dati aziendali sensibili. Informazioni sulle etichette di riservatezza. Nota: la risorsa Chat non supporta ancora sensitivityLabels. |
Passaggi successivi
Per ottenere assistenza o trovare risposte alle domande: