Roller och krav för Azure Data Share

Den här artikeln beskriver roller och behörigheter som krävs för att dela och ta emot data med hjälp av Azure Data Share-tjänsten.

Roller och krav

Med Azure Data Share-tjänsten kan du dela data utan att utbyta autentiseringsuppgifter mellan dataleverantör och konsument. För ögonblicksbildbaserad delning använder Azure Data Share-tjänsten hanterade identiteter (tidigare kallade MSI:er) för att autentisera till Azure Data Store.

För att skapa resurser i Azure Data-resursen behöver en användare följande behörigheter:

Delning av lagring och datasjö

Typ av datalager Åtgärd Roll i källdatalagret Roll i måldatalager Kommentar
Azure Blob Storage Dela data Lagringskontodeltagare** **I stället kan du skapa en anpassad roll med nödvändiga lagringsåtgärder
Ta emot data Lagringskontodeltagare** **I stället kan du skapa en anpassad roll med nödvändiga lagringsåtgärder
Tilldela MI-behörigheter automatiskt för att dela En roll med Microsoft.Authorization/role assignments/write* Valfritt. I stället kan du tilldela MI-behörigheterna manuellt.
Tilldela MI-behörigheter automatiskt för att ta emot En roll med Microsoft.Authorization/role assignments/write* Valfritt. I stället kan du tilldela MI-behörigheterna manuellt.
Azure Data Lake Gen 1 Dela data Åtkomst- och skrivbehörigheter för de filer som du vill dela.
Ta emot data Stöds inte
Tilldela MI-behörigheter automatiskt för att dela En roll med Microsoft.Authorization/role assignments/write* Valfritt. I stället kan du tilldela MI-behörigheterna manuellt.
Tilldela MI-behörigheter automatiskt för att ta emot Stöds ej.
Azure Data Lake Gen 2 Dela data Lagringskontodeltagare** **I stället kan du skapa en anpassad roll med nödvändiga lagringsåtgärder
Ta emot data Lagringskontodeltagare** **I stället kan du skapa en anpassad roll med nödvändiga lagringsåtgärder
Tilldela MI-behörigheter automatiskt för att dela En roll med Microsoft.Authorization/role assignments/write* Valfritt. I stället kan du tilldela MI-behörigheterna manuellt.
Tilldela MI-behörigheter automatiskt för att ta emot En roll med Microsoft.Authorization/role assignments/write* Valfritt. I stället kan du tilldela MI-behörigheterna manuellt.

* Den här behörigheten finns i rollen Ägare .

Mer information om delning till och från Azure Storage finns i artikeln om att dela och ta emot data från Azure Blob Storage och Azure Data Lake Storage.

SQL-databasdelning

Om du vill dela data från SQL kan du använda antingen:

Om du vill ta emot data till SQL måste du tilldela behörigheter för att ta emot data.

Microsoft Entra-autentisering att dela

Dessa krav omfattar den autentisering du behöver så att Azure Data Share kan ansluta till din Azure SQL Database:

  • Du behöver behörighet att skriva till databaserna på SQL Server: Microsoft.Sql/servers/databases/write. Den här behörigheten finns i deltagarrollen.
  • Sql Server Microsoft Entra-administratörsbehörigheter .
  • Åtkomst till SQL Server-brandväggen:
    1. Gå till DIN SQL-server i Azure-portalen. Välj Brandväggar och virtuella nätverk i det vänstra navigeringsfältet.
    2. Välj Ja för Tillåt att Azure-tjänster och resurser får åtkomst till den här servern.
    3. Välj +Lägg till klient-IP. Klientens IP-adress kan ändras, så du kan behöva lägga till din klient-IP igen nästa gång du delar data från portalen.
    4. Välj Spara.

SQL-autentisering att dela

