Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive ruoli e autorizzazioni necessari per condividere e ricevere dati usando il servizio Condivisione dati di Azure.
Ruoli e requisiti
Con il servizio Condivisione dati di Azure è possibile condividere i dati senza scambiare credenziali tra provider di dati e consumer. Per la condivisione basata su snapshot, il servizio Condivisione dati di Azure 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 deve disporre di queste autorizzazioni:
- Autorizzazioni dell'account di condivisione dati: Collaboratore
- Gruppo di risorse di archiviazione: Lettore (Le autorizzazioni di lettura per il gruppo di risorse in cui si trovano gli account di archiviazione o i database consentono di individuarli nel portale.)
- Autorizzazioni di origine, a seconda dell'origine:
Condivisione di data lake e archiviazione
| 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 di archiviazione** | **In alternativa, è possibile creare un ruolo personalizzato con le azioni di archiviazione necessarie | |
| Ricevere dati | Collaboratore Account di archiviazione** | **In alternativa, è possibile creare un ruolo personalizzato con le azioni di archiviazione necessarie | ||
| Assegnazione automatica delle autorizzazioni MI per la condivisione | Ruolo con Microsoft.Authorization/assegnazioni di ruolo/scrittura* | Facoltativo. Invece, è possibile assegnare manualmente le autorizzazioni MI. | ||
| Assegnazione automatica delle autorizzazioni MI per la ricezione | Ruolo con Microsoft.Authorization/assegnazioni di ruolo/scrittura* | Facoltativo. Invece, è possibile assegnare manualmente le autorizzazioni MI. | ||
| Azure Data Lake Gen 1 | Condividere dati | Accedere e scrivere autorizzazioni per i file da condividere. | ||
| Ricevere dati | Non supportato | |||
| Assegnazione automatica delle autorizzazioni MI per la condivisione | Ruolo con Microsoft.Authorization/assegnazioni di ruolo/scrittura* | Facoltativo. Invece, è possibile assegnare manualmente le autorizzazioni MI. | ||
| Assegnazione automatica delle autorizzazioni MI per la ricezione | Non supportato. | |||
| Azure Data Lake Gen 2 | Condividere dati | Collaboratore Account di archiviazione** | **In alternativa, è possibile creare un ruolo personalizzato con le azioni di archiviazione necessarie | |
| Ricevere dati | Collaboratore Account di archiviazione** | **In alternativa, è possibile creare un ruolo personalizzato con le azioni di archiviazione necessarie | ||
| Assegnazione automatica delle autorizzazioni MI per la condivisione | Ruolo con Microsoft.Authorization/assegnazioni di ruolo/scrittura* | Facoltativo. Invece, è possibile assegnare manualmente le autorizzazioni MI. | ||
| Assegnazione automatica delle autorizzazioni MI per la ricezione | Ruolo con Microsoft.Authorization/assegnazioni di ruolo/scrittura* | Facoltativo. Invece, è possibile assegnare manualmente le autorizzazioni MI. |
* Questa autorizzazione è presente nel ruolo Proprietario.
Per altre informazioni sulla condivisione con e da archiviazione di Azure, vedere l'articolo sulla condivisione e la ricezione dei dati da Archiviazione BLOB di Azure e Azure Data Lake Storage.
Partizionamento orizzontale dei database SQL
Per condividere dati da SQL, è possibile usare:
Per ricevere dati in SQL, è necessario assegnare autorizzazioni per ricevere i dati.
Autenticazione Microsoft Entra per la condivisione
Questi prerequisiti coprono l'autenticazione necessaria in modo che Condivisione dati di Azure possa 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 SQL Server per l'amministratore di Microsoft Entra.
- Accesso al firewall di SQL Server:
- Nel portale di Azure passare al server SQL. Selezionare Firewall e reti virtuali nel menu di navigazione a sinistra.
- Selezionare Sì per Consenti alle risorse e ai servizi 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 scrivere 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 Azure per l'accesso al database:
Nel portale di Azure passare a SQL Server e impostare se stessi come Microsoft Entra Admin.
Connettersi al database SQL di Azure/Data Warehouse usando l'editor di query o SQL Server Management Studio con l'autenticazione Microsoft Entra.
Esegui lo script seguente per aggiungere l'identità gestita della risorsa Condivisione dati come db_datareader. Connettersi 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
<share_acc_name> è il nome della risorsa Condivisione dati.
Un utente di Database SQL di Azure con accesso 'db_datareader' per individuare e selezionare le tabelle o le viste da condividere.
Accesso al firewall di SQL Server:
- Nel portale di Azure passare a SQL Server. Selezionare Firewall e reti virtuali nel menu di navigazione a sinistra.
- Selezionare Sì per Consenti alle risorse e ai servizi 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 è amministratore di Microsoft Entra del server SQL, completare questi prerequisiti prima di accettare una condivisione dati:
- Un database SQL di Azure o Azure Synapse Analytics (precedentemente Azure SQL DW).
- Autorizzazione per scrivere nei database in SQL Server: Microsoft.Sql/servers/databases/write. Questa autorizzazione è presente nel ruolo di collaboratore.
- Accesso al firewall di SQL Server:
- Nel portale di Azure passare al server SQL. Selezionare Firewall e reti virtuali nel menu di navigazione a sinistra.
- Selezionare Sì per Consenti alle risorse e ai servizi 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 per il quale non sei l'amministratore di Microsoft Entra, completa i prerequisiti seguenti prima di accettare una condivisione di dati:
Puoi seguire il video dimostrativo passo passo oppure i passaggi riportati di seguito per configurare i prerequisiti.
Un database SQL di Azure o Azure Synapse Analytics (precedentemente Azure SQL DW).
Autorizzazione per scrivere nei database in SQL Server: Microsoft.Sql/servers/databases/write. Questa autorizzazione è presente nel ruolo di collaboratore.
Autorizzazione per consentire all'identità gestita della risorsa Condivisione dati di accedere a Database di Azure SQL o ad Azure Synapse Analytics:
Nel portale di Azure passare a SQL Server e impostare se stessi come Microsoft Entra Admin.
Connettersi al database SQL di Azure/Data Warehouse usando l'editor di query o SQL Server Management Studio con l'autenticazione 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
<share_acc_name> è il nome della risorsa Condivisione dati.
Accesso al firewall di SQL Server:
- Nel portale di Azure passare a SQL Server e selezionare Firewall e reti virtuali.
- Selezionare Sì per Consenti alle risorse e ai servizi 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 SQL di Azure, vedere l'articolo condividere e ricevere dati dal database SQL di Azure.
Condivisione di Azure Synapse Analytics
Condividi
Autorizzazione per scrivere 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 nell'area di lavoro Synapse:
Nel portale di Azure passare all'area di lavoro di Synapse. Selezionare SQL Active Directory admin nel riquadro di spostamento a sinistra e impostarsi come Microsoft Entra admin.
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 Sviluppare nel riquadro di spostamento a sinistra in Synapse Studio. Eseguire lo script seguente nel pool SQL per aggiungere l'identità gestita della risorsa Condivisione dati come db_datareader.
create user "<share_acct_name>" from external provider; exec sp_addrolemember db_datareader, "<share_acct_name>";Nota
<share_acc_name> è il nome della risorsa Condivisione dati.
Accesso al firewall dell'area di lavoro di Synapse:
- Nel portale di Azure passare all'area di lavoro di Synapse. Seleziona Firewalls nella barra di navigazione a sinistra.
- Selezionare Sì per Consenti alle risorse e ai servizi 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.
Ricevi
Un pool SQL dedicato di Azure Synapse Analytics (area di lavoro). La ricezione di dati nel pool SQL serverless non è attualmente supportata.
Autorizzazione per scrivere 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 ad accedere al pool SQL dell'area di lavoro di Synapse:
Nel portale di Azure passare all'area di lavoro di Synapse.
Seleziona SQL Active Directory admin nel menu di navigazione a sinistra e impostati come amministratore di Microsoft Entra.
Apri Synapse Studio, seleziona Gestisci nella barra 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.
In Synapse Studio, selezionare Sviluppo nella barra di navigazione a sinistra. Eseguire lo script seguente nel pool SQL per aggiungere l'identità gestita della risorsa 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
<share_acc_name> è il nome della risorsa Condivisione dati.
Accesso al firewall dell'area di lavoro di Synapse:
- Nel portale di Azure passare all'area di lavoro di Synapse. Seleziona Firewalls nella barra di navigazione a sinistra.
- Selezionare Sì per Consenti alle risorse e ai servizi di Azure di accedere a questa area di lavoro.
- Selezionare +Aggiungi IP client. L'indirizzo IP client è soggetto a modifiche. Potrebbe essere necessario ripetere questo processo la volta successiva che si condividono i dati SQL dal 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 MI
Se un utente dispone delle autorizzazioni Microsoft.Authorization/role assignments/write in un archivio dati di origine o di destinazione, all'identità gestita di Condivisione dati di Azure verranno assegnate automaticamente le autorizzazioni necessarie per autenticarsi 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 di Condivisione dati di Azure in base all'origine e all'azione:
| Tipo di archivio dati | Archivio dati dell'origine del provider di dati | Archivio dati di destinazione del consumatore di dati |
|---|---|---|
| Archiviazione BLOB di Azure | Lettore dati BLOB di archiviazione | Collaboratore ai dati del BLOB di archiviazione |
| Azure Data Lake Gen1 | Proprietario | Non supportato |
| Azure Data Lake Gen2 | Lettore dati BLOB di archiviazione | Collaboratore ai dati del BLOB di archiviazione |
| Database SQL di Azure | db_datareader | db_datareader, db_datawriter, db_ddladmin |
| Azure Synapse Analytics | db_datareader | db_datareader, db_datawriter, db_ddladmin |
Esempio di fornitore di dati
Quando si condividono dati da un account di archiviazione, all'identità gestita della risorsa di condivisione dei dati viene concesso il ruolo Storage Blob Data Reader.
Questa operazione viene eseguita automaticamente dal servizio Condivisione dati di Azure quando l'utente aggiunge il set di dati tramite il portale di Azure e l'utente è un 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 > 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 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'APIREST.
Per la condivisione basata su snapshot SQL, è necessario creare un utente SQL da un provider esterno nel database SQL con lo stesso nome della risorsa condivisione dati di Azure 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 Condivisione da database SQL di Azure o Azure Synapse Analytics.
Esempio di consumatore 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 assegnato il ruolo Storage Blob Data Contributor. Questa operazione viene eseguita automaticamente dal servizio Condivisione dati di Azure se l'utente specifica un account di archiviazione di destinazione tramite il 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ò chiedere al proprietario dell'account di archiviazione di 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 > 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 Storage Blob Data Reader.
Nella scheda Membri selezionare Identità gestita e quindi 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 una destinazione basata su SQL, è necessario creare in SQL Database un utente SQL da un provider esterno con lo stesso nome della risorsa Condivisione dati di Azure, quando ci si connette a SQL Database 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 Condivisione 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 alla condivisione dati di Azure per la prima volta nel tenant di Azure
- Condividere dati da un archivio dati di Azure in una sottoscrizione di Azure diversa dalla risorsa condivisione dati di Azure
- Ricezione di dati in un archivio dati di Azure in una sottoscrizione di Azure diversa da quella della risorsa Condivisione dati di Azure
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 Condivisione dati di Azure.
- Seleziona Provider di risorse.
- Cerca 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 di archiviazione. Esistono anche prerequisiti indipendenti dal ruolo personalizzato o dal ruolo condivisione dati di Azure.
Prerequisiti per condivisione dati, oltre al ruolo personalizzato
- Per la condivisione basata su snapshot di archiviazione e data lake, per aggiungere un set di dati in Condivisione dati di Azure, 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 dati BLOB di archiviazione.
- Per ricevere i dati in un account di archiviazione, l'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 assegnato il ruolo Storage Blob Data Contributor.
- 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, Cerca, 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. Una volta creato il ruolo personalizzato, testarlo per verificare che funzioni nel modo previsto.
Di seguito viene mostrato un esempio di come le azioni richieste saranno elencate nella vista JSON per un ruolo personalizzato per 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",
]
}
Contenuto correlato
Altre informazioni sui ruoli in Azure - Comprendere le definizioni dei ruoli di Azure