Ruoli e requisiti per Condivisione dati di Azure
Questo articolo descrive i ruoli e le autorizzazioni necessari per condividere e ricevere dati usando il servizio Azure Condivisione dati.
Ruoli e requisiti
Con il servizio Azure Condivisione dati è possibile condividere i dati senza scambiare credenziali tra provider di dati e consumer. Per la condivisione basata su snapshot, il servizio Azure Condivisione dati usa identità gestite (note in precedenza come MSI) per eseguire l'autenticazione nell'archivio dati di Azure.
Per creare condivisioni nella condivisione dati di Azure, un utente dovrà disporre di queste autorizzazioni:
- Autorizzazioni dell'account di condivisione dati: Collaboratore
- Archiviazione gruppo di risorse: Lettore (autorizzazioni di lettura per il gruppo di risorse in cui sono presenti gli account di archiviazione o i database autorizzati a cercarli nel portale).
- Autorizzazioni di origine, a seconda dell'origine:
condivisione di Archiviazione e data lake
Tipo di archivio dati | Azione | Ruolo nell'archivio dati di origine | Ruolo nell'archivio dati di destinazione | Nota |
---|---|---|---|---|
Archiviazione BLOB di Azure | Condividere dati | collaboratore account Archiviazione** | **In alternativa, è possibile creare un ruolo personalizzato con le azioni di archiviazione necessarie | |
Ricevere dati | collaboratore account Archiviazione** | **In alternativa, è possibile creare un ruolo personalizzato con le azioni di archiviazione necessarie | ||
Assegnare automaticamente le autorizzazioni di istanza gestita per la condivisione | Ruolo con Microsoft.Authorization/assegnazioni di ruolo/scrittura* | Facoltativo. È invece possibile assegnare manualmente le autorizzazioni di istanza gestita. | ||
Assegnare automaticamente le autorizzazioni di istanza gestita per ricevere | Ruolo con Microsoft.Authorization/assegnazioni di ruolo/scrittura* | Facoltativo. È invece possibile assegnare manualmente le autorizzazioni di istanza gestita. | ||
Azure Data Lake Gen 1 | Condividere dati | Accedere e scrivere autorizzazioni per i file da condividere. | ||
Ricevere dati | Non supportato | |||
Assegnare automaticamente le autorizzazioni di istanza gestita per la condivisione | Ruolo con Microsoft.Authorization/assegnazioni di ruolo/scrittura* | Facoltativo. È invece possibile assegnare manualmente le autorizzazioni di istanza gestita. | ||
Assegnare automaticamente le autorizzazioni di istanza gestita per ricevere | Non supportato. | |||
Azure Data Lake Gen 2 | Condividere dati | collaboratore account Archiviazione** | **In alternativa, è possibile creare un ruolo personalizzato con le azioni di archiviazione necessarie | |
Ricevere dati | collaboratore account Archiviazione** | **In alternativa, è possibile creare un ruolo personalizzato con le azioni di archiviazione necessarie | ||
Assegnare automaticamente le autorizzazioni di istanza gestita per la condivisione | Ruolo con Microsoft.Authorization/assegnazioni di ruolo/scrittura* | Facoltativo. È invece possibile assegnare manualmente le autorizzazioni di istanza gestita. | ||
Assegnare automaticamente le autorizzazioni di istanza gestita per ricevere | Ruolo con Microsoft.Authorization/assegnazioni di ruolo/scrittura* | Facoltativo. È invece possibile assegnare manualmente le autorizzazioni di istanza gestita. |
* Questa autorizzazione esiste nel ruolo Proprietario .
Per altre informazioni sulla condivisione da e verso Archiviazione di Azure, vedere l'articolo condividere e ricevere dati da Archiviazione BLOB di Azure e Azure Data Lake Archiviazione.
Condivisione del database SQL
Per condividere dati da SQL, è possibile usare:
Per ricevere dati in SQL, è necessario assegnare autorizzazioni per ricevere i dati.
Autenticazione di Microsoft Entra da condividere
Questi prerequisiti riguardano l'autenticazione necessaria per consentire ad Azure Condivisione dati di connettersi al database SQL di Azure:
- È necessaria l'autorizzazione per scrivere nei database in SQL Server: Microsoft.Sql/servers/databases/write. Questa autorizzazione è presente nel ruolo di collaboratore.
- Autorizzazioni di Microsoft Entra Amministrazione di SQL Server.
- Accesso al firewall di SQL Server:
- Nella portale di Azure passare al server SQL. Selezionare Firewall e reti virtuali nel riquadro di spostamento sinistro.
- Selezionare Sì per Consenti ai servizi e alle risorse di Azure di accedere a questo server.
- Selezionare +Aggiungi IP client. L'indirizzo IP client può cambiare, quindi potrebbe essere necessario aggiungere di nuovo l'INDIRIZZO IP client alla successiva condivisione dei dati dal portale.
- Seleziona Salva.
Autenticazione SQL da condividere
È possibile seguire il video dimostrativo dettagliato per configurare l'autenticazione o completare ognuno di questi prerequisiti:
Autorizzazione per la scrittura nei database in SQL Server: Microsoft.Sql/servers/databases/write. Questa autorizzazione è presente nel ruolo di collaboratore.
Autorizzazione per l'identità gestita della risorsa Condivisione dati di Azure per accedere al database:
Nella portale di Azure passare a SQL Server e impostarsi come Microsoft Entra Amministrazione.
Connessione all'database SQL di Azure/Data Warehouse usando il Editor di query o SQL Server Management Studio con l'autenticazione Di Microsoft Entra.
Eseguire lo script seguente per aggiungere l'identità gestita di risorse Condivisione dati come db_datareader. Connessione usando Active Directory e non l'autenticazione di SQL Server.
create user "<share_acct_name>" from external provider; exec sp_addrolemember db_datareader, "<share_acct_name>";
Nota
Il <share_acc_name> è il nome della risorsa Condivisione dati.
Un utente database SQL di Azure con accesso "db_datareader" per spostarsi e selezionare le tabelle o le visualizzazioni da condividere.
Accesso al firewall di SQL Server:
- Nella portale di Azure passare a SQL Server. Selezionare Firewall e reti virtuali nel riquadro di spostamento sinistro.
- Selezionare Sì per Consenti ai servizi e alle risorse di Azure di accedere a questo server.
- Selezionare +Aggiungi IP client. L'indirizzo IP client può cambiare, quindi potrebbe essere necessario aggiungere di nuovo l'INDIRIZZO IP client alla successiva condivisione dei dati dal portale.
- Seleziona Salva.
Autenticazione da ricevere in SQL
Per un server SQL in cui si è l'amministratore di Microsoft Entra di SQL Server, completare questi prerequisiti prima di accettare una condivisione dati:
- Un database SQL di Azure o Azure Synapse Analytics (in precedenza Azure SQL DW).
- Autorizzazione per la scrittura nei database in SQL Server: Microsoft.Sql/servers/databases/write. Questa autorizzazione è presente nel ruolo di collaboratore.
- Accesso al firewall di SQL Server:
- Nella portale di Azure passare al server SQL. Selezionare Firewall e reti virtuali nel riquadro di spostamento sinistro.
- Selezionare Sì per Consenti ai servizi e alle risorse di Azure di accedere a questo server.
- Selezionare +Aggiungi IP client. L'indirizzo IP client può cambiare, quindi potrebbe essere necessario aggiungere di nuovo l'INDIRIZZO IP client alla successiva condivisione dei dati dal portale.
- Seleziona Salva.
Per un server SQL in cui non si è l'amministratore di Microsoft Entra, completare questi prerequisiti prima di accettare una condivisione dati:
È possibile seguire il video dimostrativo dettagliato o i passaggi seguenti per configurare i prerequisiti.
Un database SQL di Azure o Azure Synapse Analytics (in precedenza Azure SQL DW).
Autorizzazione per la scrittura nei database in SQL Server: Microsoft.Sql/servers/databases/write. Questa autorizzazione è presente nel ruolo di collaboratore.
Autorizzazione per l'identità gestita della risorsa Condivisione dati per accedere all'database SQL di Azure o ad Azure Synapse Analytics:
Nella portale di Azure passare a SQL Server e impostarsi come Microsoft Entra Amministrazione.
Connessione all'database SQL di Azure/Data Warehouse usando il Editor di query o SQL Server Management Studio con l'autenticazione Di Microsoft Entra.
Eseguire lo script seguente per aggiungere l'identità gestita di Condivisione dati come 'db_datareader, db_datawriter, db_ddladmin'.
create user "<share_acc_name>" from external provider; exec sp_addrolemember db_datareader, "<share_acc_name>"; exec sp_addrolemember db_datawriter, "<share_acc_name>"; exec sp_addrolemember db_ddladmin, "<share_acc_name>";
Nota
Il <share_acc_name> è il nome della risorsa Condivisione dati.
Accesso al firewall di SQL Server:
- Nella portale di Azure passare a SQL Server e selezionare Firewall e reti virtuali.
- Selezionare Sì per Consenti ai servizi e alle risorse di Azure di accedere a questo server.
- Selezionare +Aggiungi IP client. L'indirizzo IP client può cambiare, quindi potrebbe essere necessario aggiungere di nuovo l'INDIRIZZO IP client alla successiva condivisione dei dati dal portale.
- Seleziona Salva.
Per altre informazioni sulla condivisione da e verso Azure SQL, vedere l'articolo condividere e ricevere dati da database SQL di Azure.
Condivisione di Analisi synapse di Azure
Condividi
Autorizzazione per la scrittura nel pool SQL nell'area di lavoro di Synapse: Microsoft.Synapse/workspaces/sqlPools/write. Questa autorizzazione è presente nel ruolo di collaboratore.
Autorizzazione per l'identità gestita della risorsa Condivisione dati per accedere al pool SQL dell'area di lavoro synapse:
Nella portale di Azure passare all'area di lavoro di Synapse. Selezionare Amministratore di SQL Active Directory nel riquadro di spostamento sinistro e impostare se stessi come amministratore di Microsoft Entra.
Aprire Synapse Studio, selezionare Gestisci nel riquadro di spostamento a sinistra. Selezionare Controllo di accesso in Sicurezza. Assegnare a se stessi il ruolo di amministratore sql o amministratore dell'area di lavoro.
Selezionare Sviluppa nel riquadro di spostamento a sinistra in Synapse Studio. Eseguire lo script seguente nel pool SQL per aggiungere l'identità gestita di risorse Condivisione dati come db_datareader.
create user "<share_acct_name>" from external provider; exec sp_addrolemember db_datareader, "<share_acct_name>";
Nota
Il <share_acc_name> è il nome della risorsa Condivisione dati.
Accesso al firewall dell'area di lavoro di Synapse:
- Nella portale di Azure passare all'area di lavoro di Synapse. Selezionare Firewall nel riquadro di spostamento sinistro.
- Selezionare SÌ per Consenti ai servizi e alle risorse di Azure di accedere a questa area di lavoro.
- Selezionare +Aggiungi IP client. L'indirizzo IP client può cambiare, quindi potrebbe essere necessario aggiungere di nuovo l'INDIRIZZO IP client alla successiva condivisione dei dati dal portale.
- Seleziona Salva.
Ricezione
Un pool SQL dedicato di Azure Synapse Analytics (area di lavoro). La ricezione di dati nel pool SQL serverless non è attualmente supportata.
Autorizzazione per la scrittura nel pool SQL nell'area di lavoro di Synapse: Microsoft.Synapse/workspaces/sqlPools/write. Questa autorizzazione è presente nel ruolo di collaboratore.
Autorizzazione per l'identità gestita della risorsa Condivisione dati per accedere al pool SQL dell'area di lavoro Synapse:
Nella portale di Azure passare all'area di lavoro di Synapse.
Selezionare Amministratore di SQL Active Directory nel riquadro di spostamento sinistro e impostare se stessi come amministratore di Microsoft Entra.
Aprire Synapse Studio e selezionare Gestisci nel riquadro di spostamento sinistro. Selezionare Controllo di accesso in Sicurezza. Assegnare a se stessi il ruolo di amministratore sql o amministratore dell'area di lavoro.
In Synapse Studio selezionare Sviluppo nel riquadro di spostamento sinistro. Eseguire lo script seguente nel pool SQL per aggiungere l'identità gestita di risorse Condivisione dati come 'db_datareader, db_datawriter, db_ddladmin'.
create user "<share_acc_name>" from external provider; exec sp_addrolemember db_datareader, "<share_acc_name>"; exec sp_addrolemember db_datawriter, "<share_acc_name>"; exec sp_addrolemember db_ddladmin, "<share_acc_name>";
Nota
Il <share_acc_name> è il nome della risorsa Condivisione dati.
Accesso al firewall dell'area di lavoro di Synapse:
- Nella portale di Azure passare all'area di lavoro di Synapse. Selezionare Firewall nel riquadro di spostamento sinistro.
- Selezionare SÌ per Consenti ai servizi e alle risorse di Azure di accedere a questa area di lavoro.
- Selezionare +Aggiungi IP client. L'indirizzo IP client è soggetto a modifiche. Questo processo potrebbe essere necessario ripetere la prossima volta che si condividono i dati SQL da portale di Azure.
- Seleziona Salva.
Per altre informazioni sulla condivisione da e verso Azure Synapse Analytics, vedere l'articolo condividere e ricevere dati da Azure Synapse Analytics.
Assegnare manualmente le autorizzazioni di istanza gestita
Se un utente dispone di autorizzazioni Microsoft.Authorization/role assignments/write in un archivio dati di origine o di destinazione, assegnerà automaticamente l'identità gestita di Azure Condivisione dati le autorizzazioni necessarie per l'autenticazione con l'archivio dati. È anche possibile assegnare manualmente le autorizzazioni di identità gestite.
Se si sceglie di assegnare manualmente le autorizzazioni, assegnare queste autorizzazioni all'identità gestita della risorsa Condivisione dati di Azure in base all'origine e all'azione:
Tipo di archivio dati | archivio dati di origine provider di dati | Archivio dati di destinazione consumer di dati |
---|---|---|
Archiviazione BLOB di Azure | Lettore dei dati del BLOB di archiviazione | Collaboratore dati BLOB di archiviazione |
Azure Data Lake Gen1 | Proprietario | Non supportato |
Azure Data Lake Gen2 | Lettore dei dati del BLOB di archiviazione | Collaboratore dati BLOB di archiviazione |
Database SQL di Microsoft Azure | db_datareader | db_datareader, db_datawriter, db_ddladmin |
Azure Synapse Analytics | db_datareader | db_datareader, db_datawriter, db_ddladmin |
Esempio di provider di dati
Quando si condividono dati da un account di archiviazione, all'identità gestita della risorsa di condivisione dati viene concesso il ruolo lettore di dati BLOB Archiviazione.
Questa operazione viene eseguita automaticamente dal servizio azure Condivisione dati quando l'utente aggiunge il set di dati tramite portale di Azure e l'utente è proprietario dell'archivio dati di Azure oppure è membro di un ruolo personalizzato con l'autorizzazione Microsoft.Authorization/role assignments/write assegnata.
In alternativa, l'utente può avere il proprietario dell'archivio dati di Azure aggiungere manualmente l'identità gestita della risorsa di condivisione dati all'archivio dati di Azure. Questa azione deve essere eseguita una sola volta per ogni risorsa di condivisione dati.
Per creare manualmente un'assegnazione di ruolo per l'identità gestita della risorsa di condivisione dati, seguire questa procedura:
Passare all'archivio dati di Azure.
Seleziona Controllo di accesso (IAM).
Selezionare Aggiungi assegnazione > di ruolo.
Nella scheda Ruolo selezionare uno dei ruoli elencati nella tabella delle assegnazioni di ruolo nella sezione precedente.
Nella scheda Membri selezionare Identità gestita e quindi selezionare Seleziona membri.
Seleziona la tua sottoscrizione di Azure.
Selezionare Identità gestita assegnata dal sistema, cercare la risorsa Condivisione dati di Azure e quindi selezionarla.
Nella scheda Rivedi e assegna selezionare Rivedi e assegna per assegnare il ruolo.
Per altre informazioni sulle assegnazioni di ruolo, vedere Assegnare ruoli di Azure usando il portale di Azure. Se si condividono i dati usando le API REST, è possibile creare un'assegnazione di ruolo usando l'API facendo riferimento a Assegnare ruoli di Azure usando l'API REST.
Per la condivisione basata su snapshot SQL, è necessario creare un utente SQL da un provider esterno in database SQL con lo stesso nome della risorsa di Azure Condivisione dati durante la connessione al database SQL usando l'autenticazione Microsoft Entra. A questo utente deve essere concessa l'autorizzazione db_datareader . Uno script di esempio insieme ad altri prerequisiti per la condivisione basata su SQL è disponibile nell'esercitazione Condividi da database SQL di Azure o Azure Synapse Analytics.
Esempio di consumer di dati
Per ricevere i dati nell'account di archiviazione, all'identità gestita della risorsa di condivisione dati consumer deve essere concesso l'accesso all'account di archiviazione di destinazione. All'identità gestita della risorsa di condivisione dati deve essere concesso il ruolo collaboratore ai dati BLOB di Archiviazione. Questa operazione viene eseguita automaticamente dal servizio Azure Condivisione dati se l'utente specifica un account di archiviazione di destinazione tramite portale di Azure e l'utente dispone dell'autorizzazione appropriata. Ad esempio, l'utente è un proprietario dell'account di archiviazione o è membro di un ruolo personalizzato con l'autorizzazione Microsoft.Authorization/role assignments/write assegnata.
In alternativa, l'utente può avere il proprietario dell'account di archiviazione aggiungere manualmente l'identità gestita della risorsa di condivisione dati all'account di archiviazione. Questa azione deve essere eseguita una sola volta per ogni risorsa di condivisione dati. Per creare manualmente un'assegnazione di ruolo per l'identità gestita della risorsa di condivisione dati, seguire questa procedura.
Passare all'archivio dati di Azure.
Seleziona Controllo di accesso (IAM).
Selezionare Aggiungi assegnazione > di ruolo.
Nella scheda Ruolo selezionare uno dei ruoli elencati nella tabella delle assegnazioni di ruolo nella sezione precedente. Ad esempio, per un account di archiviazione, selezionare Archiviazione lettore di dati BLOB.
Nella scheda Membri selezionare Identità gestita e quindi selezionare Seleziona membri.
Seleziona la tua sottoscrizione di Azure.
Selezionare Identità gestita assegnata dal sistema, cercare la risorsa Condivisione dati di Azure e quindi selezionarla.
Nella scheda Rivedi e assegna selezionare Rivedi e assegna per assegnare il ruolo.
Per altre informazioni sulle assegnazioni di ruolo, vedere Assegnare ruoli di Azure usando il portale di Azure. Se si ricevono dati usando le API REST, è possibile creare un'assegnazione di ruolo usando l'API facendo riferimento ad Assegnare ruoli di Azure usando l'API REST.
Per la destinazione basata su SQL, è necessario creare un utente SQL da un provider esterno in database SQL con lo stesso nome della risorsa di Azure Condivisione dati durante la connessione al database SQL usando l'autenticazione Microsoft Entra. A questo utente deve essere concessa l'autorizzazione db_datareader, db_datawriter db_ddladmin . Uno script di esempio insieme ad altri prerequisiti per la condivisione basata su SQL è disponibile nell'esercitazione Condividi da database SQL di Azure o Azure Synapse Analytics.
Registrazione del provider di risorse
Potrebbe essere necessario registrare manualmente il provider di risorse Microsoft.DataShare nella sottoscrizione di Azure negli scenari seguenti:
- Visualizzare l'invito di Azure Condivisione dati per la prima volta nel tenant di Azure
- Condividere dati da un archivio dati di Azure in una sottoscrizione di Azure diversa dalla risorsa di azure Condivisione dati
- Ricevere dati in un archivio dati di Azure in una sottoscrizione di Azure diversa dalla risorsa di Azure Condivisione dati
Seguire questa procedura per registrare il provider di risorse Microsoft.DataShare nella sottoscrizione di Azure. Per registrare il provider di risorse, è necessario l'accesso collaboratore alla sottoscrizione di Azure.
- Nel portale di Azure, andare su Sottoscrizioni.
- Selezionare la sottoscrizione usata per Azure Condivisione dati.
- Selezionare Provider di risorse.
- Cercare Microsoft.DataShare.
- Selezionare Registra.
Per altre informazioni sul provider di risorse, vedere Provider e tipi di risorse di Azure.
Ruoli personalizzati per Condivisione dati
In questa sezione vengono descritti i ruoli e le autorizzazioni personalizzati necessari all'interno dei ruoli personalizzati per la condivisione e la ricezione di dati, specifici di un account Archiviazione. Esistono anche prerequisiti indipendenti dal ruolo personalizzato o dal ruolo di Azure Condivisione dati.
Prerequisiti per Condivisione dati, oltre al ruolo personalizzato
- Per la condivisione basata su snapshot di data lake e archiviazione, per aggiungere un set di dati in Azure Condivisione dati, all'identità gestita della risorsa di condivisione dati del provider deve essere concesso l'accesso all'archivio dati di Azure di origine. Ad esempio, se si usa un account di archiviazione, all'identità gestita della risorsa di condivisione dati viene concesso il ruolo lettore di dati BLOB Archiviazione.
- Per ricevere i dati in un account di archiviazione, all'identità gestita della risorsa di condivisione dati consumer deve essere concesso l'accesso all'account di archiviazione di destinazione. All'identità gestita della risorsa di condivisione dati deve essere concesso il ruolo collaboratore ai dati BLOB Archiviazione.
- Potrebbe anche essere necessario registrare manualmente il provider di risorse Microsoft.DataShare nella sottoscrizione di Azure per alcuni scenari. Per informazioni dettagliate, vedere la sezione Registrazione del provider di risorse di questo articolo.
Creare ruoli personalizzati e autorizzazioni necessarie
I ruoli personalizzati possono essere creati in una sottoscrizione o in un gruppo di risorse per la condivisione e la ricezione di dati. Gli utenti e i gruppi possono quindi essere assegnati al ruolo personalizzato.
- Per creare un ruolo personalizzato, sono necessarie azioni per Archiviazione, Condivisione dati, gruppo di risorse e autorizzazione. Vedere il documento sulle operazioni del provider di risorse di Azure per Condivisione dati per comprendere i diversi livelli di autorizzazioni e scegliere quelli pertinenti per il ruolo personalizzato.
- In alternativa, è possibile usare il portale di Azure per passare a IAM, Ruolo personalizzato, Aggiungi autorizzazioni, Ricerca, cercare le autorizzazioni Microsoft.DataShare per visualizzare l'elenco delle azioni disponibili.
- Per altre informazioni sull'assegnazione di ruolo personalizzata, vedere Ruoli personalizzati di Azure. Dopo aver ottenuto il ruolo personalizzato, testarlo per verificare che funzioni come previsto.
Di seguito viene illustrato un esempio di come le azioni necessarie verranno elencate nella visualizzazione JSON per un ruolo personalizzato da condividere e ricevere dati.
{
"Actions": [
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Storage/storageAccounts/blobServices/containers/read",
"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action",
"Microsoft.Storage/storageAccounts/listkeys/action",
"Microsoft.DataShare/accounts/read",
"Microsoft.DataShare/accounts/providers/Microsoft.Insights/metricDefinitions/read",
"Microsoft.DataShare/accounts/shares/listSynchronizations/action",
"Microsoft.DataShare/accounts/shares/synchronizationSettings/read",
"Microsoft.DataShare/accounts/shares/synchronizationSettings/write",
"Microsoft.DataShare/accounts/shares/synchronizationSettings/delete",
"Microsoft.DataShare/accounts/shareSubscriptions/*",
"Microsoft.DataShare/listInvitations/read",
"Microsoft.DataShare/locations/rejectInvitation/action",
"Microsoft.DataShare/locations/consumerInvitations/read",
"Microsoft.DataShare/locations/operationResults/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/resourcegroups/resources/read",
"Microsoft.Authorization/roleAssignments/read",
]
}
Passaggi successivi
- Altre informazioni sui ruoli in Azure - Informazioni sulle definizioni dei ruoli di Azure