Du kan följa demovideon steg för steg för att konfigurera autentisering eller slutföra var och en av dessa krav:

  • Behörighet att skriva till databaserna på SQL Server: Microsoft.Sql/servers/databases/write. Den här behörigheten finns i deltagarrollen.

  • Behörighet för Azure Data Share-resursens hanterade identitet att komma åt databasen:

    1. Gå till SQL-servern i Azure-portalen och ange dig själv som Microsoft Entra-administratör.

    2. Anslut till Azure SQL Database/Data Warehouse med hjälp av Power Query-redigeraren eller SQL Server Management Studio med Microsoft Entra-autentisering.

    3. Kör följande skript för att lägga till resurshanterad identitet för dataresurs som en db_datareader. Anslut med Hjälp av Active Directory och inte SQL Server-autentisering.

      create user "<share_acct_name>" from external provider;     
      exec sp_addrolemember db_datareader, "<share_acct_name>"; 
      

      Kommentar

      > Share_acc_name <är namnet på dataresursen.

  • En Azure SQL Database-användare med åtkomsten "db_datareader" för att navigera och välja de tabeller eller vyer som du vill dela.

  • Åtkomst till SQL Server-brandväggen:

    1. Gå till SQL-servern i Azure-portalen. Välj Brandväggar och virtuella nätverk i det vänstra navigeringsfältet.
    2. Välj Ja för Tillåt att Azure-tjänster och resurser får åtkomst till den här servern.
    3. Välj +Lägg till klient-IP. Klientens IP-adress kan ändras, så du kan behöva lägga till din klient-IP igen nästa gång du delar data från portalen.
    4. Välj Spara.

Autentisering som ska ta emot i SQL

För en SQL-server där du är Microsoft Entra-administratör för SQL-servern slutför du dessa krav innan du accepterar en dataresurs:

  • En Azure SQL Database eller Azure Synapse Analytics (tidigare Azure SQL DW).
  • Behörighet att skriva till databaserna på SQL Server: Microsoft.Sql/servers/databases/write. Den här behörigheten finns i deltagarrollen.
  • Åtkomst till SQL Server-brandväggen:
    1. Gå till DIN SQL-server i Azure-portalen. Välj Brandväggar och virtuella nätverk i det vänstra navigeringsfältet.
    2. Välj Ja för Tillåt att Azure-tjänster och resurser får åtkomst till den här servern.
    3. Välj +Lägg till klient-IP. Klientens IP-adress kan ändras, så du kan behöva lägga till din klient-IP igen nästa gång du delar data från portalen.
    4. Välj Spara.

För en SQL-server där du inteär Microsoft Entra-administratör slutför du dessa krav innan du accepterar en dataresurs:

Du kan följa demovideon steg för steg eller stegen nedan för att konfigurera förutsättningar.

  • En Azure SQL Database eller Azure Synapse Analytics (tidigare Azure SQL DW).

  • Behörighet att skriva till databaser på SQL-servern: Microsoft.Sql/servers/databases/write. Den här behörigheten finns i deltagarrollen.

  • Behörighet för dataresursens hanterade identitet för åtkomst till Azure SQL Database eller Azure Synapse Analytics:

    1. Gå till SQL-servern i Azure-portalen och ange dig själv som Microsoft Entra-administratör.

    2. Anslut till Azure SQL Database/Data Warehouse med hjälp av Power Query-redigeraren eller SQL Server Management Studio med Microsoft Entra-autentisering.

    3. Kör följande skript för att lägga till dataresursens hanterade identitet som en "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>";
      

      Kommentar

      > Share_acc_name <är namnet på dataresursen.

  • Åtkomst till SQL Server-brandväggen:

    1. I Azure-portalen går du till SQL-servern och väljer Brandväggar och virtuella nätverk.
    2. Välj Ja för Tillåt att Azure-tjänster och resurser får åtkomst till den här servern.
    3. Välj +Lägg till klient-IP. Klientens IP-adress kan ändras, så du kan behöva lägga till din klient-IP igen nästa gång du delar data från portalen.
    4. Välj Spara.

Mer information om delning till och från Azure SQL finns i artikeln om att dela och ta emot data från Azure SQL Database.

Delning av Azure Synapse Analytics

