Autorizzazione per l'analisi su scala cloud in Azure
L'autorizzazione è l'atto di concedere a un'entità autenticata l'autorizzazione per eseguire un'azione. Il principio fondamentale di controllo di accesso consiste nell'concedere agli utenti solo la quantità di accesso necessaria per svolgere il proprio lavoro e consentire solo determinate azioni in un ambito specifico. La sicurezza basata sui ruoli corrisponde al controllo di accesso. Molte organizzazioni usano la sicurezza basata sui ruoli per controllare l'accesso in base ai ruoli definiti o alle funzioni del processo anziché ai singoli utenti. Agli utenti vengono assegnati uno o più ruoli di sicurezza e a ogni ruolo vengono concesse autorizzazioni autorizzate per eseguire attività specifiche.
Microsoft Entra ID è un provider di identità centralizzato che concede l'autorizzazione per accedere ai servizi dati e all'archiviazione per ogni utente o per ogni applicazione basata su un'identità Microsoft Entra.
Autorizzazione del servizio dati
Il controllo degli accessi in base al ruolo di Azure e gli elenchi di controllo di accesso (ACL) svolgono ruoli cruciali nella gestione dell'accesso e nella sicurezza. Azure RBAC (Controllo degli Accessi in Base al Ruolo) e gli ACL richiedono che l'utente o l'applicazione dispongano di un'identità in Microsoft Entra ID. Nell'analisi su scala cloud, l'RBAC è efficace per i database e l'Azure Data Lake Storage. Gli ACL vengono usati principalmente in Data Lake Storage per fornire un controllo di accesso granulare a livello di file e directory. Gli ACL completano l'RBAC fornendo autorizzazioni più dettagliate all'interno della gerarchia di archiviazione.
Azure RBAC offre ruoli predefiniti come Proprietario, Collaboratoree Lettore, ma è anche possibile creare ruoli personalizzati per esigenze specifiche. I ruoli predefiniti seguenti sono fondamentali per tutti i tipi di risorse di Azure, inclusi i servizi dati di Azure:
Ruolo | Descrizione |
---|---|
Proprietario | Questo ruolo ha accesso completo alla risorsa e può gestire tutto ciò che riguarda la risorsa, incluso il diritto di concedere l'accesso. |
Contributore | Questo ruolo può gestire la risorsa, ma non può concedere l'accesso. |
lettore | Questo ruolo può visualizzare la risorsa e le informazioni, ad eccezione delle informazioni riservate, ad esempio chiavi di accesso o segreti, sulla risorsa. Non possono apportare modifiche alla risorsa. |
Nota
Alcuni servizi hanno ruoli di controllo degli accessi in base al ruolo specifici, ad esempio contributore di dati della Storage Blob o contributore di Data Factory, quindi dovresti usare questi ruoli per questi servizi. RBAC è un modello cumulativo in cui l'aggiunta dell'assegnazione dei ruoli è un'autorizzazione attiva. RBAC supporta anche assegnazioni di diniego che hanno la precedenza sulle assegnazioni di ruolo.
Suggerimento
Quando si pianifica una strategia di controllo di accesso, è consigliabile concedere agli utenti solo la quantità di accesso necessaria per svolgere il proprio lavoro. È anche consigliabile consentire determinate azioni solo in un ambito specifico.
Controllo di accesso nei database di Azure
Il controllo degli accessi in base al ruolo (RBAC) nei database di Azure si basa su ruoli, ambiti e permessi. Azure offre diversi ruoli predefiniti per la gestione del database. Uno di questi ruoli è Collaboratore SQL Server, che consente la gestione di server e database SQL. Un altro ruolo è Collaboratore database SQL, che consente la gestione dei database SQL ma non del server stesso. È anche possibile creare ruoli personalizzati con autorizzazioni specifiche per soddisfare requisiti univoci.
È possibile assegnare ruoli in ambiti diversi, tra cui:
- A livello di sottoscrizione, dove i ruoli si applicano a tutte le risorse all'interno della sottoscrizione.
- A livello di gruppo di risorse, dove i ruoli si applicano a tutte le risorse all'interno del gruppo di risorse specificato.
- A livello di risorsa, in cui è possibile assegnare ruoli direttamente a singoli database o server. Questo approccio offre un controllo preciso.
Le autorizzazioni definiscono le azioni che un ruolo può eseguire, ad esempio lettura, scrittura, eliminazione o gestione delle impostazioni di sicurezza. Queste autorizzazioni vengono raggruppate in ruoli per semplificare la gestione.
In database SQL di Azureè possibile assegnare ruoli a utenti, gruppi o applicazioni per controllare l'accesso. Ad esempio, a un amministratore del database potrebbe essere assegnato il ruolo SQL Server Collaboratore per gestire il server e i database. I ruoli come Collaboratore database SQL consentono agli utenti di creare, aggiornare ed eliminare database, mentre il ruolo Gestione sicurezza SQL è incentrato sulle configurazioni di sicurezza.
In Azure Cosmos DBè possibile assegnare ruoli per gestire l'accesso ad account, database e contenitori di Azure Cosmos DB. I ruoli predefiniti, ad esempio Lettore account Cosmos DB e Collaboratore account Cosmos DB offrono diversi livelli di accesso.
In Database di Azure per MySQL, Database di Azure per PostgreSQLe Database di Azure per MariaDB, è possibile assegnare ruoli per gestire i server di database e i singoli database. È possibile usare ruoli come collaboratore e lettore per controllare l'accesso.
Per altre informazioni, vedere ruoli predefiniti di Azure per i database.
Controllo di accesso in Data Lake Storage
Il controllo degli accessi in base al ruolo di Azure consente di concedere l'accesso con granularità grossolana, ad esempio l'accesso in lettura o scrittura, a tutti i dati dell'account di archiviazione. Gli ACL consentono di concedere l'accesso con granularità fine, ad esempio l'accesso in scrittura a una directory o a un file specifico.
In molti scenari, è possibile usare il controllo degli accessi in base al ruolo e gli ACL insieme per fornire un controllo di accesso completo in Data Lake Storage. È possibile usare il controllo degli accessi in base al ruolo per gestire l'accesso generale ai dati, assicurandosi che solo gli utenti autorizzati possano accedere al servizio. È quindi possibile applicare elenchi di controllo di accesso all'interno dell'account di archiviazione per controllare l'accesso a file e directory specifici, migliorando la sicurezza.
Il controllo degli accessi basato su attributi di Azure si integra con Azure RBAC aggiungendo condizioni di assegnazione dei ruoli basate su attributi nel contesto di azioni specifiche. Essenzialmente consente di perfezionare le assegnazioni di ruolo RBAC aggiungendo condizioni. Ad esempio, è possibile concedere l'accesso in lettura o scrittura a tutti gli oggetti dati in un account di archiviazione con un tag specifico.
I ruoli seguenti consentono a un'entità di sicurezza di accedere ai dati in un account di archiviazione.
Ruolo | Descrizione |
---|---|
proprietario dei dati dei BLOB di archiviazione | Questo ruolo consente l'accesso completo ai contenitori e ai dati dell'archiviazione BLOB. Questo accesso consente all'entità di sicurezza di impostare il proprietario di un elemento e di modificare gli elenchi di controllo di accesso di tutti gli elementi. |
Contributore ai dati di Blob di archiviazione di |
Questo ruolo consente l'accesso in lettura, scrittura ed eliminazione ai contenitori di archiviazione BLOB e ai BLOB. Questo accesso non consente all'entità di sicurezza di impostare la proprietà di un elemento, ma può modificare l'ACL di elementi di proprietà dell'entità di sicurezza. |
Lettore di dati Blob di archiviazione | Questo ruolo può leggere ed elencare i contenitori di archiviazione e i BLOB. |
Ruoli come Proprietario, Contributore, Lettoree Contributore account di archiviazione consentono a un'entità di sicurezza di gestire un account di archiviazione, ma non forniscono l'accesso ai dati all'interno di tale account. Tuttavia, questi ruoli, esclusi Lettore, possono ottenere l'accesso alle chiavi di archiviazione, che possono essere usate in vari strumenti client per accedere ai dati. Per altre informazioni, vedere Modello di controllo di accesso in Data Lake Storage.
Controllo di accesso in Azure Databricks
Azure Databricks fornisce sistemi di controllo di accesso per la gestione dell'accesso all'interno dell'ambiente Azure Databricks. Questi sistemi si concentrano sugli oggetti a protezione diretta e sulla governance dei dati. I tre principali sistemi di controllo di accesso in Azure Databricks sono:
- ACL, che è possibile usare per configurare l'autorizzazione per accedere agli oggetti dell'area di lavoro, ad esempio i notebook. Per altre informazioni, vedere Panoramica del controllo di accesso.
- RBAC dell'account, che puoi utilizzare per configurare i permessi per l'uso di oggetti a livello di account, come i principali del servizio e i gruppi.
- Catalogo Unity, che è possibile usare per proteggere e gestire gli oggetti dati.
Oltre al controllo di accesso sugli oggetti, Azure Databricks fornisce ruoli predefiniti nella piattaforma. È possibile assegnare ruoli a utenti, entità servizio e gruppi. Per altre informazioni, vedere ruoli di amministratore e diritti dell'area di lavoro.
Procedure consigliate per l'autorizzazione nell'analisi su scala cloud
Questa guida illustra le procedure consigliate per l'implementazione di RBAC (controllo degli accessi in base al ruolo) negli ambienti di analisi su scala cloud. Includono principi generali del controllo degli accessi basato sui ruoli (RBAC), controllo degli accessi al database e migliori pratiche per il controllo degli accessi ai data lake per garantire una gestione delle risorse sicura ed efficiente.
Migliori pratiche generali di RBAC per l'analisi su scala cloud.
Le procedure consigliate seguenti consentono di iniziare a usare il controllo degli accessi in base al ruolo:
Usare i ruoli controllo degli accessi in base al ruolo per la gestione e le operazioni del servizio e usare ruoli specifici del servizio per l'accesso ai dati e le attività specifiche del carico di lavoro. Usare i ruoli controllo degli accessi in base al ruolo nelle risorse di Azure per concedere l'autorizzazione alle entità di sicurezza che devono eseguire attività di gestione delle risorse e operazioni. Le entità di sicurezza che devono accedere ai dati all'interno dell'archiviazione non necessitano di un ruolo RBAC sulla risorsa perché non devono gestirla. Concedere invece l'autorizzazione direttamente agli oggetti dati. Ad esempio, concedere l'accesso in lettura a una cartella in Data Lake Storage o concedere autorizzazioni per utenti e tabelle di database indipendenti in un database nel database SQL.
Usare i ruoli predefiniti di controllo degli accessi basati sui ruoli. Prima di tutto, usare i ruoli predefiniti delle risorse di Azure RBAC per gestire i servizi e assegnare ruoli operativi per controllare l'accesso. Creare e usare ruoli personalizzati per le risorse di Azure solo quando i ruoli predefiniti non soddisfano le esigenze specifiche.
Usare i gruppi per gestire l'accesso. Assegnare l'accesso ai gruppi di Microsoft Entra e gestire le appartenenze ai gruppi per la gestione degli accessi in corso.
Considerare gli ambiti della sottoscrizione e del gruppo di risorse. Negli ambienti non di produzione concedere l'accesso all'ambito del gruppo di risorse per separare le esigenze di gestione dei servizi e di accesso alle operazioni anziché concedere l'accesso alle singole risorse. Questo approccio ha senso perché, in ambienti non di produzione, sviluppatori e tester devono gestire le risorse. Ad esempio, potrebbe essere necessario creare una pipeline di inserimento di Azure Data Factory o un contenitore in Data Lake Storage.
Tuttavia, negli ambienti di produzione è possibile concedere l'accesso alle singole risorse per attività specifiche del carico di lavoro, ad esempio il supporto e le operazioni del file system data lake. Questo approccio ha senso negli ambienti di produzione perché gli utenti devono usare solo risorse come la visualizzazione dello stato di una pipeline di inserimento pianificata di Data Factory o la lettura di file di dati in Data Lake Storage.
Non concedere l'accesso non necessario nell'ambito della sottoscrizione. L'ambito dell'abbonamento copre tutte le risorse all'interno dell'abbonamento.
Scegliere l'accesso con privilegi minimi. Selezionare il ruolo giusto e unico per il lavoro.
Procedure consigliate per il controllo di accesso al database
L'implementazione di un RBAC efficace è fondamentale per mantenere la sicurezza e la facilità di gestione nell'ambiente di analisi. In questa sezione vengono fornite le procedure consigliate per l'uso dei gruppi di Microsoft Entra e dei ruoli predefiniti e per evitare autorizzazioni utente dirette per garantire un processo di gestione degli accessi semplificato e sicuro.
Gli ambienti di analisi su scala cloud in genere contengono più tipi di soluzioni di archiviazione, tra cui PostgreSQL, MySQL, database SQL, Istanza gestita di SQL di Azure e Azure Synapse Analytics.
Usare i gruppi di Microsoft Entra anziché i singoli account utente. È consigliabile usare i gruppi di Microsoft Entra per proteggere gli oggetti di database anziché i singoli account utente di Microsoft Entra. Usare i gruppi di Microsoft Entra per autenticare gli utenti e proteggere gli oggetti di database. Analogamente al modello di data lake, è possibile utilizzare l'integrazione delle applicazioni di dati per creare questi gruppi.
Usare i ruoli predefiniti per gestire l'accesso. Creare ruoli personalizzati solo se è necessario soddisfare requisiti specifici o se i ruoli predefiniti concedono troppe autorizzazioni.
Evitare di assegnare autorizzazioni a singoli utenti. Usare in modo coerente ruoli come quelli del database o del server. I ruoli consentono di creare report e risolvere i problemi relativi alle autorizzazioni. Azure RBAC supporta solo l'assegnazione di autorizzazioni tramite ruoli.
Nota
Le applicazioni dati possono archiviare prodotti dati sensibili in pool di database SQL, Istanza gestita di SQL o Azure Synapse Analytics. Per altre informazioni, vedere Privacy dei dati per l'analisi su scala cloud in Azure.
Procedure consigliate per il controllo di accesso di Data Lake Storage
Negli ambienti dati moderni, il controllo degli accessi sicuro ed efficiente è fondamentale. Data Lake Storage offre meccanismi affidabili per gestire l'accesso tramite ACL. Questa sezione descrive le procedure consigliate per l'implementazione di RBAC in Data Lake Storage e l'applicazione di ACL, gruppi di sicurezza di Microsoft Entra e il principio del privilegio minimo per mantenere un ambiente Data Lake più sicuro e gestibile. Inoltre, evidenzia l'importanza di allineare gli elenchi di controllo di accesso con gli schemi di partizionamento dei dati e l'uso di Unity Catalog per gli utenti di Azure Databricks per garantire sicurezza e governance complete.
Usare gli ACL per un controllo dell'accesso più granulare. Gli ACL svolgono un ruolo importante nella definizione dell'accesso a un livello granulare. In Data Lake Storage gli ACL funzionano con le entità di sicurezza per gestire l'accesso con granularità fine ai file e alle directory.
Applicare elenchi di controllo di accesso a livello di file e cartelle. Per controllare l'accesso ai dati nel data lake, è consigliabile usare ACL a livello di file e cartelle. Data Lake Storage adotta anche un modello ACL simile all'interfaccia posIX (Portable Operating System Interface). POSIX è un gruppo di standard per i sistemi operativi. Uno standard definisce una struttura di autorizzazioni semplice ma potente per l'accesso a file e cartelle. POSIX è ampiamente usato per le condivisioni file di rete e per i computer Unix.
Usare i gruppi di sicurezza di Microsoft Entra come entità assegnata in una voce di ACL. Anziché assegnare direttamente singoli utenti o entità servizio, usare questo approccio per aggiungere e rimuovere utenti o entità servizio senza la necessità di riapplicare gli elenchi di controllo di accesso a un'intera struttura di directory. È sufficiente aggiungere o rimuovere utenti e entità servizio dal gruppo di sicurezza Microsoft Entra appropriato.
Assegnare l'accesso ai gruppi di Microsoft Entra e gestire l'appartenenza ai gruppi per la gestione degli accessi in corso. Per altre informazioni, vedere Modello di controllo di accesso in Data Lake Storage.
Applicare il principio dei privilegi minimi agli elenchi di controllo di accesso. Nella maggior parte dei casi, gli utenti devono avere solo permessi di lettura per i file e le cartelle di cui hanno bisogno nel data lake. Gli utenti dei dati non devono avere accesso al contenitore dell'account di archiviazione.
Allineare gli elenchi di controllo di accesso con gli schemi di partizionamento dei dati. Gli elenchi di controllo di accesso e la progettazione delle partizioni di dati devono essere allineati per garantire un controllo di accesso ai dati efficace. Per ulteriori informazioni, consultare partizionamento del data lake.
Per gli utenti di Azure Databricks, controllare esclusivamente l'accesso agli oggetti dati con Unity Catalog. La concessione dell'accesso diretto allo spazio di archiviazione esterno in Data Lake Storage non rispetta le autorizzazioni concesse né gli audit mantenuti dal Unity Catalog. L'accesso diretto ignora il controllo, la derivazione e altre funzionalità di sicurezza e monitoraggio di Unity Catalog, inclusi il controllo di accesso e le autorizzazioni. Pertanto, non è consigliabile concedere agli utenti di Azure Databricks l'accesso diretto a livello di archiviazione a tabelle e volumi gestiti di Unity Catalog.