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:

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:
    1. Nella portale di Azure passare al server SQL. Selezionare Firewall e reti virtuali nel riquadro di spostamento sinistro.
    2. Selezionare per Consenti ai servizi e alle risorse 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 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:

    1. Nella portale di Azure passare a SQL Server e impostarsi come Microsoft Entra Amministrazione.

    2. Connessione all'database SQL di Azure/Data Warehouse usando il Editor di query o SQL Server Management Studio con l'autenticazione Di Microsoft Entra.

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

    1. Nella portale di Azure passare a SQL Server. Selezionare Firewall e reti virtuali nel riquadro di spostamento sinistro.
    2. Selezionare per Consenti ai servizi e alle risorse 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 è 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:
    1. Nella portale di Azure passare al server SQL. Selezionare Firewall e reti virtuali nel riquadro di spostamento sinistro.
    2. Selezionare per Consenti ai servizi e alle risorse 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:

È 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:

    1. Nella portale di Azure passare a SQL Server e impostarsi come Microsoft Entra Amministrazione.

    2. Connessione all'database SQL di Azure/Data Warehouse usando il Editor di query o SQL Server Management Studio con l'autenticazione Di 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

      Il <share_acc_name> è il nome della risorsa Condivisione dati.

  • Accesso al firewall di SQL Server:

    1. Nella portale di Azure passare a SQL Server e selezionare Firewall e reti virtuali.
    2. Selezionare per Consenti ai servizi e alle risorse 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 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:

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

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

    1. Nella portale di Azure passare all'area di lavoro di Synapse. Selezionare Firewall nel riquadro di spostamento sinistro.
    2. Selezionare per Consenti ai servizi e alle risorse 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 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:

    1. Nella 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 amministratore di 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 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:

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

  1. Passare all'archivio dati di Azure.

  2. Seleziona Controllo di accesso (IAM).

  3. Selezionare Aggiungi assegnazione > di ruolo.

    Screenshot that shows Access control (IAM) page with Add role assignment menu open.

  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 selezionare 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'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.

  1. Passare all'archivio dati di Azure.

  2. Seleziona Controllo di accesso (IAM).

  3. Selezionare Aggiungi assegnazione > di ruolo.

    Screenshot that shows Access control (IAM) page with Add role assignment menu open.

  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 Archiviazione lettore di dati BLOB.

  5. Nella scheda Membri selezionare Identità gestita e quindi selezionare 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 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.

  1. Nel portale di Azure, andare su Sottoscrizioni.
  2. Selezionare la sottoscrizione usata per Azure Condivisione dati.
  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 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