Andel

  • Behörighet att skriva till SQL-poolen i Synapse-arbetsytan: Microsoft.Synapse/workspaces/sqlPools/write. Den här behörigheten finns i deltagarrollen.

  • Behörighet för dataresursens hanterade identitet för åtkomst till Synapse-arbetsytans SQL-pool:

    1. I Azure-portalen navigerar du till din Synapse-arbetsyta. Välj SQL Active Directory-administratör i det vänstra navigeringsfältet och ange dig själv som Microsoft Entra-administratör.

    2. Öppna Synapse Studio och välj Hantera i det vänstra navigeringsfältet. Välj Åtkomstkontroll under Säkerhet. Tilldela dig själv rollen SQL-administratör eller arbetsyteadministratör .

    3. Välj Utveckla i det vänstra navigeringsfältet i Synapse Studio. Kör följande skript i SQL-poolen för att lägga till resurshanterad identitet för dataresurs som en db_datareader.

      create user "<share_acct_name>" from external provider;     
      exec sp_addrolemember db_datareader, "<share_acct_name>"; 
      

      Kommentar

      > Share_acc_name <är namnet på dataresursen.

  • Åtkomst till Synapse-arbetsytans brandvägg:

    1. Gå till Synapse-arbetsytan i Azure-portalen. Välj Brandväggar i det vänstra navigeringsfältet.
    2. Välj för Tillåt att Azure-tjänster och resurser får åtkomst till den här arbetsytan.
    3. Välj +Lägg till klient-IP. Klientens IP-adress kan ändras, så du kan behöva lägga till din klient-IP igen nästa gång du delar data från portalen.
    4. Välj Spara.

Ta emot

  • En dedikerad SQL-pool för Azure Synapse Analytics (arbetsyta). Det finns för närvarande inte stöd för att ta emot data till en serverlös SQL-pool.

  • Behörighet att skriva till SQL-poolen i Synapse-arbetsytan: Microsoft.Synapse/workspaces/sqlPools/write. Den här behörigheten finns i deltagarrollen.

  • Behörighet för dataresursens hanterade identitet för åtkomst till Synapse-arbetsytans SQL-pool:

    1. Gå till Synapse-arbetsytan i Azure-portalen.

    2. Välj SQL Active Directory-administratör i det vänstra navigeringsfältet och ange dig själv som Microsoft Entra-administratör.

    3. Öppna Synapse Studio och välj Hantera i det vänstra navigeringsfältet. Välj Åtkomstkontroll under Säkerhet. Tilldela dig själv rollen SQL-administratör eller arbetsyteadministratör .

    4. I Synapse Studio väljer du Utveckla i det vänstra navigeringsfältet. Kör följande skript i SQL-poolen för att lägga till resurshanterad identitet för dataresurs som en "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>";
      

      Kommentar

      > Share_acc_name <är namnet på dataresursen.

  • Åtkomst till Synapse-arbetsytans brandvägg:

    1. Gå till Synapse-arbetsytan i Azure-portalen. Välj Brandväggar i det vänstra navigeringsfältet.
    2. Välj för Tillåt att Azure-tjänster och resurser får åtkomst till den här arbetsytan.
    3. Välj +Lägg till klient-IP. Klientens IP-adress kan komma att ändras. Den här processen kan behöva upprepas nästa gång du delar SQL-data från Azure-portalen.
    4. Välj Spara.

Mer information om delning till och från Azure Synapse-analys finns i artikeln om att dela och ta emot data från Azure Synapse Analytics.

Tilldela MI-behörigheter manuellt

Om en användare har behörigheter för Microsoft.Authorization/role assignments/write på ett käll- eller måldatalager tilldelar den automatiskt Den hanterade identiteten för Azure Data Share de behörigheter som krävs för att autentisera med datalagret. Du kan också tilldela behörigheter för hanterad identitet manuellt.

Om du väljer att tilldela behörigheter manuellt tilldelar du dessa behörigheter till din Azure Data Share-resursens hanterade identitet baserat på källa och åtgärd:

