Dela via


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 mängd åtkomst som 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. Många organisationer använder rollbaserad säkerhet för att styra åtkomsten baserat på definierade roller eller jobbfunktioner i stället för enskilda användare. Användare tilldelas en eller flera säkerhetsroller och varje roll ges behörighet att utföra specifika uppgifter.

Microsoft Entra ID är en centraliserad identitetsprovider som ger behörighet att komma åt datatjänster och lagring för varje användare eller för varje program baserat på en Microsoft Entra-identitet.

Auktorisering av datatjänst

Rollbaserad åtkomstkontroll i Azure (RBAC) och åtkomstkontrollistor (ACL) 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 analys i molnskala är RBAC effektivt för databaser och Azure Data Lake Storage. ACL:er används främst i Data Lake Storage för att ge detaljerad åtkomstkontroll på fil- och katalognivå. ACL:er kompletterar RBAC genom att ge mer detaljerade behörigheter i lagringshierarkin.

Azure RBAC innehåller inbyggda roller som Owner, Contributoroch Reader, men du kan också skapa anpassade roller 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 informationen, förutom känslig information som åtkomstnycklar eller hemligheter, om resursen. 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, så du bör använda dessa roller 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 du endast ger användarna den mängd åtkomst som de behöver för att utföra sina jobb. Du bör också endast tillåta vissa åtgärder i ett visst omfång.

Åtkomstkontroll i Azure-databaser

RBAC i Azure-databaser kretsar kring roller, omfång och behörigheter. Azure har flera inbyggda roller för databashantering. En av dessa roller är SQL Server-bidragsgivare, som möjliggör hantering av SQL-servrar och -databaser. En annan roll är SQL databasbidragsgivare, som tillåter hantering av SQL-databaser men inte servern själv. Dessutom kan du skapa anpassade roller som har specifika behörigheter för att uppfylla unika krav.

Du kan tilldela roller i olika omfång, inklusive:

  • På prenumerationsnivå, där roller gäller för alla resurser i prenumerationen.
  • På resursgruppsnivå, där roller gäller för alla resurser i den angivna resursgruppen.
  • På resursnivå, där du kan tilldela roller direkt till enskilda databaser eller servrar. Den här metoden ger dig exakt kontroll.

Behörigheter definierar de åtgärder som en roll kan utföra, till exempel hantering av läs-, skriv-, borttagnings- eller säkerhetsinställningar. Dessa behörigheter grupperas i roller för att förenkla hanteringen.

I Azure SQL Databasekan du tilldela roller 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-bidragsgivare tillåter användare att skapa, uppdatera och ta bort databaser, medan rollen SQL Security Manager fokuserar på säkerhetskonfigurationer.

I Azure Cosmos DBkan du tilldela roller för att hantera åtkomst till Azure Cosmos DB-konton, databaser och containrar. Dessa inbyggda roller som Cosmos DB-kontoläsare och Cosmos DB-kontodeltagare ger varierande åtkomstnivåer.

I Azure Database for MySQL och Azure Database for PostgreSQL kan du tilldela roller för att hantera databasservrar och enskilda databaser. Du kan använda roller som Deltagare och Reader för att styra åtkomsten.

För mer information se Azure-inbyggda roller för databaser.

Åtkomstkontroll i Data Lake Storage

Med Azure RBAC kan du bevilja grov åtkomst, till exempel läs- eller skrivåtkomst, till alla lagringskontodata. Med ACL:er kan du ge detaljerad åtkomst, till exempel skrivåtkomst till en specifik katalog eller fil.

I många scenarier kan du använda RBAC och ACL:er tillsammans för att tillhandahålla omfattande åtkomstkontroll i Data Lake Storage. Du kan använda RBAC för att hantera åtkomst på hög nivå till data, vilket säkerställer att endast behöriga användare kan komma åt tjänsten. Sedan kan du använda ACL:er i lagringskontot för att styra åtkomsten till specifika filer och kataloger, vilket förbättrar säkerheten.

Azure-attributbaserad åtkomstkontroll bygger på Azure RBAC genom att lägga till rolltilldelningsvillkor 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 Den här rollen ger fullständig åtkomst till bloblagringscontainrar 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-bidragsgivare Den här rollen ger läs-, skriv- och borttagningsåtkomst till bloblagringscontainrar och blobar. Den här åtkomsten tillåter inte att säkerhetsprincipalen ställa in ägarskapet för ett objekt, men den kan ändra ACL för objekt som säkerhetsprincipalen äger.
Läsare av lagringsblobdata Den här rollen kan läsa och uppräkna bloblagringscontainrar och blobar.

Roller som Owner, Contributor, Readeroch Storage Account Contributor tillåter en säkerhetsprincip att hantera ett lagringskonto, men de ger inte åtkomst till datan i kontot. Dessa roller, förutom Reader, 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 Data Lake Storage.

Åtkomstkontroll i Azure Databricks

Azure Databricks tillhandahåller åtkomstkontrollsystem för att hantera åtkomst i Azure Databricks-miljön. Dessa system fokuserar på skyddsbara objekt och datastyrning. De tre viktigaste åtkomstkontrollsystemen i Azure Databricks är:

  • ACL:er, som du kan använda för att konfigurera behörigheter för att få tillgång till arbetsyteobjekt, till exempel anteckningsböcker. Mer information finns i Översikt över åtkomstkontroll.
  • KONTO-RBAC, som du kan använda för att konfigurera behörighet att använda objekt på kontonivå, till exempel tjänstens huvudnamn och grupper.
  • Unity Catalog, som du kan använda för att skydda och styra dataobjekt.

