Implementare la sicurezza dinamica a livello di riga in Power BI e Microsoft Fabric: architettura, pattern DAX e governance di livello enterprise
By Mirko Peters · · Updated
Implementa la sicurezza dinamica a livello di riga in Power BI e Microsoft Fabric per controllare l'accesso ai dati degli utenti, garantire la conformità e adattarti ai cambiamenti organizzativi.
Automatically translated with AI from the original post. Read the English original
Considera la sicurezza dinamica a livello di riga come un sistema che può cambiare. Cresce e si evolve insieme alla tua organizzazione. La progettazione del modello dei dati, le espressioni DAX, l'identità degli utenti e la governance contribuiscono tutti a definire come funziona la sicurezza in Power BI e Microsoft Fabric. Se la configuri nel modo giusto, puoi decidere chi può vedere determinati dati.
Area chiave | Impatto sulla RLS |
|---|---|
Filtra i dati per utente, usando DAX nel modello | |
Governance | Garantisce che gli accessi seguano le regole e restino sicuri |
Progettazione del modello | Ti consente di controllare chi vede i dati sensibili |
Punti chiave
La sicurezza dinamica a livello di riga si adatta alle esigenze della tua azienda. Ti consente di decidere chi può vedere determinati dati, verificando l'identità di ogni utente.
Per la sicurezza nel cloud usa USERPRINCIPALNAME(). Questa funzione permette agli utenti di vedere solo i propri dati e aiuta a proteggere le informazioni.
Verifica spesso la configurazione della sicurezza e i gruppi di utenti. Così eviti che le persone vedano dati che non dovrebbero vedere e mantieni protetti i dati.
Crea tabelle di sicurezza chiare per gestire le autorizzazioni degli utenti. Questo ti aiuta a controllare chi può vedere cosa man mano che l'azienda cresce.
Testa le regole di sicurezza nel cloud con utenti reali. Così verifichi che i dati siano protetti e che ogni utente veda solo ciò che gli è consentito.
Ripensare i sistemi di sicurezza a livello di riga
La sicurezza come sistema guidato dal modello
La sicurezza a livello di riga è un sistema che collega diverse parti della tua piattaforma analitica. Quando progetti il modello dei dati, inizi a costruire anche la sicurezza dei dati. Il modo in cui configuri le tabelle, le collegh e definisci i ruoli cambia la visibilità dei dati per le persone. Se la tua azienda cresce o entrano nuovi team, devi aggiornare le regole di sicurezza. La sicurezza a livello di riga non è qualcosa che configuri una volta e dimentichi. Evolve insieme al business e alle nuove esigenze.
Suggerimento: controlla spesso il modello dei dati. Un buon modello semplifica la sicurezza e ti aiuta a evitare errori.
Il tuo modello dovrebbe avere relazioni chiare e tabelle di sicurezza dedicate. Così puoi controllare chi vede determinati dati e proteggere le informazioni riservate. La sicurezza dinamica a livello di riga può associare ciò che vede ogni utente al suo gruppo o al suo ruolo in Fabric. In questo modo puoi modificare rapidamente le autorizzazioni quando cambia l'azienda.
Sicurezza a livello di riga statica e dinamica
Esistono due modi principali per configurare la sicurezza dei dati: statica e dinamica. La sicurezza statica usa regole fisse: definisci ruoli e filtri per ogni gruppo. È adatta a team piccoli o quando gli accessi cambiano poco. La sicurezza dinamica usa l'utente che ha effettuato l'accesso e le tabelle di mappatura. Verifica l'utente e modifica immediatamente i dati che vede. È preferibile per le grandi aziende con molti utenti e regole in evoluzione.
Ecco una tabella che mostra le differenze:
Funzionalità | RLS (statica) | DLS (dinamica) |
|---|---|---|
Flessibilità | Bassa | Alta |
Configurazione | Ruoli manuali | Basata su regole con mappatura degli utenti |
Caso d'uso ideale | Pochi utenti / accesso fisso | Molti utenti / accesso personalizzato |
La sicurezza dinamica a livello di riga offre più modi per controllare l'accesso. Usa funzioni come USERPRINCIPALNAME() e tabelle di mappatura per associare ogni utente ai dati giusti. La sicurezza statica è semplice, ma non funziona bene se l'azienda cresce o cambia molto.
La sicurezza statica a livello di riga usa regole fisse per limitare i dati.
La sicurezza dinamica a livello di riga cambia ciò che ogni utente vede in base alla sua identità.
La sicurezza dinamica è la scelta migliore per le grandi aziende con molte regole.
Per proteggere i dati, scegli l'approccio più adatto alle tue esigenze. Una buona pianificazione e un modello solido ti aiutano a proteggere i dati riservati e a mantenere sicure le tue analisi.
Pattern di sicurezza dinamica a livello di riga in Fabric
Funzioni DAX: USERPRINCIPALNAME() vs. USERNAME()
È importante capire come funziona l'identità in Fabric. Due funzioni principali aiutano a configurare la sicurezza a livello di riga: USERPRINCIPALNAME() e USERNAME(). Entrambe identificano chi sta visualizzando il report. USERPRINCIPALNAME() restituisce l'e-mail dell'utente dal cloud. USERNAME() spesso restituisce il nome di un account locale, soprattutto in Power BI Desktop. Se usi USERNAME() nel cloud, potrebbe non funzionare correttamente e questo può rendere i tuoi dati meno sicuri.
Suggerimento: per la row-level security dinamica in Fabric usa sempre USERPRINCIPALNAME(). Questa funzione corrisponde all'indirizzo email cloud dell'utente e mantiene al sicuro i tuoi dati.
Funzione | Restituisce | Caso d'uso migliore |
|---|---|---|
USERPRINCIPALNAME() | Indirizzo email cloud | Fabric, Power BI cloud |
USERNAME() | Nome dell'account locale | Solo per test su Desktop |
Se usi la funzione sbagliata, gli utenti potrebbero vedere dati che non dovrebbero vedere. Devi testare la sicurezza nel cloud, non solo in Desktop.
Pattern DAX sicuri e anti-pattern
Vuoi che i tuoi dati restino al sicuro. Ti servono pattern DAX solidi per la row-level security dinamica. Il modo migliore è usare tabelle di mapping e regole dinamiche. In questo modo controlli chi può vedere cosa.
I row filter aiutano a limitare ciò che gli utenti possono vedere. Puoi bloccare i dati per area geografica, reparto o account.
Le column mask ti permettono di nascondere o modificare i dati in base all'utente che li visualizza.
Un buon pattern DAX usa una ricerca per associare ogni utente al proprio gruppo. Funziona bene per le aziende con molti gruppi. Ecco un buon esempio:
Organizations[Id] = LOOKUPVALUE(
AspNetUsers[OrganizationId],
AspNetUsers[Email],
USERPRINCIPALNAME()
)
Questo pattern controlla l'email dell'utente e trova il suo gruppo. Puoi usarlo per mostrare solo i dati corretti. Questo approccio è migliore del semplice confronto delle email. Funziona bene man mano che l'azienda cresce e mantiene al sicuro i tuoi dati.
Nota: non inserire email in modo fisso nel codice né usare colonne calcolate per gli accessi. Questi approcci possono smettere di funzionare se gli utenti cambiano o se l'azienda cresce.
Alcuni pattern sbagliati possono causare fughe di dati:
Usare USERNAME() nel cloud.
Inserire in modo fisso email o domini degli utenti.
Inserire la logica di sicurezza nelle colonne calcolate.
Usa sempre regole dinamiche e tabelle di mapping. In questo modo il modello dei dati resta semplice e i dati restano al sicuro.
Gerarchie e la funzione PATH()
A volte ti servono regole di sicurezza per manager, team o reparti. Le gerarchie ti aiutano a farlo. La funzione PATH() in DAX permette di costruire collegamenti padre-figlio. Puoi usarla per controllare chi vede cosa a ogni livello.
Ad esempio, puoi creare una tabella con gli ID dei dipendenti e dei loro manager. PATH() costruisce una catena che va da ogni dipendente al proprio responsabile. Puoi poi usare DAX per filtrare i dati per ciascun livello.
PATH(Employee[EmployeeID], Employee[ManagerID])
Questa funzione ti aiuta a impostare la row-level security dinamica per le grandi aziende. Puoi far vedere ai manager i dati del proprio team. Puoi anche impedire ai dipendenti comuni di vedere troppo.
Suggerimento: usa PATH() per la sicurezza con le gerarchie. Così il modello dei dati resta flessibile e i dati restano al sicuro.
Puoi usare insieme row filter, column mask e funzioni di gerarchia. Questo ti aiuta a proteggere i dati riservati e a controllare gli accessi man mano che l'azienda cresce.
Architettura di ruoli e relazioni
Progettazione delle tabelle di sicurezza
Ti servono tabelle di sicurezza per la row-level security dinamica. Queste tabelle indicano quali utenti possono vedere quali dati. Usa colonne per l'email dell'utente, il gruppo e il livello di accesso. Questa impostazione ti aiuta a mantenere i dati al sicuro man mano che l'azienda cresce.
Quando crei i ruoli, tieni separati i ruoli restrittivi da quelli aperti. Se un ruolo permette a qualcuno di vedere tutto, gli altri ruoli con row-level security potrebbero non funzionare correttamente. Devi evitare che i ruoli si sovrappongano tra loro per mantenere al sicuro i dati.
Crea tabelle di sicurezza con colonne chiare per utente e autorizzazioni.
Tieni separati i ruoli in modo che non si sovrappongano e non causino problemi.
Controlla spesso le tabelle di sicurezza per tenerle aggiornate.
Relazioni nel modello dei dati
Il modo in cui costruisci il modello dei dati cambia il modo in cui controlli gli accessi. Usa collegamenti unidirezionali tra le tabelle. Così il modello resta semplice e riduci il rischio di errori.
È meglio usare tabelle di sicurezza dedicate piuttosto che inserire le autorizzazioni nelle tabelle dei fatti. Puoi collegare la tabella di sicurezza ad altre tabelle, come quelle di reparto o area geografica. In questo modo puoi filtrare i dati per ciascun utente o gruppo.
Suggerimento: usa tabelle ponte per collegare gli utenti ai dati. Questo permette alla row-level security dinamica di funzionare e mantiene al sicuro i tuoi dati.
Granularità dei ruoli: ruoli piccoli vs. ruoli grandi
Devi decidere quanto dettagliati devono essere i tuoi ruoli. I ruoli piccoli ti danno più controllo. Puoi concedere l'accesso per mansione o per gruppo. I ruoli grandi coprono più persone, ma possono essere rischiosi se le cose cambiano.
Controlla spesso chi ha ciascun ruolo. Così i tuoi dati restano al sicuro e puoi intervenire quando serve.
Scegli ruoli piccoli per più controllo e aggiornamenti semplici. I ruoli grandi possono andare bene per gruppi semplici, ma possono creare problemi nelle grandi aziende.
Assegnazione di utenti e gruppi in Fabric
Gruppi di Azure AD o singoli utenti
In Fabric concedi l'accesso inserendo gli utenti in gruppi di Azure AD. In questo modo puoi controllare i dati di molte persone contemporaneamente. Usare i gruppi è più sicuro che aggiungere ogni persona singolarmente. I gruppi ti aiutano a gestire il sistema con meno lavoro. Quando il team cambia, puoi aggiornare rapidamente i gruppi. Collegare i gruppi ai ruoli semplifica la modellazione dei dati. Le regole di sicurezza a livello di riga restano chiare e semplici.
Suggerimento: usa i gruppi di Azure AD per il controllo dell'accesso. Questo ti aiuta a fare meno errori e a risparmiare tempo.
Gruppi sovrapposti e accesso ombra
Devi prestare attenzione ai gruppi sovrapposti. A volte un utente appartiene a più di un gruppo. Questo può permettergli di vedere dati che non dovrebbe vedere. L'accesso ombra si verifica quando questo errore consente agli utenti di vedere dati in più. Dovresti controllare spesso gli elenchi dei gruppi per evitarlo. Usa delle tabelle per tenere traccia di quali utenti sono in ciascun gruppo. Una buona modellazione dei dati ti aiuta a individuare i problemi in anticipo. Rimuovi gli utenti dai gruppi di cui non hanno più bisogno per proteggere i dati.
Problema | Soluzione |
|---|---|
Gruppi sovrapposti | Controlla spesso gli elenchi dei gruppi |
Accesso ombra | Verifica i membri dei gruppi |
Nota: l'accesso ombra può mostrare dati privati. Risolvi le sovrapposizioni tra gruppi per mantenere sicuro il sistema.
Revisioni programmate dell'accesso
Dovresti pianificare revisioni periodiche dell'accesso. Controlla chi è in ciascun gruppo a intervalli regolari. Chiedi ai proprietari dei gruppi di indicare chi dovrebbe avere accesso. Questo mantiene funzionante la sicurezza dinamica a livello di riga man mano che l'azienda cresce. Usa gli strumenti di Fabric per aiutarti in questi controlli. Rimuovi gli utenti non più attivi per rendere i dati più sicuri. Questo mantiene il tuo sistema di analisi pulito e sicuro. Rendi le revisioni dell'accesso una normale parte del lavoro di business intelligence.
Scegli le date per verificare tutti i gruppi.
Usa gli strumenti di Fabric per aiutarti a controllare i gruppi.
Chiedi ai proprietari di confermare chi è in ciascun gruppo.
Avviso: le revisioni periodiche ti aiutano a trovare gli errori prima che causino problemi.
Risoluzione dell'identità: Desktop e Fabric a confronto
Funzioni di identità e differenze nel cloud
È importante sapere come funziona l'identità in Power BI Desktop e in Microsoft Fabric. In Power BI Desktop, USERNAME() di solito mostra il nome del tuo computer. In Microsoft Fabric, USERPRINCIPALNAME() restituisce il tuo indirizzo email del cloud. Questa differenza è importante per proteggere i dati. Se usi USERNAME() nel cloud, le persone sbagliate potrebbero vedere i dati. Usa sempre USERPRINCIPALNAME() per i report nel cloud. Così proteggi i dati e rispetti il sistema di identità della tua azienda.
Suggerimento: verifica le regole di sicurezza a livello di riga nel cloud. I test su Desktop non mostrano l'accesso reale degli utenti.
Proprietario del set di dati e impostazioni del tenant
Devi sapere chi è il proprietario del tuo set di dati. Il proprietario può modificare le impostazioni di aggiornamento e influire su chi vede i dati. Se cambi il proprietario, potresti modificare chi può vedere dati privati. Anche le impostazioni del tenant sono importanti. Queste impostazioni determinano come funzionano le identità nella tua azienda. Controlla le impostazioni del tenant prima di pubblicare i report. Assicurati che il modello dei dati rispetti le regole di sicurezza della tua azienda.
Impostazione | Impatto sulla sicurezza dei dati |
|---|---|
Proprietario del set di dati | Controlla aggiornamento e accesso |
Impostazioni del tenant | Gestisce l'organizzazione delle identità |
Cause comuni delle fughe di dati RLS
Puoi perdere il controllo della sicurezza a livello di riga se non esegui test nel cloud. A volte gli utenti vedono più dati di quelli che dovrebbero. Questo può accadere se usi la funzione di identità sbagliata o dimentichi di aggiornare le appartenenze ai gruppi. Le fughe possono verificarsi anche se modifichi il modello dei dati senza controllare le tabelle di sicurezza. Verifica sempre la configurazione della sicurezza dei dati dopo le modifiche. Usa test nel cloud e audit periodici per individuare i problemi in anticipo.
Avviso: le fughe di dati possono esporre informazioni private. Verifica spesso la configurazione per proteggere la tua organizzazione.
Test, audit e governance
Test RLS nel cloud
Devi testare la sicurezza a livello di riga nel cloud. Così ti assicuri che i dati siano protetti per gli utenti reali. Lo strumento «Visualizza come» in Desktop mostra solo un'anteprima. Non mostra come funzionano le regole in Microsoft Fabric. Dopo aver pubblicato il report, testalo con utenti e gruppi reali. Così puoi vedere cosa può visualizzare ciascuna persona. Prova a usare account di test per verificare che gli utenti vedano solo i propri dati. Ripeti sempre il test dopo aver modificato i ruoli o aggiornato il modello. Il test nel cloud ti aiuta a individuare i problemi prima che causino danni al business.
Suggerimento: testa sempre con utenti reali nel cloud, non solo in Desktop. Così la sicurezza dei dati resta solida.
Automazione per audit e revisioni
Puoi usare l'automazione per rendere più semplici gli audit e le revisioni in Fabric. L'automazione verifica periodicamente le autorizzazioni dell'area di lavoro, i flussi di dati e le etichette di riservatezza. Microsoft Purview ti offre dashboard per monitorare i criteri su tutta la piattaforma. Puoi usare i log delle attività e le API di amministrazione per individuare problemi di conformità. L'automazione ti aiuta a individuare i problemi in anticipo e fa risparmiare tempo. Gli auditor possono vedere l'intero percorso delle colonne sensibili dall'origine fino al report. Questo rende le revisioni più rapide e più accurate. L'automazione rende inoltre più semplice e meno costoso rispettare normative come GDPR e HIPAA.
Configura controlli automatici per autorizzazioni e flussi di dati.
Usa i dashboard per monitorare le modifiche ai criteri di sicurezza.
Controlla i log delle attività per individuare rapidamente i problemi.
Documentazione e gestione delle modifiche
Servono registrazioni accurate per mantenere chiaro il sistema di sicurezza dei dati. Annota i criteri di sicurezza, gli elenchi dei gruppi e le modifiche ai ruoli. Aggiorna le note quando cambi il modello o aggiungi nuovi utenti. Registrazioni chiare ti aiutano a tenere traccia di chi può vedere quali dati. Aiutano anche i nuovi membri del team a capire il sistema. La gestione delle modifiche significa verificare e approvare gli aggiornamenti prima che vadano in produzione. Questo mantiene sicura la sicurezza a livello di riga man mano che l'azienda cresce.
Attività | Vantaggio |
|---|---|
Documenta le modifiche | Evita confusione |
Verifica gli aggiornamenti | Blocca gli accessi indesiderati |
Tieni traccia delle assegnazioni | Rende i dati più sicuri |
Avviso: mantieni aggiornate le registrazioni. Così proteggi i dati e risolvi rapidamente i problemi.
Dovresti considerare la sicurezza a livello di riga come qualcosa che evolve insieme ai tuoi dati e alla tua azienda. Una configurazione solida aiuta a proteggere le informazioni riservate. Usare buoni pattern DAX e gestire bene l'identità degli utenti protegge i dati. Controllare la sicurezza e documentare le modifiche ti aiuta a individuare i problemi in anticipo. Se pianifichi in anticipo, puoi controllare chi vede i dati e mantenere sicure le tue analisi.
Controlla spesso la configurazione della sicurezza.
Usa regole che cambiano nel tempo per proteggere meglio i dati.
Metti sempre la privacy al primo posto.
Domande frequenti
Che cos'è la sicurezza dinamica a livello di riga in Power BI e Fabric?
La sicurezza dinamica a livello di riga consente di controllare l'accesso ai dati in base a chi visualizza il report. Usi funzioni DAX e tabelle di mapping per associare gli utenti ai dati corretti.
Perché usare USERPRINCIPALNAME() invece di USERNAME()?
USERPRINCIPALNAME() restituisce l'indirizzo e-mail cloud dell'utente. Funziona al meglio in Power BI e Fabric. USERNAME() può restituire un nome locale, che può causare problemi di sicurezza nel cloud.
In che modo i gruppi di Azure AD aiutano la sicurezza?
I gruppi di Azure AD consentono di gestire l'accesso per molti utenti contemporaneamente. Aggiungi gli utenti ai gruppi e assegni i ruoli. Così la configurazione della sicurezza è più semplice e più sicura.
Che cos'è una tabella di sicurezza e perché serve?
Una tabella di sicurezza elenca utenti, gruppi e autorizzazioni. La usi per controllare chi può vedere determinati dati. Questo ti aiuta a proteggere i dati man mano che l'azienda cresce.
Con quale frequenza bisogna testare la sicurezza a livello di riga nel cloud?
Dovresti testare la sicurezza a livello di riga ogni volta che cambi ruoli, gruppi o il modello dei dati. Il test nel cloud mostra cosa possono vedere gli utenti reali e aiuta a individuare i problemi in anticipo.