Auktorisering för analys i molnskala i Azure
Auktorisering är att bevilja en autentiserad part behörighet att utföra en åtgärd. Huvudprincipen för åtkomstkontroll är att ge användarna endast den åtkomst de behöver för att utföra sina jobb och endast tillåta vissa åtgärder inom ett visst omfång. Rollbaserad säkerhet motsvarar åtkomstkontroll och används av många organisationer för att styra åtkomst baserat på definierade roller eller jobbfunktioner jämfört med enskilda användare. Användare tilldelas sedan en eller flera säkerhetsroller, som var och en får behörighet att utföra specifika uppgifter.
När du använder Microsoft Entra-ID som centraliserad identitetsprovider kan auktorisering för åtkomst till datatjänster och lagring beviljas per användare eller per program och baseras på en Microsoft Entra-identitet.
Auktorisering av datatjänst
Azure Role-Based Access Control (RBAC) och åtkomstkontrollistor (ACLs) spelar viktiga roller för att hantera åtkomst och säkerställa säkerhet. Både Azure RBAC och ACL:er kräver att användaren (eller programmet) har en identitet i Microsoft Entra-ID. I molnskala är RBAC effektivt för databaser och Azure Data Lake Storage, medan ACL:er främst används i Azure Data Lake Storage för att ge detaljerad åtkomstkontroll på fil- och katalognivå. ACL:er kompletterar RBAC genom att erbjuda mer detaljerade behörigheter i lagringshierarkin.
Azure RBAC erbjuder inbyggda roller som "Ägare", "Deltagare" och "Läsare", men du kan också skapa anpassade roller som är skräddarsydda för specifika behov. Följande inbyggda roller är grundläggande för alla Azure-resurstyper, inklusive Azure-datatjänster:
Roll | Beskrivning |
---|---|
ägare | Den här rollen har fullständig åtkomst till resursen och kan hantera allt om resursen, inklusive rätten att bevilja åtkomst till den. |
deltagare | Den här rollen kan hantera resursen men kan inte bevilja åtkomst till den. |
Läsare | Den här rollen kan visa resursen och information om den (förutom känslig information som åtkomstnycklar eller hemligheter), men de kan inte göra några ändringar i resursen. |
Not
Vissa tjänster har specifika RBAC-roller som Storage Blob Data Contributor eller Data Factory Contributor, vilket betyder att specifika RBAC-roller ska användas för dessa tjänster. RBAC är en additiv modell där det är en aktiv behörighet att lägga till rolltilldelningar. RBAC stöder också neka tilldelningar som har företräde framför roll tilldelningar.
Tips
När du planerar en strategi för åtkomstkontroll rekommenderar vi att användarna endast beviljar den mängd åtkomst de behöver för att utföra sina jobb och endast tillåta vissa åtgärder i ett visst omfång.
Åtkomstkontroll i Azure Databases
RBAC i Azure-databaser kretsar kring roller, omfång och behörigheter. Azure tillhandahåller flera inbyggda roller som är skräddarsydda för databashantering, till exempel SQL Server-deltagare, som möjliggör hantering av SQL-servrar och -databaser och SQL DB-deltagare, vilket tillåter hantering av SQL-databaser men inte själva servern. Dessutom kan anpassade roller skapas med specifika behörigheter för att uppfylla unika krav.
Roller kan tilldelas i olika omfång, inklusive prenumerationsnivå, där roller gäller för alla resurser i prenumerationen. resursgruppsnivå, där roller gäller för alla resurser i den angivna resursgruppen. och resursnivån, där roller kan tilldelas direkt till enskilda databaser eller servrar, vilket ger exakt kontroll. Behörigheter definierar de åtgärder som en roll kan utföra, till exempel läsa, skriva, ta bort eller hantera säkerhetsinställningar, och dessa behörigheter grupperas i roller för att förenkla hanteringen.
I Azure SQL Database-kan roller tilldelas till användare, grupper eller program för att styra åtkomsten. En databasadministratör kan till exempel tilldelas rollen "SQL Server-deltagare" för att hantera servern och databaserna. Roller som "SQL DB-deltagare" gör det möjligt för användare att skapa, uppdatera och ta bort databaser, medan rollen "SQL Security Manager" fokuserar på säkerhetskonfigurationer.
För Azure Cosmos DB-kan roller tilldelas för att hantera åtkomst till Cosmos DB-konton, databaser och containrar. Inbyggda roller som "Cosmos DB-kontoläsare" och "Cosmos DB-kontodeltagare" ger varierande åtkomstnivåer.
I Azure Database for MySQL, PostgreSQL och MariaDBkan du tilldela roller för att hantera databasservrar och enskilda databaser. Roller som "Deltagare" och "Läsare" kan användas för att styra åtkomsten.
Mer information finns i Azure inbyggda roller för databaser.
Åtkomstkontroll i Azure Data Lake Storage
Med Azure RBAC kan du ge "grovkornig" åtkomst till lagringskontodata, till exempel läs- eller skrivåtkomst till alla data i ett lagringskonto. Med ACL:er kan du bevilja "detaljerad" åtkomst, till exempel skrivåtkomst till en specifik katalog eller fil.
I många scenarier används RBAC och ACL:er tillsammans för att tillhandahålla omfattande åtkomstkontroll i ADLS. RBAC kan användas för att hantera åtkomst på hög nivå till data, vilket säkerställer att endast behöriga användare kan komma åt själva tjänsten. ACL:er kan sedan tillämpas på lagringskontot för att styra åtkomsten till specifika filer och kataloger, vilket ger ett extra säkerhetslager.
Azure Attributbaserad åtkomstkontroll (ABAC) bygger på Azure RBAC genom att lägga till villkor för rolltilldelning baserat på attribut i kontexten för specifika åtgärder. Du kan i princip förfina RBAC-rolltilldelningar genom att lägga till villkor. Du kan till exempel bevilja läs- eller skrivåtkomst till alla dataobjekt i ett lagringskonto som har en specifik tagg.
Följande roller tillåter en säkerhetsprincipals att komma åt data i ett lagringskonto.
Roll | Beskrivning |
---|---|
Lagringsblobbägarens data | Fullständig åtkomst till Blob Storage-containrar och data. Den här åtkomsten tillåter säkerhetsentiteten att ange ägaren till ett objekt och att ändra ACL:erna för alla objekt. |
Storage Blob Data Contributor | Läsa, skriva och ta bort åtkomst till Blob Storage-containrar och blobar. Den här behörigheten tillåter inte säkerhetsprincipalen att ställa in ägarskap för en post, men den kan ändra ACL för poster som ägs av säkerhetsprincipalen. |
Storage Blob Data Reader | Läs och lista bloblagringscontainrar och blobar. |
Roller som Ägare, Deltagare, Läsare och Lagringskontodeltagare tillåter en säkerhetsprincip att hantera ett lagringskonto men ger inte åtkomst till datan i kontot. Dessa roller (exklusive Läsare) kan dock få åtkomst till lagringsnycklarna, som kan användas i olika klientverktyg för att komma åt data. Mer information finns i Åtkomstkontrollmodell i Azure Data Lake Storage.
Åtkomstkontroll i Azure Databricks
Azure Databricks levereras med åtkomstkontrollsystem som är utformade för att hantera åtkomst i Databricks-miljön, med fokus på skyddsbara objekt och datastyrning. De tre viktigaste åtkomstkontrollsystemen i Azure Databricks är:
- Åtkomstkontrollistor: används för att konfigurera behörigheter för åtkomst till arbetsyteobjekt, till exempel anteckningsböcker. Mer information finns i åtkomstkontrollistor.
- Rollbaserad åtkomstkontroll för konto: används för att konfigurera behörighet att använda objekt på kontonivå, till exempel tjänstens huvudnamn och grupper.
- Unity Catalog: används för att skydda och styra dataobjekt.
Förutom åtkomstkontroll för objekt finns det inbyggda roller på Azure Databricks-plattformen. Användare, tjänstens huvudnamn och grupper kan tilldelas roller. Mer information finns i Databricks-administratörsroller.
Metodtips för auktorisering i analys i molnskala
Den här guiden innehåller metodtips för att implementera rollbaserad åtkomstkontroll (RBAC) i analysmiljöer i molnskala. Den omfattar allmänna RBAC-principer, databasåtkomstkontroll och metodtips för datasjöåtkomstkontroll för att säkerställa säker och effektiv hantering av resurser.
Allmänna RBAC-metodtips för analys i molnskala
Följande metodtips kan hjälpa dig att komma igång med RBAC:
Använd RBAC-roller för tjänsthantering och -åtgärder och använd tjänstspecifika roller för dataåtkomst och arbetsbelastningsspecifika uppgifter: Använd RBAC-roller på Azure-resurser för att bevilja behörighet till säkerhetsobjekt som behöver utföra resurshanterings- och åtgärdsuppgifter. Säkerhetsprinciper som behöver komma åt data i lagringen kräver inte någon RBAC-roll på resursen eftersom de inte behöver hantera den. Ge i stället behörighet till dataobjekt direkt. Ge till exempel läsbehörighet till en mapp i Azure Data Lake Storage Gen2 eller en innesluten databasanvändare och tabellbehörighet för en databas i Azure SQL Database.
Använd inbyggda RBAC-roller: Använd först de inbyggda RBAC Azure-resursrollerna för att hantera tjänster och tilldela åtgärdsroller för att kontrollera åtkomsten. Skapa och använd endast anpassade roller för Azure-resurser när inbyggda roller inte uppfyller specifika behov.
Använd grupper för att hantera åtkomst: Tilldela åtkomst till Microsoft Entra-grupper och hantera gruppmedlemskap för löpande åtkomsthantering.
Prenumerations- och resursgruppsomfång: I icke-produktionsmiljöer är det ofta klokt att bevilja åtkomst i resursgruppens omfång för att separera tjänsthanterings- och åtgärdsåtkomstbehov jämfört med att bevilja åtkomst till enskilda resurser. Anledningen är att utvecklare och testare i icke-produktionsmiljöer måste hantera resurser som att skapa en Azure Data Factory-inmatningspipeline eller skapa en container i Data Lake Storage Gen2. I produktionsmiljöer kan du dock bevilja åtkomst till enskilda resurser för arbetsbelastningsspecifika uppgifter som stöd och åtgärder för data lake-filsystem. Anledningen är att användare i produktion bara behöver använda resurser som att visa status för en schemalagd Data Factory-inmatningspipeline eller läsa datafiler i Data Lake Storage Gen2.
Bevilja inte onödig åtkomst i prenumerationsomfånget: Prenumerationsomfånget omfattar alla resurser i prenumerationen.
Välj åtkomst med minst behörighet: Välj rätt och enda roll för jobbet.
Metodtips för databasåtkomstkontroll
Implementering av effektiv rollbaserad åtkomstkontroll (RBAC) är avgörande för att upprätthålla säkerhet och hanterbarhet i din analysmiljö. Det här avsnittet innehåller metodtips för att använda Microsoft Entra-grupper, inbyggda roller och undvika direkt användarbehörighet för att säkerställa en effektiv och säker åtkomsthanteringsprocess.
Analys i molnskala innehåller förmodligen flerspråkig lagring. Exempel är PostgreSQL, MySQL, Azure SQL Database, SQL Managed Instance och Azure Synapse Analytics.
- Använd Microsoft Entra-grupper i stället för enskilda användarkonton: Vi rekommenderar att du använder Microsoft Entra-grupper för att skydda databasobjekt i stället för enskilda Microsoft Entra-användarkonton. Använd dessa Microsoft Entra-grupper för att autentisera användare och skydda databasobjekt. På samma sätt som data lake-mönstret kan du använda registrering av dataprogram för att skapa dessa grupper.
- Använd inbyggda roller för att hantera åtkomst: Skapa endast anpassade roller om det behövs för att uppfylla specifika krav eller när inbyggda roller beviljar för många behörigheter.
- Avstå från att tilldela behörigheter till enskilda användare: Använd roller (databas- eller serverroller) konsekvent i stället. Roller hjälper mycket med rapporterings- och felsökningsbehörigheter. (Azure RBAC stöder endast behörighetstilldelning via roller.)
Not
Dataprogram kan lagra känsliga dataprodukter i Azure SQL Database, SQL Managed Instance eller Azure Synapse Analytics-pooler. Mer information finns i Känsliga data.
Metodtips för Data Lake-åtkomstkontroll
I moderna datamiljöer är det av största vikt att säkerställa säker och effektiv åtkomstkontroll. Azure Data Lake Storage (ADLS) Gen2 tillhandahåller robusta mekanismer för att hantera åtkomst via åtkomstkontrollistor (ACL). I det här avsnittet beskrivs metodtips för att implementera rollbaserad åtkomstkontroll i ADLS Gen2, tillämpa ACL:er, Microsoft Entra-säkerhetsgrupper och principen om minsta behörighet för att upprätthålla en säker och hanterbar datasjömiljö. Dessutom belyser den vikten av att justera ACL:er med datapartitioneringsscheman och använda Unity Catalog för Azure Databricks-användare för att säkerställa omfattande säkerhet och styrning.
- Använda åtkomstkontrollistor (ACL) för detaljerad åtkomstkontroll: ACL:er spelar en viktig roll när det gäller att definiera åtkomst på detaljerad nivå. I Azure Data Lake Storage (ADLS) Gen2 arbetar ACL:er med säkerhetsobjekt för att hantera detaljerad åtkomst till filer och kataloger.
- Använd ACL:er på fil- och mappnivå: Om du vill styra åtkomsten till data i datasjön rekommenderar vi att du använder åtkomstkontrollistor (ACL: er) på fil- och mappnivå. Azure Data Lake använder också en POSIX-liknande modell för åtkomstkontrollistor. POSIX (portabelt operativsystemgränssnitt) är en serie standarder för operativsystem. En standard definierar en enkel men kraftfull behörighetsstruktur för åtkomst till filer och mappar. POSIX används ofta för nätverksfilresurser och Unix-datorer.
- Använd Microsoft Entra-säkerhetsgrupper som tilldelat huvudnamn i en ACL-post: Motstå möjligheten att tilldela enskilda användare eller tjänstens huvudnamn direkt. Med den här strukturen kan du lägga till och ta bort användare eller tjänstens huvudnamn utan att behöva tillämpa ACL:er på en hel katalogstruktur igen. I stället kan du bara lägga till eller ta bort användare och tjänstens huvudnamn från lämplig Microsoft Entra-säkerhetsgrupp.
- Tilldela åtkomst till Microsoft Entra-grupper och hantera medlemskap i grupper för löpande åtkomsthantering. Se Åtkomstkontroll och datasjökonfigurationer i Azure Data Lake Storage.
- Tillämpa principen om lägsta behörighet på ACL:er: I de flesta fall bör användarna bara ha läsa behörighet till de filer och mappar som de behöver i datasjön. Dataanvändare bör inte ha åtkomst till lagringskontocontainern.
- Justera ACL:er med datapartitioneringsscheman: ACL:er och datapartitionsdesign måste justeras för att säkerställa effektiv dataåtkomstkontroll. Mer information finns i Data lake partitionering.
- För Azure Databricks-användare kontrollerar du exklusivt åtkomsten till dataobjekt med Unity Catalog: Att bevilja direkt åtkomst på lagringsnivå till extern platslagring i Azure Data Lake Storage Gen2 uppfyller inte några behörigheter som beviljats eller granskningar som underhålls av Unity Catalog. Direktåtkomst kringgår granskning, ursprung och andra säkerhets- och övervakningsfunktioner i Unity Catalog, inklusive åtkomstkontroll och behörigheter. Därför bör Azure Databricks-slutanvändare inte ges direkt åtkomst på lagringsnivå till hanterade Unity Catalog-tabeller och volymer.