Typ av datalager Dataproviderns källdatalager Data Consumer Target Data Store
Azure Blob Storage Storage Blob Data-läsare Storage Blob datadeltagare
Azure Data Lake Gen1 Ägare Stöds inte
Azure Data Lake Gen2 Storage Blob Data-läsare Storage Blob datadeltagare
Azure SQL Database db_datareader db_datareader, db_datawriter, db_ddladmin
Azure Synapse Analytics db_datareader db_datareader, db_datawriter, db_ddladmin

Exempel på dataprovider

När du delar data från ett lagringskonto beviljas dataresursens hanterade identitet rollen Storage Blob Data Reader .

Detta görs automatiskt av Azure Data Share-tjänsten när användaren lägger till datauppsättning via Azure-portalen och användaren är ägare till Azure-datalagret, eller är medlem i en anpassad roll som har tilldelats behörigheten Microsoft.Authorization/role assignments/write .

Alternativt kan användaren låta ägaren av Azure-datalagret lägga till dataresursens hanterade identitet i Azure-datalagret manuellt. Den här åtgärden behöver bara utföras en gång per dataresursresurs.

Använd följande steg för att skapa en rolltilldelning för dataresursens hanterade identitet manuellt:

  1. Navigera till Azure-datalagret.

  2. Välj Åtkomstkontroll (IAM) .

  3. Välj Lägg till lägg till > rolltilldelning.

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

  4. På fliken Roll väljer du en av rollerna som visas i rolltilldelningstabellen i föregående avsnitt.

  5. På fliken Medlemmar väljer du Hanterad identitet och väljer sedan Välj medlemmar.

  6. Välj din Azure-prenumerationen.

  7. Välj Systemtilldelad hanterad identitet, sök efter din Azure Data Share-resurs och välj den sedan.

  8. På fliken Granska + tilldela väljer du Granska + tilldela för att tilldela rollen.

Mer information om rolltilldelningar finns i Tilldela Azure-roller med hjälp av Azure-portalen. Om du delar data med HJÄLP av REST-API:er kan du skapa rolltilldelning med hjälp av API:et genom att referera till Tilldela Azure-roller med hjälp av REST-API:et.

För SQL-ögonblicksbildbaserad delning måste en SQL-användare skapas från en extern provider i SQL Database med samma namn som Azure Data Share-resursen vid anslutning till SQL-databasen med Hjälp av Microsoft Entra-autentisering. Den här användaren måste beviljas db_datareader behörighet. Ett exempelskript tillsammans med andra förutsättningar för SQL-baserad delning finns i självstudiekursen Dela från Azure SQL Database eller Azure Synapse Analytics .

Exempel på datakonsument

För att kunna ta emot data till lagringskontot måste den hanterade identiteten för konsumentdataresursen beviljas åtkomst till mållagringskontot. Dataresursens hanterade identitet måste beviljas rollen Storage Blob Data-deltagare . Detta görs automatiskt av Azure Data Share-tjänsten om användaren anger ett mållagringskonto via Azure-portalen och användaren har rätt behörighet. Användaren är till exempel ägare till lagringskontot eller är medlem i en anpassad roll som har tilldelats behörigheten Microsoft.Authorization/role assignments/write .

Alternativt kan användaren låta lagringskontots ägare lägga till dataresursens hanterade identitet till lagringskontot manuellt. Den här åtgärden behöver bara utföras en gång per dataresursresurs. Följ stegen nedan om du vill skapa en rolltilldelning för dataresursens hanterade identitet manuellt.

  1. Navigera till Azure-datalagret.

  2. Välj Åtkomstkontroll (IAM) .

  3. Välj Lägg till lägg till > rolltilldelning.

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

  4. På fliken Roll väljer du en av rollerna som visas i rolltilldelningstabellen i föregående avsnitt. För ett lagringskonto väljer du till exempel Lagringsblobdataläsare.

  5. På fliken Medlemmar väljer du Hanterad identitet och väljer sedan Välj medlemmar.

  6. Välj din Azure-prenumerationen.

  7. Välj Systemtilldelad hanterad identitet, sök efter din Azure Data Share-resurs och välj den sedan.

  8. På fliken Granska + tilldela väljer du Granska + tilldela för att tilldela rollen.

