M365Con 2027 – conferenza online gratuita · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Implementare la sicurezza dinamica a livello di riga in Power BI e Microsoft Fabric: architettura, pattern DAX e governance di livello enterprise

By · · 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

▶ BLOGImplementing DynamicRow-Level Security in…M365.FM
Titelbild: Implementing Dynamic Row-Level Security in Power BI and Microsoft Fabric: Architecture, DAX Patterns, and Enterprise-Grade Governance

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

Sicurezza dinamica

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

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.

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.

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:

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.

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.

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.

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.

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.

Microsoft Fabric Governance Power BI

Related articles

RSS