Åtkomstkontroll för Azure Synapse

Den här artikeln innehåller en översikt över de mekanismer som är tillgängliga för att styra åtkomsten till Azure Synapse-beräkningsresurser och data.

Översikt

Azure Synapse tillhandahåller ett omfattande och detaljerat system för åtkomstkontroll som integrerar:

  • Azure-roller för resurshantering och åtkomst till data i lagring
  • Synapse-roller för hantering av live-åtkomst till kod och körning
  • SQL-roller för dataplansåtkomst till data i SQL-pooler samt
  • Git-behörigheter för källkodskontroll, inklusive kontinuerlig integrering och distributionsstöd.

Azure Synapse roller tillhandahåller uppsättningar med behörigheter som kan tillämpas på olika omfång. Den här kornigheten gör det enkelt att bevilja lämplig åtkomst till administratörer, utvecklare, säkerhetspersonal och operatörer för att beräkna resurser och data.

Åtkomstkontroll kan förenklas med hjälp av säkerhetsgrupper som är anpassade till personers jobbroller. Du behöver bara lägga till och ta bort användare från lämpliga säkerhetsgrupper för att hantera åtkomst.

Åtkomstkontrollelement

Skapa och hantera Azure Synapse-beräkningsresurser

Azure-roller används för att styra hanteringen av:

  • Dedikerade SQL-pooler
  • Data explorer-pooler
  • Apache Spark-pooler
  • Integreringskörningar

Om du vill skapa dessa resurser måste du vara Azure-ägare eller deltagare i resursgruppen. Om du vill hantera dem när de har skapats måste du vara Azure-ägare eller deltagare i antingen resursgruppen eller de enskilda resurserna.

En Azure-ägare eller deltagare kan aktivera eller inaktivera autentisering endast för Microsoft Entra för Azure Synapse-arbetsytor. Mer information om Microsoft Entra-autentisering finns i Inaktivera lokal autentisering i Azure Synapse Analytics.

Utveckla och köra kod i Azure Synapse

Synapse stöder två utvecklingsmodeller.

  • Synapse live-utveckling. Du utvecklar och felsöker kod i Synapse Studio och publicerar den sedan för att spara och köra den. Synapse-tjänsten är källan till sanning för kodredigering och körning. Allt opublicerat arbete går förlorat när du stänger Synapse Studio.
  • Git-aktiverad utveckling. Du utvecklar och felsöker kod i Synapse Studio och checkar in ändringar i en arbetsgren på en Git-lagringsplats. Arbete från en eller flera grenar är integrerat i en samarbetsgren, varifrån du publicerar det till tjänsten. Git-lagringsplatsen är källan till sanning för kodredigering, medan tjänsten är källan till sanning för körning. Ändringar måste checkas in på Git-lagringsplatsen eller publiceras till tjänsten innan Synapse Studio stängs. Läs mer om hur du använder Synapse Analytics med Git.

I båda utvecklingsmodellerna kan alla användare med åtkomst till Synapse Studio skapa kodartefakter. Du behöver dock ytterligare behörigheter för att publicera artefakter till tjänsten, läsa publicerade artefakter, checka in ändringar i Git, köra kod och komma åt länkade data som skyddas av autentiseringsuppgifter. Användarna måste ha rollen Azure-deltagare (Azure RBAC) eller högre på Synapse-arbetsytan för att kunna konfigurera, redigera inställningar och koppla från en Git-lagringsplats med Synapse.

Azure Synapse-roller

Azure Synapse-roller används för att styra åtkomsten till Synapse-tjänsten. Med olika roller kan du:

  • Lista publicerade kodartefakter,
  • Publicera kodartefakter, länkade tjänster och definitioner av autentiseringsuppgifter.
  • Köra kod eller pipelines som använder Synapse-beräkningsresurser,
  • Kör kod eller pipelines som har åtkomst till länkade data som skyddas av autentiseringsuppgifter,
  • Visa utdata som är associerade med publicerade kodartefakter,
  • Övervaka status för beräkningsresurser och visa körningsloggar.

Azure Synapse-roller kan tilldelas i arbetsytans omfång eller i mer detaljerade omfång för att begränsa de behörigheter som beviljas till specifika Azure Synapse-resurser.

Git-behörigheter

När du använder Git-aktiverad utveckling i Git-läge behöver du Git-behörigheter utöver rollrollerna Synapse-användare eller Synapse RBAC (rollbaserad åtkomstkontroll) för att läsa kodartefakter, inklusive definitioner för länkad tjänst och autentiseringsuppgifter. Om du vill checka in ändringar i kodartefakter i Git-läge behöver du Git-behörigheter och Synapse Artifact Publisher-rollen (Synapse RBAC).

Komma åt data i SQL

När du arbetar med dedikerade och serverlösa SQL-pooler styrs åtkomsten till dataplanet med SQL-behörigheter.

Den som skapar en arbetsyta blir tilldelad rollen som Active Directory-administratör för arbetsytan. När den har skapats kan rollen tilldelas till en annan användare eller till en säkerhetsgrupp i Azure-portalen.

Serverlösa SQL-pooler: Synapse-administratörer beviljas db_owner (DBO) behörigheter för den serverlösa SQL-poolen , inbyggd. För att ge andra användare åtkomst till den serverlösa SQL-poolen måste Synapse-administratörer köra SQL-skript i den serverlösa poolen.

Dedikerade SQL-pooler: Synapse-administratörer har fullständig åtkomst till data i dedikerade SQL-pooler och möjlighet att bevilja åtkomst till andra användare. Synapse-administratörer kan också utföra konfigurations- och underhållsaktiviteter i dedikerade pooler, förutom att ta bort databaser. Active Directory Admin-behörighet beviljas till skaparen av arbetsytan och arbetsytans MSI. Behörighet att komma åt dedikerade SQL-pooler beviljas inte automatiskt. Om du vill ge andra användare eller grupper åtkomst till dedikerade SQL-pooler måste Active Directory-administratören eller Synapse-administratören köra SQL-skript mot varje dedikerad SQL-pool.

Se Så här konfigurerar du Synapse-åtkomstkontroll för exempel på SQL-skript för att bevilja SQL-behörigheter i SQL-pooler.

Komma åt data i Data Explorer-pooler

När du arbetar med Data Explorer-pooler styrs dataplansåtkomsten via Data Explorer-behörigheter. Synapse-administratörer beviljas All Database admin behörigheter för Data Explorer-pooler. Om du vill ge andra användare eller grupper åtkomst till Data Explorer-pooler bör Synapse-administratörer referera till Hantering av säkerhetsroller. Mer information om åtkomst till dataplanet finns i Översikt över åtkomstkontroll i Datautforskaren.

Åtkomst till systemhanterade data i lagringen

Serverlösa SQL-pooler och Apache Spark-tabeller lagrar sina data i en ADLS Gen2-container som är associerad med arbetsytan. Användarinstallerade Apache Spark-bibliotek hanteras också i samma lagringskonto. För att aktivera dessa användningsfall måste användare och arbetsytans MSI beviljas åtkomst till lagringsblobdatadeltagare till den här arbetsytans ADLS Gen2-lagringscontainer.

Använda säkerhetsgrupper som bästa praxis

För att förenkla hanteringen av åtkomstkontroll kan du använda säkerhetsgrupper för att tilldela roller till individer och grupper. Säkerhetsgrupper kan skapas för att spegla personas eller jobbfunktioner i din organisation som behöver åtkomst till Synapse-resurser eller artefakter. Dessa personabaserade säkerhetsgrupper kan sedan tilldelas en eller flera Azure-roller, Synapse-roller, SQL-behörigheter eller Git-behörigheter. Med väl valda säkerhetsgrupper är det enkelt att tilldela en användare de behörigheter som krävs genom att lägga till dem i lämplig säkerhetsgrupp.

Kommentar

Om du använder säkerhetsgrupper för att hantera åtkomst, finns det ytterligare svarstider som introduceras av Microsoft Entra-ID innan ändringarna börjar gälla.

Åtkomstkontroll i Synapse Studio

Synapse Studio fungerar annorlunda baserat på dina behörigheter och det aktuella läget:

  • Synapse live-läge: Synapse Studio hindrar dig från att se publicerat innehåll, publicera innehåll eller vidta andra åtgärder om du inte har den behörighet som krävs. I vissa fall hindras du från att skapa kodartefakter som du inte kan använda eller spara.
  • Git-läge: Om du har Git-behörigheter som gör att du kan checka in ändringar i den aktuella grenen tillåts incheckningsåtgärden om du har behörighet att publicera ändringar i livetjänsten (Synapse Artifact Publisher-rollen).

I vissa fall kan du skapa kodartefakter även utan behörighet att publicera eller checka in. På så sätt kan du köra kod (med nödvändiga körningsbehörigheter). Mer information om de roller som krävs för vanliga uppgifter finns i Förstå de roller som krävs för att utföra vanliga uppgifter i Azure Synapse.

Om en funktion är inaktiverad i Synapse Studio anger en knappbeskrivning den behörighet som krävs. Använd synapse RBAC-rollguiden för att leta upp vilken roll som krävs för att ge den saknade behörigheten.

Nästa steg