Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra l'uso del controllo di accesso granulare e scalabile con ambito delle risorse: Controllo di accesso basato sui ruoli per le applicazioni in Exchange Online.
Panoramica
Controllo degli accessi in base al ruolo per le applicazioni in Exchange Online consente agli amministratori di concedere autorizzazioni a un'applicazione che accede in modo indipendente ai dati in Exchange Online. Questa concessione può essere abbinata a un ambito di accesso (ambito della risorsa) per specificare a quali cassette postali può accedere un'app. Questa funzionalità estende il modello di controllo degli accessi in base al ruolo corrente in Exchange Online e sostituisce i criteri di accesso alle applicazioni. Queste concessioni di autorizzazione sono indipendenti dalle concessioni senza ambito in Microsoft Entra ID.
Il fulcro di questo sistema è la configurazione dell'assegnazione del ruolo di gestione, che esprime l'intento di un amministratore di consentire a un'entità di accedere ai dati. In questo caso, consentire a un'app di eseguire un ruolo su un set di risorse di destinazione. Ad esempio, un amministratore potrebbe configurare un sistema di prenotazione sala con accesso ai dati del calendario solo in aree geografiche specifiche usando un ambito di gestione. Il diagramma seguente illustra il modello di assegnazione dei ruoli:
Istruzioni di configurazione
La procedura seguente illustra come creare queste assegnazioni Controllo dell'accesso basato sui ruoli dell'applicazione:
- Creare un nuovo ambito risorsa (facoltativo)
- Creare un puntatore a un'entità servizio Microsoft Entra
- Selezionare il ruolo applicazione appropriato
- Creare una nuova assegnazione di ruolo
- Testare la nuova entità servizio
Requisiti
Il gruppo di ruoli Gestione organizzazione dispone dell'assegnazione di ruolo di delega per i nuovi ruoli Controllo dell'accesso basato sui ruoli dell'applicazione. Per assegnare queste autorizzazioni, è necessario essere un membro del gruppo di ruoli Gestione organizzazione. In alternativa, è possibile usare il controllo degli accessi in base al ruolo di Exchange Online per concedere assegnazioni di delega a questi ruoli applicazione in base alle esigenze. In Microsoft Entra ID, è necessario il ruolo di amministratore Exchange per assegnare queste autorizzazioni.
Definire l'ambito della risorsa
- Ambiti di gestione:Un'entità di Exchange che rappresenta un insieme di cassette postali utilizzando un'espressione di filtro nelle proprietà di tali cassette postali.
- Unità di amministrazione: una risorsa di Microsoft Entra che può essere un contenitore per altre risorse di Microsoft Entra che contiene solo utenti, gruppi o dispositivi. Per ulteriori informazioni, vedere Unità amministrative in Microsoft Entra ID e Creare o eliminare unità amministrative.
Ambiti di gestione
Gli ambiti di gestione consentono a un amministratore di definire l'ambito di un set di cassette postali in base alle proprietà di tali oggetti. Per aggiungere, rimuovere e impostare, fare riferimento alla documentazione relativa all'ambito di gestione. Ecco un elenco delle proprietà filtrabili in un ambito di gestione.
Nota
Anche se è presente una proprietà denominata Unità amministrative, è consigliabile usare il parametro nativo Unità di Amministrazione in un'assegnazione di ruolo per evitare di creare un ambito come oggetto puntatore intermedio.
Entità servizio
Le entità servizio rappresentano un'istanza di un'applicazione all'interno dell'organizzazione. È necessario considerare l'entità servizio in Exchange come un puntatore a un'entità servizio esistente in Microsoft Entra ID. Non è possibile creare entità servizio direttamente mediante gli strumenti di Exchange Online. Gli strumenti di Microsoft Entra vengono usati per gestire le registrazioni delle entità servizio all'interno delle organizzazioni. Exchange impedisce la creazione di un puntatore non valido e riflette automaticamente qualsiasi eliminazione di entità servizio in Microsoft Entra ID.
Nuova entità servizio
New-ServicePrincipal -AppId <Client Application ID in AAD> -ObjectId <Service principal object ID in AAD> -DisplayName <name>
Lo screenshot seguente consente di trovare questi ID in Microsoft Entra ID:
Nota
Non usare gli ID della pagina Registrazioni app, perché mostra valori diversi. Il contorno rosso "ID applicazione" è l'AppID e l'"ID oggetto" è il ServiceID.
È possibile usare un altro approccio per trovare questi ID usando Get-MgServicePrincipal.
Rimuovere l'entità servizio
Remove-ServicePrincipal -Identity <ObjectID, AppID, or DisplayName>
Impostare l'entità servizio
Set-ServicePrincipal -Identity <ObjectID, AppID, or DisplayName > -DisplayName <Updated name>
Ruoli dell'applicazione
I ruoli applicazione sono un tipo speciale di ruolo di gestione in Exchange Online, assegnabile solo a un'applicazione. Questi ruoli possono essere enumerati utilizzando Get-ManagementRole.
Assegnazioni di ruolo
Le assegnazioni dei ruoli di gestione collegano un ambito di accesso principale, un ruolo e una risorsa personalizzata. Questa assegnazione funge da assegnazione delle autorizzazioni per un'entità servizio che esegue un ruolo in un ambito.
Nuova assegnazione di ruolo
New-ManagementRoleAssignment [[-Name] <String>] -Role <RoleIdParameter> -App <ObjectID, AppID, or DisplayName> -CustomResourceScope <Management Scope> (or -RecipientAdministrativeUnitScope)
Impostare l'assegnazione di ruolo
Set-ManagementRoleAssignment [-Identity] <RoleAssignmentIdParameter> -CustomResourceScope <Management Scope> (or -RecipientAdministrativeUnitScope)
Rimuovere l'assegnazione di ruolo
Per rimuovere un'assegnazione di ruolo, vedere Rimuovere un'assegnazione di gestione.
Test dell'autorizzazione
È possibile usare un cmdlet di test per simulare il comportamento abilitato dalle assegnazioni di controllo degli accessi in base al ruolo per una specifica entità servizio.
Nota
Questo metodo esclude le autorizzazioni che potrebbero essere concesse separatamente in Microsoft Entra ID.
Quando si verifica l'autorizzazione, è possibile includere un parametro di risorsa facoltativo per valutare quali autorizzazioni con ambito vengono applicate alla cassetta postale di destinazione.
InScope will = true or false Per indicare se, True tale autorizzazione si applica alla cassetta postale per tale entità servizio o false che l'entità servizio dispone di tale autorizzazione ma non per la specifica cassetta postale. Se si omette questo flag, il risultato sarà "Non eseguito".
I risultati del test includono sempre l'ambito delle risorse consentite per una specifica autorizzazione assegnata.
Testare l'accesso all'entità servizio
Test-ServicePrincipalAuthorization -Identity <ObjectID, AppID, or DisplayName> [-Resource] <target mailbox>
Esempi
Dopo aver usato Connect-ExchangeOnline in PowerShell, seguire questa procedura:
Esempio uno: configurazione dell'accesso in lettura al calendario per gli utenti canadesi con un ambito di gestione
New-ServicePrincipal -AppId 71487acd-ec93-476d-bd0e-6c8b31831053 -ObjectId 6233fba6-0198-4277-892f-9275bf728bcc -DisplayName "example"
DisplayName ObjectId AppId
----------- --------- -----
example 6233fba6-0198-4277-892f-9275bf728bcc 71487acd-ec93-476d-bd0e-6c8b3183105
New-ManagementScope -Name "Canadian users" -RecipientRestrictionFilter "CustomAttribute1 -eq '012332'"
Name ScopeRestrictionType Exclusive RecipientRoot RecipientFilter
---- -------------------- --------- ------------- ---------------
Canadian users RecipientScope False CustomAttribute1 -eq '012332'
New-ManagementRoleAssignment -App 6233fba6-0198-4277-892f-9275bf728bcc -Role "Application Calendars.Read" -CustomResourceScope "Canadian users"
Name Role RoleAssigneeName RoleAssigneeType AssignmentMethod
---- ---- ---------------- ---------------- ----------------
Application Calendar... Application Ca... 6233fba6-0198-... ServicePrincipal Direct
Esempio due: Configurazione di Mail.Read per tutte le cassette postali dell'unità di amministrazione Europa
New-ServicePrincipal -AppId eb19847b-5563-42ea-b719-ea47cb0cf4b3 -ObjectId 59b7c6cb-58d3-4ee8-a409-8c1f9dbb5d36 -DisplayName "example"
DisplayName ObjectId AppId
----------- --------- -----
example 59b7c6cb-58d3-4ee8-a409-8c1f9dbb5d36 eb19847b-5563-42ea-b719-ea47cb0cf4b3
New-ManagementRoleAssignment -App 59b7c6cb-58d3-4ee8-a409-8c1f9dbb5d36 -Role "Application Mail.Read" -RecipientAdministrativeUnitScope 4d819ce9-9257-44d7-af20-68a49e6697f4
Name Role RoleAssigneeName RoleAssigneeType AssignmentMethod
---- ---- ---------------- ---------------- ----------------
Application Mail.Rea... Application Ma... 59b7c6cb-58d3-... ServicePrincipal Direct
Esempio tre: verifica delle autorizzazioni assegnate a un'entità servizio
Test-ServicePrincipalAuthorization -Resource b -Identity "DemoB" |Format-Table
RoleName GrantedPermissions AllowedResourceScope ScopeType InScope
-------- ------------------ -------------------- --------- ------
Application Mail.Read Mail.Read Scope-MESGaDN CustomRecipientScope False
Application Calendars.Read Calendars.Read Scope-DL1 CustomRecipientScope False
Application Contacts.Read Contacts.Read Scope-MESGa CustomRecipientScope False
Limitazioni
- Le applicazioni non possono diventare membri di un gruppo di ruoli.
- I ruoli applicazione possono essere assegnati solo alle entità servizio.
- I ruoli dell'applicazione non possono essere copiati o derivati.
- Gli ambiti di gestione esclusivi non limitano l'accesso alle app.
- Le modifiche alle autorizzazioni dell'app sono soggette alla manutenzione della cache che varia tra 30 minuti e 2 ore a seconda dell'utilizzo recente dell'app. Quando si testano le configurazioni, il comando test ignora questa cache. La cache di un'app senza chiamate in ingresso alle API viene reimpostata dopo 30 minuti. La cache di un'app attiva viene mantenuta attiva per un massimo di 2 ore.
Protocolli supportati
- MS Graph
- EWS
Ruoli dell'applicazione supportati
| Nome | Protocollo | Elenco autorizzazioni | Descrizione |
|---|---|---|---|
Application Mail.Read |
MS Graph | Mail.Read |
Consente all'app di leggere la posta elettronica in tutte le cassette postali senza un utente connesso. |
Application Mail.ReadBasic |
MS Graph | Mail.ReadBasic |
Consente all'app di leggere i messaggi di posta elettronica tranne il corpo, previewBody, gli allegati e qualsiasi proprietà estesa in tutte le cassette postali senza un utente connesso |
Application Mail.ReadWrite |
MS Graph | Mail.ReadWrite |
Consente all'app di creare, leggere, aggiornare ed eliminare messaggi di posta elettronica in tutte le cassette postali senza un utente connesso. Non include l'autorizzazione per inviare messaggi di posta elettronica. |
Application Mail.Send |
MS Graph | Mail.Send |
Consente all'app di inviare messaggi come qualsiasi utente senza un utente connesso. |
Application MailboxSettings.Read |
MS Graph | MailboxSettings.Read |
Consente all'app di leggere le impostazioni della cassetta postale dell'utente in tutte le cassette postali senza un utente connesso. |
Application MailboxSettings.ReadWrite |
MS Graph | MailboxSettings.ReadWrite |
Consente all'app di creare, leggere, aggiornare ed eliminare le impostazioni della cassetta postale dell'utente in tutte le cassette postali senza un utente connesso. |
Application Calendars.Read |
MS Graph | Calendars.Read |
Consente all'app di leggere gli eventi di tutti i calendari senza un utente connesso. |
Application Calendars.ReadWrite |
MS Graph | Calendars.ReadWrite |
Consente all'app di creare, leggere, aggiornare ed eliminare gli eventi di tutti i calendari senza un utente connesso. |
Application Contacts.Read |
MS Graph | Contacts.Read |
Consente all'app di leggere tutti i contatti in tutte le cassette postali senza un utente connesso. |
Application Contacts.ReadWrite |
MS Graph | Contacts.ReadWrite |
Consente all'app di creare, leggere, aggiornare ed eliminare tutti i contatti in tutte le cassette postali senza un utente connesso. |
Application MailboxFolder.Read |
MS Graph | MailboxFolder.Read.All |
Consente all'app di leggere tutte le cartelle delle cassette postali degli utenti senza un utente connesso. |
Application MailboxFolder.ReadWrite |
MS Graph | MailboxFolder.ReadWrite.All |
Consente all'app di leggere e scrivere tutte le cartelle delle cassette postali degli utenti senza un utente connesso. |
Application MailboxItem.Read |
MS Graph | MailboxItem.Read.All |
Consente all'app di leggere tutti gli elementi della cassetta postale degli utenti senza che un utente abbia eseguito l'accesso. |
Application MailboxItem.ReadWrite |
MS Graph | MailboxItem.ReadWrite.All |
Consente all'app di leggere, scrivere ed eliminare tutti gli elementi della cassetta postale degli utenti senza che un utente abbia eseguito l'accesso. |
Application MailboxItem.Export |
MS Graph | MailboxItem.Export.All |
Consente all'app di esportare tutti gli elementi della cassetta postale degli utenti senza che l'utente abbia eseguito l'accesso. |
Application MailboxItem.ImportExport |
MS Graph | MailboxItem.ImportExport.All |
Consente all'app di esportare e importare tutti gli elementi della cassetta postale degli utenti senza che l'utente abbia eseguito l'accesso. |
Application Mail Full Access |
MS Graph |
Mail.ReadWrite, Mail.Send |
Consente all'app di creare, leggere, aggiornare ed eliminare messaggi di posta elettronica in tutte le cassette postali e di inviare messaggi come qualsiasi utente senza un utente connesso. |
Application Exchange Full Access |
MS Graph |
Mail.ReadWrite, Mail.Send, MailboxSettings.ReadWrite, Calendars.ReadWrite, Contacts.ReadWrite |
Senza un utente connesso: consente all'app di creare, leggere, aggiornare ed eliminare messaggi di posta elettronica in tutte le cassette postali e di inviare messaggi come qualsiasi utente. Consente all'app di creare, leggere, aggiornare ed eliminare le impostazioni della cassetta postale dell'utente in tutte le cassette postali. Consente all'app di creare, leggere, aggiornare ed eliminare gli eventi di tutti i calendari. Consente all'app di creare, leggere, aggiornare ed eliminare tutti i contatti in tutte le cassette postali. |
Application EWS.AccessAsApp |
EWS | EWS.AccessAsApp |
Consente all'app di usare i servizi Web Exchange con accesso completo a tutte le cassette postali. |
Application SMTP.SendAsApp |
MS Graph | SMTP.SendAsApp |
Consente all'app di utilizzare l'invio del client SMTP per inviare messaggi alla cartella Posta in uscita dell'utente. |
Application MailboxConfigItem.Read |
MS Graph | MailboxConfigItem.Read |
Consente all'app di leggere gli oggetti UserConfiguration senza un utente connesso. |
Application MailboxConfigItem.ReadWrite |
MS Graph | MailboxConfigItem.ReadWrite |
Consente all'app di leggere, scrivere, aggiornare ed eliminare oggetti UserConfiguration senza un utente connesso. |
Application MailTips.ReadBasic.All |
MS Graph | MailTips.ReadBasic.All |
Consente all'app di accedere solo ai metadati dei suggerimenti messaggio senza esporre il contenuto della posta elettronica, senza un utente connesso |
Application Mail-Advanced.ReadWrite.All |
MS Graph | Mail-Advanced.ReadWrite.All |
Consente all'app di creare, leggere, aggiornare ed eliminare tutti i messaggi di posta elettronica, incluso il contenuto dei messaggi di posta elettronica non bozza nelle cassette postali degli utenti, senza un utente connesso. Non include l'autorizzazione per l'invio di e-mail. |
Si può notare che questi ruoli rappresentano autorizzazioni di Microsoft Graph alle quali è possibile fornire il consenso altrove nella piattaforma di gestione delle identità di Azure. Queste autorizzazioni hanno lo stesso effetto delle autorizzazioni di Graph, ad eccezione di queste assegnazioni di ruolo che consentono l'accesso granulare all'ambito delle risorse.
Domande frequenti
Perché l'applicazione ha ancora accesso alle cassette postali non concesse dall'ambito usato nel controllo degli accessi in base al ruolo dell'applicazione di Exchange Online?
È necessario assicurarsi di aver rimosso le autorizzazioni non ambite a livello di organizzazione assegnate in Microsoft Entra ID. Le autorizzazioni assegnate tramite Controllo degli accessi in base al ruolo dell'applicazione si aggiungono alle concessioni concesse in Microsoft Entra ID. Le autorizzazioni di Microsoft Entra possono essere limitate solo tramite i criteri di accesso alle applicazioni. In altre parole, le autorizzazioni assegnate sono un'operazione di unione delle autorizzazioni di Microsoft Entra ID e delle autorizzazioni assegnate nel controllo degli accessi in base al ruolo di Exchange Online. Ogni autorità può agire in modo indipendente.
Ad esempio, se l'entità servizio ha Mail.Read concesso Microsoft Entra ID e si configura un'autorizzazione con ambito delle Mail.Read risorse in RBAC applicazione, è importante rimuovere l'assegnazione di Mail.Read da Microsoft Entra ID. In caso contrario, l'unione di una concessione senza ambito Mail.Read di Microsoft Entra e di una concessione con ambito Mail.Read di risorse in Controllo degli accessi in base al ruolo dell'applicazione non comporta alcuna definizione efficace dell'ambito delle risorse.
Come è possibile visualizzare e modificare tutte le autorizzazioni dell'applicazione in un'unica interfaccia?
Per garantire che gli amministratori dispongano di una visualizzazione consolidata delle autorizzazioni delle app, queste autorizzazioni concesse in Exchange Online vengono visualizzate in un'esperienza di amministrazione di Microsoft Entra. Questa funzionalità è in arrivo, resta sintonizzato.
Come eseguire la migrazione dai criteri di accesso delle applicazioni al controllo degli accessi in base al ruolo per le applicazioni?
Con i criteri di accesso alle applicazioni, si dispone di un'entità servizio, del consenso delle autorizzazioni in Azure e di un criterio associato a un'entità servizio in Exchange Online. Sebbene sia possibile ristrutturare il meccanismo di ambito utilizzando gli ambiti di gestione di Exchange o le unità amministrative, ecco alcune indicazioni sul riutilizzo dei gruppi in un criterio di accesso alle app come ambito per la concessione del controllo degli accessi in base al ruolo per le applicazioni. Questo processo non comporta alcuna interruzione dell'uso dell'app.
Passaggi della migrazione:
Creare un nuovo ambito di gestione che faccia riferimento al gruppo di ambito dai criteri di accesso alle applicazioni.
Creare l'oggetto puntatore dell'entità servizio.
Assegnare le autorizzazioni necessarie all'entità servizio in Exchange Online con la limitazione dell'ambito di gestione.
Rimuovere il consenso all'autorizzazione in Azure.
Rimuovere i criteri di accesso alle applicazioni.
Quando si crea l'ambito di gestione nel passaggio 1, si utilizza un filtro destinatario con il parametro
MemberOfGroupfilter . Ecco un esempio:"MemberOfGroup -eq 'CN=mesga20220818210551,OU=Fabrikam346.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=NAMPR00A001,DC=prod,DC=outlook,DC=com'"
Nota
Questo parametro di filtro usa il nome distinto del gruppo, che è possibile trovare usando Get-Group cmdlet.
Limitazioni:
- I membri dei gruppi annidati sono considerati fuori ambito. Solo l'appartenenza diretta al gruppo fa sì che il membro venga considerato nell'ambito dell'autorizzazione.
- Gruppi di Microsoft 365, Mail-Enabled sono supportati i gruppi di sicurezza e le liste di distribuzione.
In che modo il controllo degli accessi in base al ruolo per le applicazioni funziona insieme ai criteri di accesso alle applicazioni?
Compatibilità con i criteri di accesso alle app:
Controllo degli accessi in base al ruolo per le applicazioni sostituisce i criteri di accesso alle applicazioni.
L'interoperabilità Autorizzazione può essere descritta come segue:
I criteri di accesso alle applicazioni limitano SOLO le autorizzazioni assegnate in Microsoft Entra ID.
Controllo degli accessi in base al ruolo per le applicazioni offre un'espressione alternativa di autorizzazione con un ambito di risorsa associato.
Un'app può avere sia autorizzazioni autorizzate da Microsoft Entra che assegnazioni RBAC. In questo caso, quando un'app ha (ad esempio) a livello
Mail.Readdi organizzazione e con ambitoMail.Send.I consensi di autorizzazione sono additivi.
Esempio uno: consensi da 2 sistemi:
- Un'app ha
Mail.Readin Microsoft Entra ID. - Questa app ha come ambito il gruppo di sicurezza abilitato alla posta elettronica 1 usando un criterio di accesso alle applicazioni.
- La stessa app ha
Calendar.Readacconsentito all'ambito di gestione 1 nel controllo degli accessi in base al ruolo per le applicazioni. - La cassetta postale A si trova nel gruppo di sicurezza abilitato alla posta elettronica 1.
- La cassetta postale B è nell'ambito dell'ambito di gestione 1.
Accesso di MS Graph a un endpoint che richiede sia e per l'app Mail.ReadCalendar.Read 1:
- Targeting cassetta postale A: non riuscito.
- Targeting cassetta postale B: non riuscito.
Questo endpoint richiede sia che Mail.ReadCalendar.Read. Sebbene l'app disponga di queste autorizzazioni singolarmente per due cassette postali separate, non dispone di entrambe le autorizzazioni per una sola cassetta postale.
Esempio due: assegnazione della stessa autorizzazione due volte:
- Un'app ha
Mail.Readin Microsoft Entra ID. - L'ambito di questa app è il gruppo di sicurezza abilitato alla posta elettronica 1 tramite un criterio di accesso alle applicazioni.
- La stessa app ha
Mail.Readacconsentito all'ambito di gestione 1 usando il controllo degli accessi in base al ruolo per le applicazioni. - La cassetta postale A si trova nel gruppo di sicurezza abilitato alla posta elettronica 1.
- L'ambito di gestione 1 consente l'accesso a tutte le cassette postali tranne la cassetta postale A (in base a alcuni filtri come
Alias -ne mbxa).
Accesso MS Graph a un endpoint che richiede Mail.Read per l'App 1:
- Cassetta postale di destinazione A: consenti.
- Cassetta postale di destinazione B: consenti.
Mentre la da Microsoft Entra consente l'accesso Mail.Read alla cassetta postale A, l'assegnazione RBAC consente l'accesso a tutti gli elementi tranne A. In effetti, questa assegnazione consente l'accesso a tutto perché "A e non A" significa tutto.
Anche se abbiamo delineato questi casi limite per completezza, non prevediamo che i criteri di accesso alle applicazioni vengano in genere usati con il controllo dell'accesso basato sui ruoli (RBAC) per le applicazioni. Le autorizzazioni a livello di organizzazione devono essere assegnate in Microsoft Entra ID, mentre le autorizzazioni con ambito delle risorse devono essere concesse tramite RBAC per le applicazioni.
Quante applicazioni supportano il controllo degli accessi in base al ruolo per le applicazioni?
È possibile avere fino a 10.000 applicazioni per organizzazione che utilizzano il controllo degli accessi in base al ruolo per le applicazioni. Facci sapere se questo limite rappresenta un problema per te. Abbiamo creato Controllo degli accessi in base al ruolo per le applicazioni in modo altamente scalabile per soddisfare le esigenze dei nostri clienti più grandi.
Perché l'individuazione automatica non funziona?
Al momento, non è possibile accedere al servizio di individuazione automatica quando si usano i ruoli applicazione Controllo dell'accesso basato sui ruoli applicabili.
Cosa succede in Exchange se si elimina un'entità servizio in Microsoft Entra?
Anche le entità servizio eliminate in Microsoft Entra vengono rimosse automaticamente in Exchange. Questa rimozione elimina tutte le assegnazioni effettuate a queste entità servizio, lasciando però inalterati gli ambiti di gestione.
Feedback su questa funzionalità
Il feedback su questa funzionalità può essere condiviso con exoapprbacpreview@microsoft.com.