Förutom åtkomstkontroll för objekt tillhandahåller Azure Databricks inbyggda roller på plattformen. Du kan tilldela roller till användare, tjänstens huvudnamn och grupper. Mer information finns i Administratörsroller och behörigheter för arbetsytor.

Metodtips för auktorisering i analys i molnskala

I den här guiden beskrivs metodtipsen för att implementera RBAC i analysmiljöer i molnskala. Den innehåller allmänna RBAC-principer, databasåtkomstkontroll och metodtips för datasjöåtkomstkontroll för att säkerställa säker och effektiv resurshantering.

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äkerhetsprincipaler som behöver utföra uppgifter inom resurshantering och operationer. 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. Bevilja i stället behörighet direkt till dataobjekt. Du kan till exempel bevilja läsbehörighet till en mapp i Data Lake Storage eller bevilja innehållna databasanvändare och tabellbehörighet för en databas i SQL Database.

  • Använd inbyggda RBAC-roller. Använd först de inbyggda RBAC Azure-resursrollerna för att hantera tjänster och tilldela driftroller för att styra åtkomsten. Skapa och använd endast anpassade roller för Azure-resurser när inbyggda roller inte uppfyller dina specifika behov.

  • Använd grupper för att hantera åtkomst. Tilldela åtkomst till Microsoft Entra-grupper och hantera gruppmedlemskap för löpande åtkomsthantering.

  • Överväg prenumerations- och resursgruppsomfång. I icke-produktionsmiljöer beviljar du åtkomst i resursgruppens omfång för att separera åtkomstbehov för tjänsthantering och åtgärder i stället för att bevilja åtkomst till enskilda resurser. Den här metoden är lämplig eftersom utvecklare och testare i icke-produktionsmiljöer måste hantera resurser. De kan till exempel behöva skapa en Azure Data Factory-inmatningspipeline eller en container i Data Lake Storage.

    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. Den här metoden är lämplig i produktionsmiljöer eftersom användarna 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.

  • Bevilja inte onödig åtkomst i prenumerationsomfånget. Prenumerationsomfånget omfattar alla resurser i prenumerationen.

  • Välj åtkomst med lägsta behörighet. Välj den rätta och enda rollen för uppgiften.

Metodtips för databasåtkomstkontroll

Att implementera effektiv 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 och inbyggda roller och för att undvika direkt användarbehörighet för att säkerställa en effektiv och säker åtkomsthanteringsprocess.

Analysmiljöer i molnskala innehåller vanligtvis flera typer av lagringslösningar, inklusive PostgreSQL, MySQL, SQL Database och Azure SQL Managed Instance.

  • 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 Microsoft Entra-grupper för att autentisera användare och skydda databasobjekt. På samma sätt som datasjömönstret, kan du använda onboarding av dataprogram för att skapa dessa grupper.

  • Använd inbyggda roller för att hantera åtkomst. Skapa endast anpassade roller om du behöver uppfylla specifika krav eller om inbyggda roller ger för många behörigheter.

  • Avstå från att tilldela behörigheter till enskilda användare. Använd roller, till exempel databas- eller serverroller, konsekvent i stället. Roller hjälper till med rapporterings- och felsökningsbehörigheter. Azure RBAC stöder endast behörighetstilldelning via roller.

Metodtips för åtkomstkontroll för Data Lake Storage

I moderna datamiljöer är säker och effektiv åtkomstkontroll av största vikt. Data Lake Storage tillhandahåller robusta mekanismer för att hantera åtkomst via ACL:er. I det här avsnittet beskrivs metodtipsen för att implementera RBAC i Data Lake Storage och tillämpa ACL:er, Microsoft Entra-säkerhetsgrupper och principen om minsta behörighet för att upprätthålla en säkrare och hanterbar datasjömiljö. Dessutom framhävs 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änd ACL:er för detaljerad åtkomstkontroll. ACL:er spelar en viktig roll för att definiera åtkomst på detaljerad nivå. I Data Lake Storage arbetar ACL:er med säkerhetsobjekt för att hantera detaljerad åtkomst till filer och kataloger.

  • Använd ACL:er på fil- och mappnivå. För att styra åtkomsten till data i datasjön rekommenderar vi att du använder ACL:er på fil- och mappnivå. Data Lake Storage använder också en ACL-modell som liknar POSIX (Portable Operating System Interface). POSIX är en grupp 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 tilldelad huvudaktör i en ACL-post. I stället för att direkt tilldela enskilda användare eller tjänstens huvudnamn använder du den här metoden för att 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. Du kan 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 kontinuerlig åtkomsthantering. Mer information finns i Åtkomstkontrollmodell i 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 plats för lagring i Data Lake Storage respekterar inte några behörigheter som beviljats eller revisioner som utförs 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 du inte ge Azure Databricks-användare direkt åtkomst på lagringsnivå till hanterade Unity Catalog-tabeller och volymer.

Nästa steg

Skydda analys i molnskala i Azure