Condividi tramite


Ruoli e requisiti per Condivisione dati di Azure

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 dovrà disporre di queste autorizzazioni:

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
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 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
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 è presente 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 Storage.

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 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 amministratore di Microsoft Entra di SQL Server.
  • Accesso al firewall di SQL Server:
    1. Nel portale di Azure passare al server SQL. Selezionare Firewall e reti virtuali nel riquadro di spostamento sinistro.
    2. Selezionare per Consenti alle risorse e ai servizi di Azure di accedere a questo server.
    3. 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.
    4. 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 di Azure per l'accesso al database:

    1. Nel portale di Azure passare a SQL Server e impostare se stessi come Microsoft Entra Admin.

    2. Connettersi al database SQL di Azure/Data Warehouse usando l'editor di query o SQL Server Management Studio con l'autenticazione Microsoft Entra.

    3. Eseguire 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:

    1. Nel portale di Azure passare a SQL Server. Selezionare Firewall e reti virtuali nel riquadro di spostamento sinistro.
    2. Selezionare per Consenti alle risorse e ai servizi di Azure di accedere a questo server.
    3. 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.
    4. 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'istanza di Database SQL di Azure o di Azure Synapse Analytics (in precedenza SQL Data Warehouse).
  • 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:
    1. Nel portale di Azure passare al server SQL. Selezionare Firewall e reti virtuali nel riquadro di spostamento sinistro.
    2. Selezionare per Consenti alle risorse e ai servizi di Azure di accedere a questo server.
    3. 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.
    4. Seleziona Salva.

Per un server SQL in cui non si è l'amministratore di Microsoft Entra, completare questi prerequisiti prima di accettare una condivisione dati:

Per configurare i prerequisiti, è possibile seguire la demo dettagliata.

  • Un'istanza di Database SQL di Azure o di Azure Synapse Analytics (in precedenza SQL Data Warehouse).

  • 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 per l'accesso a Database SQL di Azure o ad Azure Synapse Analytics:

    1. Nel portale di Azure passare a SQL Server e impostare se stessi come Microsoft Entra Admin.

    2. Connettersi al database SQL di Azure/Data Warehouse usando l'editor di query o SQL Server Management Studio con l'autenticazione Microsoft Entra.

    3. 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:

    1. Nel portale di Azure passare a SQL Server e selezionare Firewall e reti virtuali.
    2. Selezionare per Consenti alle risorse e ai servizi di Azure di accedere a questo server.
    3. 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.
    4. 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 Analisi di Azure Synapse

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 l'accesso al pool SQL dell'area di lavoro di Synapse:

    1. Nel 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.

    2. 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.

    3. 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:

    1. Nel portale di Azure passare all'area di lavoro di Synapse. Selezionare Firewall nel riquadro di spostamento sinistro.
    2. Selezionare per Consenti alle risorse e ai servizi di Azure di accedere a questa area di lavoro.
    3. 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.
    4. 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 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 l'accesso al pool SQL dell'area di lavoro di Synapse:

    1. Nel portale di Azure passare all'area di lavoro di Synapse.

    2. Selezionare Amministratore di SQL Active Directory nel riquadro di spostamento sinistro e impostare se stessi come amministratoredi Microsoft Entra.

    3. 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.

    4. In Synapse Studio selezionare Sviluppo nel riquadro di spostamento sinistro. 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:

    1. Nel portale di Azure passare all'area di lavoro di Synapse. Selezionare Firewall nel riquadro di spostamento sinistro.
    2. Selezionare per Consenti alle risorse e ai servizi di Azure di accedere a questa area di lavoro.
    3. 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.
    4. 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 Condivisione dati di Azure 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 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 consumer di dati
Archiviazione BLOB di Azure Lettore dei dati del BLOB di archiviazione Collaboratore ai dati del BLOB di archiviazione
Azure Data Lake Gen1 Proprietario Non supportato
Azure Data Lake Gen2 Lettore dei dati del 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 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 dati BLOB di archiviazione.

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:

  1. Passare all'archivio dati di Azure.

  2. Seleziona Controllo di accesso (IAM).

  3. Selezionare Aggiungi > Aggiungi assegnazione di ruolo.

    Screenshot che mostra la pagina Controllo di accesso (IAM) con il menu Aggiungi assegnazione di ruolo aperto.

  4. Nella scheda Ruolo selezionare uno dei ruoli elencati nella tabella delle assegnazioni di ruolo nella sezione precedente.

  5. Nella scheda Membri selezionare Identità gestita e quindi Seleziona membri.

  6. Seleziona la tua sottoscrizione di Azure.

  7. Selezionare Identità gestita assegnata dal sistema, cercare la risorsa condivisione dati di Azure e quindi selezionarla.

  8. 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 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 concessa il ruolo collaboratore ai dati dei BLOB di archiviazione. 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.

  1. Passare all'archivio dati di Azure.

  2. Seleziona Controllo di accesso (IAM).

  3. Selezionare Aggiungi > Aggiungi assegnazione di ruolo.

    Screenshot che mostra la pagina Controllo di accesso (IAM) con il menu Aggiungi assegnazione di ruolo aperto.

  4. 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 Lettore dati BLOB di archiviazione.

  5. Nella scheda Membri selezionare Identità gestita e quindi Seleziona membri.

  6. Seleziona la tua sottoscrizione di Azure.

  7. Selezionare Identità gestita assegnata dal sistema, cercare la risorsa condivisione dati di Azure e quindi selezionarla.

  8. 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 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, 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
  • Ricevere dati in un archivio dati di Azure in una sottoscrizione di Azure diversa dalla 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.

  1. Nel portale di Azure, andare su Sottoscrizioni.
  2. Selezionare la sottoscrizione usata per Condivisione dati di Azure.
  3. Selezionare Provider di risorse.
  4. Cercare Microsoft.DataShare.
  5. 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 data lake e archiviazione, 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, 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 dati BLOB di 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, 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", 
 ] 
}

Passaggi successivi