Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln får du lära dig hur du styr åtkomsten till en Microsoft Azure Synapse-arbetsyta. Vi använder en kombination av Azure-roller, Azure Synapse-roller, SQL-behörigheter och Git-behörigheter för att uppnå detta.
I den här guiden konfigurerar du en arbetsyta och konfigurerar ett grundläggande åtkomstkontrollsystem. Du kan använda den här informationen i många typer av Synapse-projekt. Du hittar även avancerade alternativ för finkornig kontroll om du behöver den.
Synapse-åtkomstkontroll kan förenklas genom att roller och personas i din organisation justeras med säkerhetsgrupper. På så sätt kan du hantera åtkomst till säkerhetsgrupper genom att lägga till och ta bort användare.
Innan du börjar denna genomgång, läs Azure Synapse workspace access control-översikt för att bekanta dig med åtkomstkontrollmekanismer som används av Synapse Analytics.
Mekanismer för åtkomstkontroll
Obs!
Metoden i denna guide är att skapa säkerhetsgrupper. När du tilldelar roller till dessa säkerhetsgrupper behöver du endast hantera medlemskap inom dessa grupper för att styra åtkomst till arbetsytor.
Konfigurera följande objekt om du vill skydda en Synapse-arbetsyta:
- Säkerhetsgrupper för att gruppera användare med liknande åtkomstbehov.
- Azure-roller för att styra vem som kan skapa och hantera SQL-pooler, Apache Spark-pooler och Integration runtimes samt få åtkomst till ADLS Gen2-lagring.
- Synapse-roller används för att styra åtkomsten till publicerade kodartefakter, användning av Apache Spark-beräkningsresurser och integreringskörningar.
- SQL behörigheter för att kontrollera administrations- och dataplanåtkomst till SQL-pooler.
- Git-behörigheter för att styra vem som kan komma åt kodartefakter i källkontrollen om du konfigurerar Git-stöd för arbetsytor.
Steg för att säkra en Synapse-arbetsyta
Det här dokumentet använder standardnamn för att förenkla instruktionerna. Ersätt dem med valfria namn.
| Inställning | Standardnamn | Description |
|---|---|---|
| Synapse-arbetsyta | workspace1 |
Namnet som Azure Synapse-arbetsytan ska ha. |
| ADLSGEN2 konto | storage1 |
Det ADLS-konto som ska användas med din arbetsyta. |
| Behållare | container1 |
Containern i storage1 som arbetsytan ska använda som standard. |
| Microsoft Entra ID-klientorganisation | contoso |
Microsoft Entra ID-klientorganisationens namn. |
| Tjänsthuvudnamn | SERVICEPRINCIPAL |
Ett tjänsthuvudnamn i din Microsoft Entra ID-klientorganisation. |
Steg 1: Konfigurera säkerhetsgrupper
Tips
Använd detaljerade alternativ för att kontrollera åtkomsten till din arbetsyta. Ge utvecklare tillgång till individuella resurser istället för en hel arbetsyta. Mer information om Synapse RBAC finns i Vad är Synapse rollbaserad åtkomststyrning (RBAC)?
Skapa följande säkerhetsgrupper för din arbetsyta:
-
workspace1_SynapseAdministrators, för användare som behöver fullständig kontroll över en arbetsyta. Lägg till dig själv i den här säkerhetsgruppen, åtminstone inledningsvis. -
workspace1_SynapseContributors, för utvecklare som behöver utveckla, felsöka och driftsätta kod till en tjänst. -
workspace1_SynapseComputeOperators, för användare som behöver hantera och övervaka Apache Spark-pooler och integreringsruntimes. -
workspace1_SynapseCredentialUsers, för användare som behöver felsöka och köra orkestreringspipelines med autentiseringsuppgifter för arbetsytans MSI (hanterad tjänstidentitet) och avbryta pipelinekörningar.
Du kommer snart att tilldela Synapse-roller till dessa grupper på arbetsytenivå.
Skapa även den här säkerhetsgruppen:
-
workspace1_SQLAdmins, grupp för användare som behöver administratörsbehörighet för SQL služba Active Directory Admin inom SQL-poolerna i arbetsytan.
Gruppen workspace1_SQLAdmins för att konfigurera SQL-behörigheter när du skapar SQL-pooler.
Dessa fem grupper räcker för en grundläggande konfiguration. Senare kan du lägga till säkerhetsgrupper för att hantera användare som behöver mer specialiserad åtkomst eller för att begränsa åtkomsten enbart till enskilda resurser.
Obs!
- Lär dig hur du skapar en säkerhetsgrupp i den här artikeln: Skapa en grundläggande grupp och lägg till medlemmar med hjälp av Microsoft Entra-ID.
- Lär dig hur du lägger till en säkerhetsgrupp i en annan säkerhetsgrupp i den här artikeln: Lägg till eller ta bort en grupp från en annan grupp med hjälp av Microsoft Entra-ID.
- När du skapar en säkerhetsgrupp kontrollerar du att grupptypen är Säkerhet. Microsoft 365-grupper stöds inte för Azure SQL.
Tips
Enskilda Synapse-användare kan använda Microsoft Entra-ID i Azure Portal för att visa sina gruppmedlemskap. På så sätt kan de avgöra vilka roller som har beviljats dem.
Steg 2: Förbered ditt ADLS Gen2-lagringskonto
Synapse-arbetsytor använder standardlagringscontainrar för:
- Lagring av underliggande datafiler för Spark-tabeller
- Körningsloggar för Spark-jobb
- Hantering av bibliotek som du väljer att installera
Ange följande information om din lagring:
Det ADLS Gen2-konto som ska användas för din arbetsyta. Det här dokumentet kallar det
storage1.storage1anses vara det "primära" lagringskontot för din arbetsyta.Containern i
storage1som Synapse-arbetsytan använder som standard. Det här dokumentet kallar detcontainer1.Välj Åtkomstkontroll (IAM) .
Välj Lägg till>Lägg till rolltilldelning för att öppna sidan Lägg till rolltilldelning.
Tilldela följande roll. Läs mer om att tilldela roller i Tilldela Azure-roller via Azure Portal.
Inställning Värde roll Storage Blob Data Contributor Tilldela åtkomst till SERVICEPRINCIPALMedlemmar workspace1_SynapseAdministrators, workspace1_SynapseContributors och workspace1_SynapseComputeOperators
Steg 3: Skapa och konfigurera din Synapse-arbetsyta
I Azure-portalen skapar du en Synapse-arbetsyta:
Välj din prenumeration
Välj eller skapa en resursgrupp som du har Azure-rollen Ägare för.
Namnge arbetsytan
workspace1Välj
storage1för lagringskontotVälj
container1för den container som används som "filsystem".Öppna
workspace1i Synapse StudioI Synapse Studio navigerar du till Hantera>åtkomstkontroll. I arbetsytans omfattning tilldelar du Synapse-roller till säkerhetsgrupper på följande sätt:
-
Tilldela rollen Synapse-administratör till
workspace1_SynapseAdministrators -
Tilldela rollen Synapse-deltagare till
workspace1_SynapseContributors - Tilldela rollen Synapse Compute Operator till
workspace1_SynapseComputeOperators
-
Tilldela rollen Synapse-administratör till
Steg 4: Ge arbetsytan MSI åtkomst till standardlagringscontainern
För att kunna köra pipelines och utföra systemuppgifter kräver Azure Synapse att hanterad tjänstidentitet (MSI) har åtkomst till container1 i standardkontot för ADLS Gen2 för arbetsytan. För mer information, se Managed identities for Azure Synapse Analytics.
Öppna Azure-portalen
Leta upp lagringskontot ,
storage1och sedancontainer1.Välj Åtkomstkontroll (IAM) .
Öppna sidan Lägg till rolltilldelning genom att välja Lägg till>Lägg till rolltilldelning .
Tilldela följande roll. Detaljerade steg finns i Tilldela Azure-roller via Azure Portal.
Inställning Värde Roll Storage Blob Data Contributor Tilldela åtkomst till Hanterad identitet Medlemmar namn på hanterad identitet Obs!
Namnet på den hanterade identiteten är också arbetsytans namn.
Steg 5: Bevilja Synapse-administratörer rollen Azure Contributor för arbetsytan
För att skapa SQL-pooler, Apache Spark-pooler och Integration Runtime behöver användarna som minimum rollen Azure Contributor för arbetsytan. Rollen Deltagare gör det också möjligt för användare att hantera resurser, inklusive pausning och skalning. Om du vill använda Azure-portalen eller Synapse Studio för att skapa SQL-pooler, Apache Spark-pooler och Integration Runtime behöver du rollen Deltagare på resursgruppsnivå.
Öppna Azure-portalen
Leta upp arbetsytan,
workspace1Välj Åtkomstkontroll (IAM) .
Om du vill öppna sidan Lägg till rolltilldelning väljer du Lägg till>Lägg till rolltilldelning.
Tilldela följande roll. Detaljerade anvisningar finns i Tilldela Azure-roller med Azure-portalen.
Inställning Värde Roll Medverkande (listad under "Privilegierade administratörsroller") Tilldela åtkomst till SERVICEPRINCIPALMedlemmar workspace1_SynapseAdministrators
Steg 6: Tilldela en SQL Microsoft Entra ID-administratörsroll
Skaparen av arbetsytan tilldelas automatiskt som SQL služba Active Directory-administratör för arbetsytan. Endast en enskild användare eller en grupp kan beviljas den här rollen. I det här steget tilldelar du SQL služba Active Directory-administratören för arbetsytan till workspace1_SQLAdmins säkerhetsgruppen. Detta ger gruppen mycket privilegierad administratörsåtkomst till alla SQL-pooler och databaser på arbetsytan.
- Öppna Azure-portalen
- Navigera till
workspace1 - Under Inställningar väljer du Microsoft Entra-ID
- Välj Ange som administratör och sedan
workspace1_SQLAdmins
Obs!
Steg 6 är valfritt. Du kan välja att ge gruppen workspace1_SQLAdmins en mindre privilegierad roll. Om du vill tilldela db_owner eller andra SQL-roller måste du köra skript på varje SQL-databas.
Steg 7: Bevilja åtkomst till SQL-pooler
Synapse-administratören ges som standard SQL-rollen db_owner för serverlösa SQL-pooler även på arbetsytan.
Åtkomst till SQL-pooler för andra användare styrs av SQL-behörigheter. Tilldelning av SQL-behörigheter kräver att SQL-skript körs på varje SQL-databas efter skapandet. Följande är exempel som kräver att du kör dessa skript:
Detta ger användare åtkomst till den serverlösa SQL-poolen, ”Built-in” och dess databaser.
Ge användare åtkomst till dedikerade SQL-pooldatabaser. Exempel på SQL-skript ingår senare i den här artikeln.
För att ge åtkomst till en dedikerad SQL-pooldatabas kan skript köras av arbetsytans skapare eller någon medlem i
workspace1_SynapseAdministratorsgruppen.Om du vill bevilja åtkomst till den serverlösa SQL-poolen 'Built-in' kan skript köras av alla medlemmar i
workspace1_SQLAdmins-gruppen ellerworkspace1_SynapseAdministrators-gruppen.
Tips
Du kan ge åtkomst till alla SQL-databaser genom att utföra följande steg för varje SQL-pool. Avsnittet Configure Workspace-scoped permissions är ett undantag från regeln och gör det möjligt att tilldela en användare en sysadmin-roll på arbetsytenivå.
Steg 7a: Serverlös SQL-pool, inbyggd
Du kan använda skriptexemplen i det här avsnittet för att ge användarna behörighet att komma åt en enskild databas eller alla databaser i den serverlösa SQL-poolen, Built-in.
Obs!
I skriptexemplen ersätter du alias med aliaset för den användare eller grupp som beviljas åtkomst. Ersätt domänen med den företagsdomän som du använder.
Konfigurera databasomfattande behörigheter
Du kan ge användare åtkomst till en enda serverlös SQL-databas med stegen som beskrivs i det här exemplet:
Skapa ett konto. Ändra till
masterdatabaskontexten.--In the master database CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;Skapa användare i din databas. Ändra kontext till din databas.
-- In your database CREATE USER alias FROM LOGIN [alias@domain.com];Lägg till en användare som medlem i den angivna rollen i databasen (i det här fallet db_owner-rollen).
ALTER ROLE db_owner ADD member alias; -- Type USER name from step 2
Konfigurera arbetsytebegränsade behörigheter
Du kan ge fullständig åtkomst till alla serverlösa SQL-pooler i arbetsytan. Kör skriptet i det här exemplet i master databasen:
CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;
ALTER SERVER ROLE sysadmin ADD MEMBER [alias@domain.com];
Steg 7b: Konfigurera dedikerade SQL-pooler
Du kan ge åtkomst till en enda dedikerad SQL-pooldatabas. Följ dessa steg i Azure Synapse SQL-skriptredigeraren:
Skapa en användare i databasen genom att köra följande kommandon. Välj måldatabasen i rullgardinsmenyn Connect to :
--Create user in the database CREATE USER [<alias@domain.com>] FROM EXTERNAL PROVIDER; -- For Service Principals you would need just the display name and @domain.com is not requiredGe användaren en roll för att få åtkomst till databasen:
--Grant role to the user in the database EXEC sp_addrolemember 'db_owner', '<alias@domain.com>';
Viktigt
db_datareader och db_datawriter databasroller kan ge läs-/skrivbehörighet när du inte vill ge db_owner behörigheter. Dock krävs db_owner behörighet för att Spark-användare ska kunna läsa och skriva direkt från Spark in i eller från en SQL-pool.
Du kan köra frågor för att bekräfta att serverlösa SQL-pooler kan köra frågor mot lagringskonton när du har skapat dina användare.
Steg 8: Lägga till användare i säkerhetsgrupper
Den första konfigurationen för ditt åtkomstkontrollsystem är nu klar.
Du kan nu lägga till och ta bort användare från de säkerhetsgrupper som du har konfigurerat för att hantera åtkomst till dem. Du kan tilldela användare till Azure Synapse-roller manuellt, men detta medför inkonsekventa behörigheter. Lägg i stället bara till eller ta bort användare i dina säkerhetsgrupper.
Steg 9: Nätverkssäkerhet
Som ett sista steg för att skydda din arbetsyta skyddar du nätverksåtkomsten genom att använda brandväggen för arbetsytan.
- Med och utan ett hanterat virtuellt nätverk kan du ansluta till din arbetsyta från offentliga nätverk. Mer information finns i Azure Synapse Analytics anslutningsinställningar.
- Styr åtkomst från offentliga nätverk genom att aktivera funktionen offentlig nätverksåtkomst eller arbetsytans brandvägg.
- Alternativt, koppla upp dig mot din arbetsyta genom att använda en hanterad privat endpoint och Azure Private Link för Azure Synapse Analytics. Azure Synapse-arbetsytor som inte använder Azure Synapse Analytics Managed Virtual Network kan inte ansluta via hanterade privata slutpunkter.
Steg 10: Slutförande
Arbetsytan är nu helt konfigurerad och skyddad.
Stöd för mer avancerade scenarier
Den här guiden har fokuserat på att konfigurera ett grundläggande åtkomstkontrollsystem. Du kan stödja mer avancerade scenarier genom att skapa andra säkerhetsgrupper och tilldela dessa grupper mer detaljerade roller i mer specifika omfattningar. Överväg följande fall:
Aktivera Git-stöd för arbetsytan för mer avancerade utvecklingsscenarier, inklusive CI/CD. I Git-läge avgör Git-behörigheter och Synapse RBAC om en användare kan checka in ändringar i sin arbetsgren. Publicering till tjänsten sker endast från samarbetsgrenen. Överväg att skapa en säkerhetsgrupp för utvecklare som behöver utveckla och felsöka uppdateringar i en arbetsgren men inte behöver publicera ändringar i produktionstjänsten.
Begränsa utvecklaråtkomst till specifika resurser. Skapa andra detaljerade säkerhetsgrupper för utvecklare som bara behöver åtkomst till specifika resurser. Tilldela dessa grupper lämpliga Azure Synapse-roller som är begränsade till specifika Spark-pooler, Integration runtimes eller autentiseringsuppgifter.
Begränsa operatorers åtkomst till kodartefakter. Skapa säkerhetsgrupper för operatörer som behöver övervaka driftstatusen för Synapse-beräkningsresurser och visa loggar men som inte behöver åtkomst till kod eller publicera uppdateringar till tjänsten. Tilldela dessa grupper rollen Compute Operator som är begränsad till specifika Spark-pooler och Integration Runtime.
Inaktivera lokal autentisering. Genom att endast tillåta Microsoft Entra-autentisering kan du centralt hantera åtkomst till Azure Synapse-resurser, till exempel SQL-pooler. Lokal autentisering för alla resurser på arbetsytan kan inaktiveras under eller efter att arbetsytan har skapats. Mer information om Microsoft Entra-autentisering finns i Inaktivera lokal autentisering i Azure Synapse Analytics.