Condividi tramite


Gestire i criteri di consenso delle app per i proprietari dei gruppi

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 che l'accesso sia concesso 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 da parte del proprietario del gruppo.

Con Microsoft Graph e Microsoft Graph PowerShell, è possibile visualizzare e gestire i criteri di consenso dei proprietari dei gruppi.

I criteri di consenso dei proprietari dei gruppi sono costituiti da zero o più set di condizioni "include" e zero o più set di condizioni "esclude". Affinché un evento venga considerato in un criterio di consenso dei proprietari dei gruppi, il set di condizioni "include" non deve corrispondere a nessun 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 dei proprietari dei gruppi in cui l'ID inizia con "microsoft-" sono criteri predefiniti. Ad esempio, il criterio di consenso dei proprietari dei gruppi microsoft-pre-approval-apps-for-group descrive le condizioni in cui i proprietari dei gruppi possono concedere il consenso alle applicazioni dall'elenco preapprovato dall'amministratore per accedere ai dati per i gruppi di cui sono proprietari. I criteri predefiniti possono essere usati nei ruoli directory personalizzati e per configurare le impostazioni di consenso utente, ma non possono essere modificati o eliminati.

Prerequisiti

Per gestire i criteri di consenso del proprietario del gruppo per le applicazioni con Microsoft Graph PowerShell, connettersi a Microsoft Graph PowerShell e accedere con uno dei ruoli elencati nella sezione dei prerequisiti. È necessario fornire il consenso per l'autorizzazione Policy.ReadWrite.PermissionGrant.

# change the profile to beta by using the `Select-MgProfile` command
Select-MgProfile -Name "beta"
Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant"

Informazioni su come verificare se l'impostazione di consenso dei proprietari dei gruppi è stata autorizzata in altri modi.

  1. Recuperare il valore corrente per l'impostazione dei criteri di consenso dei proprietari dei gruppi

      Get-MgPolicyAuthorizationPolicy | select -ExpandProperty DefaultUserRolePermissions | ft PermissionGrantPoliciesAssigned
    

    Se viene restituito l'oggetto ManagePermissionGrantPoliciesForOwnedResource in PermissionGrantPoliciesAssigned, l'impostazione del consenso dei proprietari dei gruppi potrebbe essere stata autorizzata in altri modi.

  2. Controllare se l'ambito del criterio è group.

       Get-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | Select -ExpandProperty AdditionalProperties
    

Se ResourceScopeType == group, l'impostazione di consenso dei proprietari dei gruppi è stata autorizzata in altri modi. Inoltre, se ai criteri di consenso delle app per i gruppi è stato assegnato l'oggetto microsoft-pre-approval-apps-for-group, significa che la funzionalità di preapprovazione è abilitata per il tenant.

È consigliabile iniziare ad acquisire familiarità con i criteri di consenso dei proprietari dei gruppi esistenti nell'organizzazione:

  1. Elencare tutti i criteri di consenso dei proprietari dei gruppi:

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

    Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
    
  3. Visualizzare i set di condizioni "exclude":

    Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
    

Per creare un criterio di consenso dei proprietari dei gruppi personalizzato, seguire questa procedura:

  1. Creare un nuovo criterio di consenso del proprietario del gruppo vuoto.

    New-MgPolicyPermissionGrantPolicy `
        -Id "my-custom-app-consent-policy-for-group" `
        -DisplayName "My first custom app consent policy for group" `
        -Description "This is a sample custom app consent policy for group." `
        -AdditionalProperties @{includeAllPreApprovedApplications = $false; resourceScopeType = "group"}
    
  2. Aggiungere i set di condizioni "include".

    # Include delegated permissions classified "low", for apps from verified publishers
    New-MgPolicyPermissionGrantPolicyInclude `
        -PermissionGrantPolicyId "my-custom-app-consent-policy-for-group" `
        -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-app-consent-policy-for-group" `
        -PermissionType "delegated" `
        -ResourceApplication $azureApi.AppId
    

    Ripetere questo passaggio per aggiungere altri set di condizioni "exclude".

Dopo aver creato i criteri di consenso dell'app per il gruppo, è possibile consentire il consenso dei proprietari del gruppo in base a questo criterio.

  1. Di seguito viene illustrato come eliminare un criterio di consenso dei proprietari dei gruppi personalizzato.

    Remove-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId "my-custom-app-consent-policy-for-group"
    

Per gestire i criteri di consenso dei proprietari dei gruppi, accedere a Graph explorer con uno dei ruoli elencati nella sezione dei prerequisiti. È necessario fornire il consenso per l'autorizzazione Policy.ReadWrite.PermissionGrant.

Informazioni su come verificare se l'impostazione di consenso dei proprietari dei gruppi è stata autorizzata in altri modi.

  1. Recuperare il valore corrente dei criteri

    GET /policies/authorizationPolicy
    

    Se viene restituito l'oggetto ManagePermissionGrantPoliciesForOwnedResource, l'impostazione del consenso dei proprietari dei gruppi potrebbe essere stata autorizzata in altri modi.

  2. Controllare se l'ambito del criterio è group

    GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }
    

    Se resourceScopeType == group, l'impostazione di consenso dei proprietari dei gruppi è stata autorizzata in altri modi. Inoltre, se ai criteri di consenso delle app per i gruppi è stato assegnato l'oggetto microsoft-pre-approval-apps-for-group, significa che la funzionalità di preapprovazione è abilitata per il tenant.

È consigliabile iniziare ad acquisire familiarità con i criteri di consenso dei proprietari dei gruppi esistenti nell'organizzazione:

  1. Elencare tutti i criteri di consenso delle app:

    GET /policies/permissionGrantPolicies
    
  2. Visualizzare i set di condizioni "include" di un criterio:

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

    GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/excludes
    

Per creare un criterio di consenso dei proprietari dei gruppi personalizzato, seguire questa procedura:

  1. Creare un nuovo criterio di consenso del proprietario del gruppo vuoto.

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies
    
    {
      "id": "my-custom-app-consent-policy-for-group",
      "displayName": "My first custom app consent policy for group",
      "description": "This is a sample custom app consent policy for group",
      "includeAllPreApprovedApplications": false,
      "resourceScopeType": "group"
    }
    
  2. Aggiungere i 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-app-consent-policy-for-group }/includes
    
    {
      "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-app-consent-policy-for-group }/excludes
    
    {
      "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 dei proprietari dei gruppi, è possibile consentire il consenso dei proprietari del gruppo in base a questo criterio.

  1. Di seguito viene illustrato come eliminare un criterio di consenso dei proprietari dei gruppi personalizzato.

    DELETE https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/ my-custom-policy
    

Avviso

Non è possibile ripristinare i criteri di consenso dei proprietari dei gruppi eliminati. Se si elimina accidentalmente un criterio di consenso dei proprietari dei gruppi personalizzato, sarà necessario ricrearlo.

Condizioni supportate

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

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 che non sono state configurate dall'autore dell'API per richiedere il consenso 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 della risorsa (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 la corrispondenza con le applicazioni client o un elenco con il singolo valore "all" per la corrispondenza con 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" per la corrispondenza con le 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" per la corrispondenza con le 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.

Avviso

Non è possibile ripristinare i criteri di consenso dei proprietari dei gruppi eliminati. Se si elimina accidentalmente un criterio di consenso dei proprietari dei gruppi personalizzato, sarà necessario ricrearlo.

Per ottenere assistenza o trovare risposte alle domande: