Gestire i criteri di consenso delle app

I criteri di consenso delle app sono un modo per gestire le autorizzazioni che le app devono accedere ai dati nell'organizzazione. Vengono usati per controllare 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 che concedono l'accesso solo alle app attendibili.

Questo articolo illustra come gestire i criteri di consenso delle app predefiniti e personalizzati per controllare quando è possibile concedere il consenso.

Con Microsoft Graph e Microsoft Graph PowerShell è possibile visualizzare e gestire i criteri di consenso delle app.

I criteri di consenso dell'app sono costituiti da uno o più set di condizioni "include" e da zero o più set di condizioni "exclude". Affinché un evento venga considerato in un criterio di consenso dell'app, deve corrispondere ad almeno un set di condizioni "include" e non deve corrispondere a un set di condizioni "exclude".

Ogni set di condizioni è costituito da diverse condizioni. Affinché un evento corrisponda a un set di condizioni, è necessario soddisfare 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, i criteri di consenso dell'app microsoft-application-admin descrivono le condizioni in cui i ruoli application Amministrazione istrator e applicazione cloud Amministrazione istrator sono autorizzati a 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 Amministrazione istrator globale
    • Ruolo con privilegi Amministrazione istrator ruolo della directory
    • Un ruolo della directory personalizzato con le autorizzazioni necessarie per gestire i criteri di consenso delle app
    • 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 Microsoft Graph PowerShell, connettersi a Microsoft Graph PowerShell.

Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant"

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

  1. Elencare tutti i criteri di consenso delle 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 dell'app personalizzato, seguire questa procedura:

  1. Creare un nuovo criterio di consenso dell'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 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 dell'app creato. Per altre informazioni su come assegnare i criteri di consenso dell'app a un ruolo personalizzato, vedere Autorizzazioni di consenso dell'app per i ruoli personalizzati.

Il cmdlet seguente illustra 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 prerequisiti.

È necessario fornire il consenso all'autorizzazione Policy.ReadWrite.PermissionGrant .

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

  1. Elencare tutti i criteri di consenso delle 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 dell'app personalizzato, seguire questa procedura:

  1. Creare un nuovo criterio di consenso dell'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 "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 set di condizioni "exclude". Escludere le autorizzazioni delegate per l'API di gestione di Azure (appId 46e6adf4-a9cf-4b60-9390-0ba6fb00bf6b)

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/my-custom-policy /excludes
    Content-Type: application/json
    
    {
      "permissionType": "delegated",
      "resourceApplication": "46e6adf4-a9cf-4b60-9390-0ba6fb00bf6b "
    }
    

    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 dell'app creato. Per altre informazioni su come assegnare i criteri di consenso dell'app a un ruolo personalizzato, vedere Autorizzazioni di consenso dell'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 ricreare il criterio.

Condizioni supportate

La tabella seguente fornisce l'elenco delle condizioni supportate per i criteri di consenso delle app.

Condizione Descrizione
PermissionClassification Classificazione delle autorizzazioni per l'autorizzazione concessa o "tutto" in modo che corrisponda a qualsiasi classificazione delle autorizzazioni (incluse le autorizzazioni non classificate). Il valore predefinito è "all".
PermissionType Tipo di autorizzazione dell'autorizzazione concessa. Usare "applicazione" per le autorizzazioni dell'applicazione (ad esempio, ruoli dell'app) o "delegate" per le autorizzazioni delegate.

Nota: il valore "delegatedUserConsentable" indica le autorizzazioni delegate che non sono 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 AppId dell'applicazione di risorse (ad esempio, l'API) per cui viene concessa un'autorizzazione o "any" in modo che corrisponda a 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 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 con cui trovare una corrispondenza 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 autori verificati. 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 preapprovalità. Valori possibili: group per gruppi e team, chat per le chat o tenant per l'accesso a livello di tenant. Obbligatorio.
sensitivityLabels Le etichette di riservatezza applicabili al tipo di ambito e non sono 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: