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.
Dataverse offre un modello di sicurezza flessibile per molti scenari aziendali. Il modello si applica solo agli ambienti con un database Dataverse. Gli amministratori gestiscono gli utenti, verificano la configurazione di sicurezza e risolvono i problemi di accesso.
Suggerimento
Guardare Microsoft Dataverse: concetti relativi alla sicurezza illustrati nelle demo.
Sicurezza basata sui ruoli
Dataverse utilizza ruoli di sicurezza per raggruppare i privilegi. Assegnare ruoli di sicurezza direttamente agli utenti o ai team di Dataverse. I membri del team ricevono i privilegi assegnati al team.
I privilegi di sicurezza sono cumulativi. Un utente ottiene il livello di accesso più ampio consentito da tutti i ruoli e da tutte le appartenenze ai team. Ad esempio, se un ruolo concede l'accesso in lettura a livello di organizzazione a tutti i record di contatto, un altro ruolo non può nascondere un contatto specifico all'utente.
Unità aziendali
Guardare questo video per comprendere le business unit in Dataverse:
Le business unit lavorano con i ruoli di sicurezza per determinare l'accesso di un utente. Definiscono i limiti di sicurezza che consentono di gestire utenti e dati. Ogni database di Dataverse ha una business unit principale.
Crea business unit figlie per dividere gli utenti e i dati in perimetri di sicurezza più piccoli. Ogni utente in un ambiente appartiene a una business unit. La struttura di business unit può corrispondere alla gerarchia organizzativa, ma non è necessario.
Gli esempi seguenti usano tre business unit. Woodgrove è l'unità aziendale radice e rimane al vertice della gerarchia. Le divisioni A e B sono business unit figlio. Gli utenti di ogni divisione hanno esigenze di accesso diverse.
Struttura gerarchica di accesso ai dati
Usare una struttura gerarchica per separare utenti e dati in una gerarchia simile ad albero.
Assegnare ogni utente a una business unit e assegnare all'utente un ruolo di sicurezza da tale business unit. Per impostazione predefinita, la business unit dell'utente è proprietaria dei record creati dall'utente. Il ruolo di sicurezza determina i record a cui l'utente può accedere in tale business unit.
In questo esempio l'utente A appartiene alla divisione A e ha il ruolo di sicurezza Y della divisione A. L'utente A può accedere a Contact #1 e Contact #2. L'utente B appartiene alla divisione B, quindi l'utente B non può accedere ai contatti della divisione A, ma può accedere al contatto n. 3.
Struttura matriciale di accesso ai dati (unità aziendali modernizzate)
Usare una struttura matrice per organizzare i dati in una gerarchia simile ad albero, consentendo agli utenti di accedere ai dati in più business unit, indipendentemente dalla business unit a cui appartengono.
Assegnare all'utente un ruolo di sicurezza per ogni business unit ai cui dati deve accedere. Quando l'utente crea un record, può selezionare la business unit proprietaria.
In questo esempio l'utente A può appartenere a qualsiasi business unit, inclusa la business unit radice. Il ruolo di sicurezza Y della divisione A concede all'utente A l'accesso a Contatto n. 1 e Contatto n. 2. Il ruolo di sicurezza Y della Divisione B concede all'utente A l'accesso al contatto n. 3.
Abilitare la struttura di accesso ai dati matrice
Nota
Prima di abilitare questa funzionalità, pubblicare tutte le personalizzazioni in modo che la funzionalità venga applicata alle nuove tabelle. Se una tabella non pubblicata non funziona dopo aver abilitato la funzionalità, usare lo strumento OrgDBOrgSettings per Microsoft Dynamics CRM per impostare RecomputeOwnershipAcrossBusinessUnits su true. Questa impostazione consente di impostare e aggiornare la colonna Owning Business Unit .
- Accedi all'interfaccia di amministrazione di Power Platform come amministratore di Dynamics 365 o amministratore di Microsoft Power Platform.
- Nel riquadro di spostamento seleziona Gestisci.
- Nel riquadro Gestisci selezionare Ambienti e quindi selezionare l'ambiente.
- Seleziona Impostazioni>Prodotto>Caratteristiche.
- Attiva la proprietà dei record nelle business unit.
- Selezionare Salva.
Dopo aver attivato la funzionalità, selezionare una business unit quando si assegna un ruolo di sicurezza a un utente. Questa opzione consente di assegnare ruoli da diverse business unit all'utente. Per eseguire app basate su modelli, l'utente deve anche disporre di un ruolo della propria unità aziendale che includa i privilegi delle impostazioni utente richiesti. Il ruolo Utente di base mostra i privilegi delle impostazioni utente da abilitare.
È possibile assegnare a un utente la proprietà del record in qualsiasi business unit se uno dei suoi ruoli di sicurezza concede il privilegio Read per la tabella del record. L'utente non ha bisogno di un ruolo di sicurezza dell'unità aziendale proprietaria del record. Per altre informazioni, vedere Registrare la proprietà nelle business unit modernizzate.
Nota
L'impostazione EnableOwnershipAcrossBusinessUnits archivia lo stato di questa funzionalità. È anche possibile modificare l'impostazione con lo strumento OrgDBOrgSettings per Microsoft Dynamics CRM.
Associare una Business Unit a un gruppo di sicurezza di Microsoft Entra
Eseguire il mapping delle business unit ai gruppi di sicurezza Microsoft Entra per semplificare la gestione degli utenti e l'assegnazione di ruoli.
Per ogni business unit:
- Creare un gruppo di sicurezza Microsoft Entra.
- Creare un team del gruppo Dataverse per il gruppo di sicurezza.
- Assegnare il ruolo di sicurezza della business unit al team del gruppo Dataverse.
- Aggiungere utenti al gruppo di sicurezza Microsoft Entra.
Quando un utente accede per la prima volta all'ambiente, Dataverse crea l'utente nella business unit principale. I team del gruppo Dataverse e dell'utente possono rimanere nell'unità aziendale radice. I ruoli di sicurezza assegnati concedono l'accesso ai dati nelle business unit corrispondenti.
Per l'accesso ai dati matrice, aggiungere utenti al gruppo di sicurezza Microsoft Entra per ogni business unit a cui devono accedere.
Unità aziendale di appartenenza
Ogni record ha una colonna Owning Business Unit che identifica l'unità business proprietaria del record. Quando un utente crea un record, per impostazione predefinita la colonna corrisponde alla business unit dell'utente. È possibile modificare il valore solo quando la proprietà dei record tra le business unit è attivata.
Nota
La modifica della business unit proprietaria può causare modifiche a catena. Per altre informazioni, vedere Usare SDK per .NET per configurare il comportamento a catena.
Per consentire a un utente di impostare la colonna Owning Business Unit , concedere al ruolo di sicurezza dell'utente il privilegio Append To a livello locale per la tabella Business Unit.
Aggiungere la colonna a:
- Corpo o intestazione del modulo.
- Una vista.
- Una mappatura delle colonne. Se si utilizza AutoMapEntity, includere la colonna nella mappatura.
Nota
Se un processo di sincronizzazione dei dati include Owning Business Unit nel relativo schema, il processo ha esito negativo con una violazione del vincolo di chiave esterna quando l'ambiente di destinazione non contiene lo stesso valore. Rimuovere la colonna dallo schema di origine o modificarne il valore di origine in un'unità business esistente nell'ambiente di destinazione.
Quando si copiano dati in una risorsa esterna, ad esempio Power BI, includere Owning Business Unit solo se la destinazione supporta la colonna.
Proprietà della tabella e dei record
Dataverse supporta due tipi di proprietà dei record:
- Proprietà dell'organizzazione: Un privilegio si applica a tutti i record o non si applica.
- Di proprietà dell'utente o del team: La maggior parte dei privilegi supporta i livelli di accesso per utente, business unit, business unit padre/figlio e organizzazione.
È possibile selezionare il tipo di proprietà quando si crea una tabella e non modificarlo in un secondo momento. Ad esempio , l'accesso in lettura a livello utente alla tabella Contatto consente agli utenti di leggere solo i record di contatto di cui sono proprietari.
Se l'utente A appartiene alla divisione A e dispone di accesso in lettura a livello di unità aziendale alla tabella Contact, l'utente A può leggere Contact #1 e Contact #2, ma non Contact #3.
Quando si configura un ruolo di sicurezza, selezionare un livello di accesso per ogni privilegio.
Configurare separatamente i privilegi della tabella standard: Creare, leggere, scrivere, eliminare, accodare, accodare, assegnare e condividere. L'icona dei privilegi mostra il livello di accesso concesso.
Proprietà dei record di tabella filtrati (anteprima)
Le funzionalità di anteprima non sono destinate all'uso in produzione e potrebbero avere funzionalità limitate. Queste funzionalità sono disponibili prima di una versione ufficiale in modo che i clienti possano ottenere l'accesso anticipato e fornire commenti e suggerimenti.
La proprietà dei record filtrati consente agli amministratori di controllare l'accesso ai record di Dataverse con filtri con valori di colonna. Ad esempio, concedere l'accesso solo ai record in cui la City colonna è uguale a Redmond. Gli utenti possono creare, leggere, aggiornare ed eliminare solo i record che corrispondono ai filtri nei ruoli di sicurezza.
A differenza delle tabelle di Dataverse tradizionali, le tabelle con proprietà dei record filtrati non supportano la proprietà, la condivisione o l'assegnazione dei record. I privilegi basati su filtro controllano l'accesso ai record e forniscono accesso granulare a livello di riga senza limitare tabelle, colonne o altri oggetti modello.
Nota
Usare la proprietà dei record filtrati per concedere l'accesso a livello di riga ai record che soddisfano i criteri di filtro. Applicare privilegi basati su filtro alle tabelle di proprietà dei record filtrate e alle tabelle esistenti di proprietà dell'utente o dell'organizzazione. Per le tabelle esistenti, questo approccio mantiene il modello di proprietà sottostante.
Registrare la proprietà nelle business unit modernizzate
Con le business unit modernizzate, gli utenti possono possedere record in qualsiasi business unit. Un utente deve disporre di un ruolo di sicurezza in qualsiasi business unit che conceda il privilegio Read per la tabella del record. L'utente non ha bisogno di un ruolo in ogni unità aziendale che contiene un record di sua proprietà.
Se hai abilitato la proprietà dei record tra unità aziendali in un ambiente di produzione durante il periodo di anteprima:
- Installare l'editor delle impostazioni dell'organizzazione.
- Impostare RecomputeOwnershipAcrossBusinessUnits su
true. Il sistema si blocca durante il ricalcolo, che può richiedere fino a cinque minuti. Dopo il ricalcolo, gli utenti possono possedere record tra le business unit senza un ruolo di sicurezza separato da ogni business unit. I proprietari di record possono anche assegnare record agli utenti esterni alla business unit proprietaria del record. - Impostare AlwaysMoveRecordToOwnerBusinessUnit su
false. I record restano quindi nell’unità aziendale proprietaria originale quando cambia il proprietario.
Per gli ambienti non di produzione, impostare AlwaysMoveRecordToOwnerBusinessUnit su false.
Nota
Se si disattiva La proprietà dei record tra le business unit o si imposta RecomputeOwnershipAcrossBusinessUnits su false, non è possibile impostare o aggiornare la colonna Owning Business Unit . Dataverse modifica anche la business unit proprietaria di ogni record interessato in modo che corrisponda alla business unit del proprietario del record.
Team (inclusi team di gruppo)
Ogni team appartiene a una business unit. Dataverse crea automaticamente un team predefinito per ogni business unit e ne gestisce l'appartenenza. Il team predefinito include sempre tutti gli utenti nella business unit. Non è possibile aggiungere o rimuovere manualmente i relativi membri. Dataverse aggiorna l'appartenenza quando si associa o si annulla l'associazione degli utenti alla business unit.
Dataverse offre due tipi di team:
- I team proprietari possono essere proprietari dei record. Ogni membro del team riceve l'accesso diretto ai record del team. Un utente può appartenere a più team proprietari.
- I team di accesso forniscono l'accesso ai record condivisi, ma non possiedono record o hanno ruoli di sicurezza.
Condivisione dei record
Condividere singoli record con un utente o un team per gestire le eccezioni non coperte dal modello di proprietà e business unit. Usare la condivisione solo per le eccezioni perché offre prestazioni meno efficienti e può essere più difficile da risolvere rispetto all'accesso basato sui ruoli. La condivisione con un team è più efficiente rispetto alla condivisione separata con ogni utente.
Usare un modello di team di accesso per creare automaticamente un team di accesso e definirne le autorizzazioni per un record. È anche possibile creare team di accesso senza un modello e gestirli manualmente. I team di accesso non possiedono record e non possono avere ruoli di sicurezza. I membri del team ricevono l'accesso perché il record è condiviso con il team.
Sicurezza a livello di record in Dataverse
L'accesso ai record di un utente combina tutti i ruoli di sicurezza, l'appartenenza alle business unit, le appartenenze ai team e i record condivisi. L'accesso è cumulativo all'interno di un database Dataverse. Dataverse tiene traccia dell'accesso separatamente per ogni database e l'utente deve disporre di una licenza Dataverse appropriata.
Sicurezza a livello di colonna in Dataverse
Usare la sicurezza a livello di colonna quando la sicurezza a livello di riga non offre un controllo sufficiente. Abilitarlo per tutte le colonne personalizzate e la maggior parte delle colonne di sistema. La maggior parte delle colonne di sistema che contengono informazioni personali supporta la sicurezza a livello di colonna. I metadati di una colonna di sistema indicano se è possibile proteggerli.
Abilitare la sicurezza a livello di colonna separatamente per ogni colonna. Creare quindi un profilo di sicurezza a livello di colonna che consenta l'accesso di Creazione, Aggiornamento e Lettura alle colonne protette. Assegna il profilo agli utenti o ai team.
La sicurezza a livello di colonna non concede l'accesso a un record. Un utente deve già disporre dell'accesso ai record prima che un profilo di sicurezza per le colonne possa concedere l'accesso alle colonne protette. Usare la sicurezza a livello di colonna solo se necessario perché un uso eccessivo può ridurre le prestazioni.
Gestione della sicurezza in più ambienti
Usare le soluzioni Dataverse per spostare i ruoli di sicurezza e i profili di sicurezza delle colonne tra ambienti. Creare e gestire unità aziendali e team separatamente in ogni ambiente. È anche necessario assegnare gli utenti ai componenti di sicurezza appropriati in ogni ambiente.
Configurazione della sicurezza degli utenti
Dopo aver creato ruoli, team e business unit, configurare l'accesso di ogni utente:
- Associa l'utente a un'unità aziendale. Dataverse usa la business unit radice per impostazione predefinita e aggiunge l'utente al team predefinito di tale business unit.
- Assegnare i ruoli di sicurezza necessari all'utente.
- Aggiungere l'utente ai team appropriati.
- Se si utilizza la sicurezza a livello di colonna, assegnare all'utente o a uno dei team di cui fa parte un profilo di sicurezza per la colonna.
L'accesso effettivo di un utente combina i ruoli di sicurezza assegnati direttamente ai ruoli assegnati tramite i team. Dataverse assegna sempre l'autorizzazione più ampia tra questi ruoli. Per una procedura dettagliata, vedere Configurare la sicurezza dell'ambiente.
Coordinare le principali modifiche alla sicurezza con gli autori di app e gli amministratori che gestiscono le autorizzazioni utente prima di distribuire le modifiche.