Säkerhetsdokument för Azure Synapse Analytics: Åtkomstkontroll
Anmärkning
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å
- Säkerhet på radnivå
- Säkerhet på kolumnnivå
- Dynamisk datadöljning
- rollbaserad åtkomstkontroll i Synapse
Säkerhet på objektnivå
Varje objekt i en dedikerad SQL-pool har associerade behörigheter som kan beviljas en aktör. 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å arbetsytans nivå 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 standardinställning har användare som tilldelats rollen Storage Blob Data Contributor för datasjöar som är anslutna till arbetsytan LÄS-, SKRIV- och UTFÖRA-behörigheter till alla tabeller som skapats av Spark när användare interaktivt kör kod i notebook. Den kallas Microsoft Entra-passagenoch gäller för alla datasjöar som är anslutna till arbetsytan. Men om samma användare kör samma notebook genom en pipelineanvänds arbetsytans hanterade tjänstidentitet (MSI) för autentisering. För att pipelinen ska kunna köra MSI för arbetsytan måste den därför också tillhöra Storage Blob Data Contributor rollen för den datasjö som används.
Säkerhet på radnivå
säkerhet på radnivå gör det möjligt för säkerhetsadministratörer att 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.
Anmärkning
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å
säkerhet på kolumnnivå gör det möjligt för säkerhetsadministratörer att 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.
Anmärkning
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 maskering av data
Dynamisk datamaskning gör det möjligt för säkerhetsadministratörer att 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.
Anmärkning
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 rollroller för rollbaserad åtkomstkontroll (RBAC) Synapse 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 jobbexekveringar, granska jobbresultat och exekveringsloggar.
Nästa steg
I nästa artikel i den här white paper-serien får du lära dig mer om autentisering.