Sicurezza nelle app

Completato

Durante il processo di configurazione della sicurezza è possibile impostare quattro diversi livelli di sicurezza per un'app:

  • Sicurezza a livello di app: limita l'accesso all'app.
  • Sicurezza a livello di modulo: per le app basate su modello, questo livello di sicurezza consente di accedere a moduli specifici solo ai gruppi di sicurezza definiti. Questo livello risulta utile se si vuole limitare il modo in cui gli utenti immettono o visualizzano i dati in base al relativo ruolo.
  • Sicurezza a livello di riga: il modello di sicurezza di Dataverse controlla l'accesso alle righe.
  • Sicurezza a livello di colonna: controlla l'accesso alle singole colonne di una tabella.

La sicurezza deve essere eseguita a livello di piattaforma e non a livello di app. Sono disponibili numerosi modi per controllare la lettura e la scrittura dei dati in un'app. È possibile impostare le colonne in sola lettura sul modulo basato sul modello, usare JavaScript per mascherare le colonne escludendole dall'esperienza utente e nascondere colonne e campi in moduli e viste. Nessuno di questi approcci implementa effettivamente la sicurezza. Questi metodi non proteggono i dati e gli utenti possono comunque accedere ai dati in altri modi, ad esempio con la funzione Ricerca avanzata o Modifica in Excel Online.

Inoltre, tutti gli utenti hanno il diritto di usare l'API e gli strumenti dei partner e della community per accedere ai dati. Per garantire una sicurezza adeguata, è necessario usare le funzionalità di sicurezza di Dataverse.

Privilegi elevati e rappresentazione

È consigliabile evitare di concedere livelli elevati di privilegi agli utenti. Gli assembly .NET dei plug-in, i flussi di lavoro classici e i flussi cloud di Power Automate possono essere eseguiti con privilegi di accesso elevati per eseguire azioni per conto dell'utente. Il codice API può rappresentare un altro utente, se necessario.

Automazione

Gli architetti di soluzioni devono valutare la possibilità di usare l'automazione dei vari aspetti della gestione degli utenti e della sicurezza. Ad esempio, è possibile controllare molti aspetti, dalla creazione di team alla condivisione di righe tramite l'API.

È possibile attivare plug-in o flussi Power Automate basati su eventi che si verificano nel sistema per modificare la sicurezza di un utente. Ad esempio, è possibile elevare automaticamente l'account manager di backup o condividere i relativi dati in modo che l'utente possa gestire l'account mentre l'account manager principale è in ferie.

Prestazioni

Le soluzioni con un numero elevato di utenti e/o dati devono considerare l'impatto delle scelte, ad esempio:

  • Una condivisione eccessiva può creare un considerevole aumento dei costi.
  • Un numero eccessivo di Business Unit può rallentare l'accesso.
  • Sugli eventi verranno eseguiti troppi processi.
  • Progettazione scadente dei plug-in.

Una progettazione scadente della sicurezza può causare prestazioni scadenti. Le tecniche che è possibile usare per migliorare le prestazioni della sicurezza includono:

  • Ricerca di modi alternativi con cui riassegnare la sicurezza, ad esempio condividendo le informazioni con un team anziché con un utente.
  • Riduzione del numero di Business Unit.
  • Uso dei team di accesso anziché dei team proprietario.
  • Esecuzione di test con volumi e scenari di sicurezza reali per convalidare la progettazione.
  • Uso di strumenti di analisi nell'interfaccia di amministrazione di Microsoft Power Platform per visualizzare le chiamate API e i processi con volumi elevati di dati.

Il modo migliore per migliorare le prestazioni è mantenere la progettazione della sicurezza il più semplice possibile.

Separazione e ottimizzazione degli schemi di uso

Un Architetto di soluzioni deve eseguire l'ottimizzazione per diversi schemi di uso. In particolare, è necessario usare diverse funzionalità del modello di sicurezza per fornire l'accesso necessario, in presenza di diversi utenti che hanno modi diversi per accedere allo stesso record, come illustrato nel diagramma seguente.

Diagramma per l'ottimizzazione di schemi di uso distinti.

Modelli diversi in base alle varie aree di attività

Non tutti gli utenti lavorano allo stesso modo. L'Architetto di soluzioni deve analizzare i diversi modelli di lavoro nelle varie aree dell'azienda e quindi modellare ogni area in modo diverso per ottenere la soluzione ottimale, come illustrato nel diagramma seguente.

Diagramma dei modelli diversi in base alle varie aree di attività.

Eccezioni dei modelli come eccezioni

Gli architetti di soluzioni devono cercare di definire i modelli di accesso comuni nel modo più efficiente possibile e usare un modello più granulare laddove è richiesto un accesso complesso. La condivisione è un ottimo esempio di elaborazione delle eccezioni. La condivisione deve avvenire a livello di team, laddove possibile.

Diagramma per modellare le eccezioni come eccezioni.

Separazione tra dati storici e dati attivi

I dati storici a cui si accede raramente ma caratterizzati da volumi elevati possono avere ripercussioni sull'accesso ai dati correnti. L'Architetto di soluzioni deve valutare l'uso del partizionamento dei dati in tabelle separate nel modello di sicurezza e quindi offrire un meccanismo secondario per l'accesso occasionale.

Revisione del modello di dati per l'ottimizzazione della sicurezza

Alcune modifiche al modello di dati possono semplificare la definizione del modello di sicurezza. L'Architetto di soluzioni deve determinare se la definizione dei nuovi limiti dei dati semplificherà la modellazione della sicurezza. Ad esempio, anziché definire l'accesso individuale nei record del conto, è possibile spostare le informazioni sul reporting finanziario dai record del conto a una tabella finanziaria separata; ciò consentirà a tutti gli utenti di visualizzare la tabella dei conti, ma manterrà l'accesso a tale tabella limitato ai soli manager.