Mer information om rolltilldelningar finns i Tilldela Azure-roller med hjälp av Azure-portalen. Om du tar emot data med HJÄLP av REST-API:er kan du skapa rolltilldelning med hjälp av API:et genom att referera till Tilldela Azure-roller med hjälp av REST-API:et.

För SQL-baserade mål måste en SQL-användare skapas från en extern provider i SQL Database med samma namn som Azure Data Share-resursen vid anslutning till SQL-databas med Microsoft Entra-autentisering. Den här användaren måste beviljas db_datareader, db_datawriter db_ddladmin behörighet. Ett exempelskript tillsammans med andra förutsättningar för SQL-baserad delning finns i självstudiekursen Dela från Azure SQL Database eller Azure Synapse Analytics .

Registrering av resursprovider

Du kan behöva registrera resursprovidern Microsoft.DataShare manuellt i din Azure-prenumeration i följande scenarier:

  • Visa Azure Data Share-inbjudan för första gången i din Azure-klientorganisation
  • Dela data från ett Azure-datalager i en annan Azure-prenumeration än din Azure Data Share-resurs
  • Ta emot data till ett Azure-datalager i en annan Azure-prenumeration än din Azure Data Share-resurs

Följ de här stegen för att registrera resursprovidern Microsoft.DataShare i din Azure-prenumeration. Du behöver deltagaråtkomst till Azure-prenumerationen för att registrera resursprovidern.

  1. Gå till Prenumerationer i Azure-portalen.
  2. Välj den prenumeration som du använder för Azure Data Share.
  3. Välj på Resursprovidrar.
  4. Sök efter Microsoft.DataShare.
  5. Välj Registrera.

Mer information om resursprovider finns i Azure-resursprovidrar och -typer.

Anpassade roller för dataresurs

I det här avsnittet beskrivs anpassade roller och behörigheter som krävs i de anpassade rollerna för att dela och ta emot data, som är specifika för ett lagringskonto. Det finns också krav som är oberoende av anpassad roll eller Azure Data Share-roll.

Krav för dataresurs utöver anpassad roll

  • För lagring och ögonblicksbildsbaserad delning av datasjöar måste providerresursens hanterade identitet beviljas åtkomst till Azure-källdatalagret för att kunna lägga till en datauppsättning i Azure Data Share. Om du till exempel använder ett lagringskonto beviljas dataresursens hanterade identitet rollen Storage Blob Data Reader.
  • För att kunna ta emot data till ett lagringskonto måste den hanterade identiteten för konsumentdataresursen beviljas åtkomst till mållagringskontot. Dataresursens hanterade identitet måste beviljas rollen Storage Blob Data-deltagare.
  • Du kan också behöva registrera resursprovidern Microsoft.DataShare manuellt i din Azure-prenumeration för vissa scenarier. Mer information finns i avsnittet Resursproviderregistrering i den här artikeln.

Skapa anpassade roller och nödvändiga behörigheter

Anpassade roller kan skapas i en prenumeration eller resursgrupp för att dela och ta emot data. Användare och grupper kan sedan tilldelas den anpassade rollen.

  • För att skapa en anpassad roll krävs åtgärder för lagring, dataresurs, resursgrupp och auktorisering. Se dokumentet om åtgärder för Azure-resursprovider för Data Share för att förstå de olika behörighetsnivåerna och välja de som är relevanta för din anpassade roll.
  • Alternativt kan du använda Azure-portalen för att navigera till IAM, Anpassad roll, Lägg till behörigheter, Sök, söka efter Microsoft.DataShare-behörigheter för att se listan över tillgängliga åtgärder.
  • Mer information om tilldelning av anpassade roller finns i Anpassade Azure-roller. När du har din anpassade roll testar du den för att kontrollera att den fungerar som förväntat.

Följande visar ett exempel på hur nödvändiga åtgärder visas i JSON-vyn för en anpassad roll för att dela och ta emot data.

{
"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", 
 ] 
}

Nästa steg