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
- Un utente o un servizio con uno dei ruoli seguenti:
- Amministratore dei ruoli con privilegi
- Un ruolo personalizzato con le autorizzazioni per gestire i criteri di consenso dei proprietari dei gruppi necessarie
- Il ruolo dell'app Microsoft Graph (autorizzazione dell'applicazione) Policy.ReadWrite.PermissionGrant durante la connessione come app o servizio
- Per consentire il consenso del proprietario del gruppo soggetto ai criteri di consenso delle app, l'impostazione del consenso del proprietario del gruppo deve essere disabilitata. Una volta disabilitato, il criterio corrente viene letto dai criteri di consenso dell'app. Per informazioni su come disabilitare il consenso del proprietario del gruppo, vedere Disabilitare l'impostazione del consenso del proprietario del gruppo
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"
Recuperare il valore corrente per i criteri di consenso dei proprietari dei gruppi usando PowerShell
Informazioni su come verificare se l'impostazione di consenso dei proprietari dei gruppi è stata autorizzata in altri modi.
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
inPermissionGrantPoliciesAssigned
, l'impostazione del consenso dei proprietari dei gruppi potrebbe essere stata autorizzata in altri modi.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.
Elencare i criteri di consenso dei proprietari dei gruppi esistenti con PowerShell
È consigliabile iniziare ad acquisire familiarità con i criteri di consenso dei proprietari dei gruppi esistenti nell'organizzazione:
Elencare tutti i criteri di consenso dei proprietari dei gruppi:
Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
Visualizzare i set di condizioni "include" di un criterio:
Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
Visualizzare i set di condizioni "exclude":
Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
Creare un criterio di consenso dei proprietari dei gruppi personalizzato con PowerShell
Per creare un criterio di consenso dei proprietari dei gruppi personalizzato, seguire questa procedura:
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"}
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".
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.
Eliminare un criterio di consenso dei proprietari dei gruppi personalizzato con PowerShell
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
.
Recuperare il valore corrente per i criteri di consenso dei proprietari dei gruppi usando Microsoft Graph
Informazioni su come verificare se l'impostazione di consenso dei proprietari dei gruppi è stata autorizzata in altri modi.
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.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'oggettomicrosoft-pre-approval-apps-for-group
, significa che la funzionalità di preapprovazione è abilitata per il tenant.
Elencare i criteri di consenso dei proprietari dei gruppi esistenti con Microsoft Graph
È consigliabile iniziare ad acquisire familiarità con i criteri di consenso dei proprietari dei gruppi esistenti nell'organizzazione:
Elencare tutti i criteri di consenso delle app:
GET /policies/permissionGrantPolicies
Visualizzare i set di condizioni "include" di un criterio:
GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/includes
Visualizzare i set di condizioni "exclude":
GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/excludes
Creare un criterio di consenso dei proprietari dei gruppi personalizzato con Microsoft Graph
Per creare un criterio di consenso dei proprietari dei gruppi personalizzato, seguire questa procedura:
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" }
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".
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.
Eliminare un criterio di consenso dei proprietari dei gruppi personalizzato con Microsoft Graph
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: