Säkerhetsdokument för Azure Synapse Analytics: Åtkomstkontroll

Kommentar

Den här artikeln är en del av azure Synapse Analytics säkerhetsdokumentserie med artiklar. En översikt över serien finns i säkerhetsdokumentet för Azure Synapse Analytics.

Beroende på hur data har modellerats och lagrats kan datastyrning och åtkomstkontroll kräva att utvecklare och säkerhetsadministratörer använder olika metoder, eller kombination av tekniker, för att implementera en robust säkerhetsgrund.

Azure Synapse stöder en mängd olika funktioner för att styra vem som kan komma åt vilka data. Dessa funktioner bygger på en uppsättning avancerade funktioner för åtkomstkontroll, inklusive:

Säkerhet på objektnivå

Varje objekt i en dedikerad SQL-pool har associerade behörigheter som kan beviljas ett huvudnamn. När det gäller användare och tjänstkonton är det så enskilda tabeller, vyer, lagrade procedurer och funktioner skyddas. Objektbehörigheter som SELECT kan beviljas användarkonton (SQL-inloggningar, Microsoft Entra-användare eller -grupper) och databasroller, vilket ger flexibilitet för databasadministratörer. Dessutom kan behörigheter som beviljas för tabeller och vyer kombineras med andra mekanismer för åtkomstkontroll (beskrivs nedan), till exempel säkerhet på kolumnnivå, säkerhet på radnivå och dynamisk datamaskering.

I Azure Synapse beviljas alla behörigheter till användare och roller på databasnivå. Dessutom beviljas alla användare som beviljats den inbyggda RBAC-rollen Synapse-administratör på arbetsytenivå automatiskt fullständig åtkomst till alla dedikerade SQL-pooler.

Förutom att skydda SQL-tabeller i Azure Synapse kan även dedikerad SQL-pool (tidigare SQL DW), serverlös SQL-pool och Spark-tabeller skyddas. Som standard har användare som tilldelats rollen Storage Blob Data Contributor för datasjöar som är anslutna till arbetsytan läs-, SKRIV- och EXECUTE-behörigheter för alla Spark-skapade tabeller när användare interaktivt kör kod i notebook-filen. Det kallas Microsoft Entra-direkt och gäller för alla datasjöar som är anslutna till arbetsytan. Men om samma användare kör samma notebook-fil via en pipeline används arbetsytans hanterade tjänstidentitet (MSI) för autentisering. Så för att pipelinen ska kunna köra msi-arbetsytan måste den också tillhöra rollen Storage Blob Data Contributor för den datasjö som används.

Säkerhet på radnivå

Säkerhet på radnivå gör att säkerhetsadministratörer kan upprätta och kontrollera detaljerad åtkomst till specifika tabellrader baserat på profilen för en användare (eller en process) som kör en fråga. Profil- eller användaregenskaper kan referera till gruppmedlemskap eller körningskontext. Säkerhet på radnivå hjälper till att förhindra obehörig åtkomst när användare frågar efter data från samma tabeller men måste se olika delmängder av data.

Kommentar

Säkerhet på radnivå stöds i Azure Synapse och dedikerad SQL-pool (tidigare SQL DW), men det stöds inte för Apache Spark-pool och serverlös SQL-pool.

Säkerhet på kolumnnivå

Med säkerhet på kolumnnivå kan säkerhetsadministratörer ange behörigheter som begränsar vem som kan komma åt känsliga kolumner i tabeller. Den anges på databasnivå och kan implementeras utan att du behöver ändra designen för datamodellen eller programnivån.

Kommentar

Säkerhet på kolumnnivå stöds i Azure Synapse, serverlösa SQL-poolvyer och dedikerad SQL-pool (tidigare SQL DW), men det stöds inte för serverlösa externa SQL-pooltabeller och Apache Spark-pool. Om det gäller en serverlös lösning för externa SQL-pooltabeller kan du använda den genom att skapa en vy ovanpå en extern tabell.

Dynamisk datamaskning

Med dynamisk datamaskering kan säkerhetsadministratörer begränsa exponeringen av känsliga data genom att maskera den vid läsning till icke-privilegierade användare. Det hjälper till att förhindra obehörig åtkomst till känsliga data genom att göra det möjligt för administratörer att avgöra hur data visas vid frågetillfället. Baserat på identiteten för den autentiserade användaren och deras grupptilldelning i SQL-poolen returnerar en fråga antingen maskerade eller omaskerade data. Maskering tillämpas alltid oavsett om data nås direkt från en tabell eller med hjälp av en vy eller en lagrad procedur.

Kommentar

Dynamisk datamaskering stöds i Azure Synapse och dedikerad SQL-pool (tidigare SQL DW), men det stöds inte för Apache Spark-pool och serverlös SQL-pool.

Rollbaserad synapse-åtkomstkontroll

Azure Synapse innehåller även rollbaserade RBAC-roller (Synapse rollbaserad åtkomstkontroll) för att hantera olika aspekter av Synapse Studio. Använd dessa inbyggda roller för att tilldela behörigheter till användare, grupper eller andra säkerhetsobjekt för att hantera vem som kan:

  • Publicera kodartefakter och lista eller få åtkomst till publicerade kodartefakter.
  • Kör kod på Apache Spark-pooler och integrationskörningar.
  • Få åtkomst till länkade tjänster (data) som skyddas av autentiseringsuppgifter.
  • Övervaka eller avbryta jobbkörningar, granska jobbutdata och körningsloggar.

Nästa steg

I nästa artikel i den här white paper-serien får du lära dig mer om autentisering.