Condividi tramite


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:

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"

È consigliabile iniziare ad acquisire familiarità con i criteri di consenso delle app esistenti nell'organizzazione:

  1. Elencare tutti i criteri di consenso per le app:

    Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
    
  2. Visualizzare i set di condizioni "include" di un criterio:

    Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
    
  3. Visualizzare i set di condizioni "exclude":

    Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
    

Per creare un criterio di consenso per le app personalizzato, seguire questa procedura:

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

  3. Facoltativamente, aggiungere i 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.

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.

È consigliabile iniziare ad acquisire familiarità con i criteri di consenso delle app esistenti nell'organizzazione:

  1. Elencare tutti i criteri di consenso per le app:

    GET /policies/permissionGrantPolicies?$select=id,displayName,description
    
  2. Visualizzare i set di condizioni "include" di un criterio:

    GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/includes
    
  3. Visualizzare i set di condizioni "exclude":

    GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/excludes
    

Per creare un criterio di consenso per le app personalizzato, seguire questa procedura:

  1. 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"
    }
    
  2. Aggiungere set di condizioni "include".

    Includere le autorizzazioni delegate classificate come "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".

  3. Facoltativamente, aggiungere i set di condizioni "exclude". Escludere le autorizzazioni delegate per l'API 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.

  1. 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 per trovare una corrispondenza solo con le applicazioni client con un editore verificato. Disabilitare questa opzione (-ClientApplicationsFromVerifiedPublisherOnly:$false) per trovare la corrispondenza con 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: