Identitets- och åtkomsthantering
Den här artikeln beskriver designöverväganden och rekommendationer för identitets- och åtkomsthantering. Den fokuserar på distributionen av en analysplattform i molnskala på Microsoft Azure. Eftersom analys i molnskala är en verksamhetskritisk komponent bör du följa vägledningen om designområden för Azure-landningszoner när du utformar din lösning.
Den här artikeln bygger på överväganden och rekommendationer om Azure-landningszoner. Mer information finns i designområdet för identitets- och åtkomsthantering.
Design av datalandningszon
Analys i molnskala stöder en åtkomstkontrollmodell med hjälp av Microsoft Entra-identiteter. Modellen använder rollbaserad åtkomstkontroll i Azure (Azure RBAC) och åtkomstkontrollistor.
Granska de Azure-administrations- och hanteringsaktiviteter som dina team utför. Utvärdera din molnskalningsanalys i Azure. Fastställa bästa möjliga ansvarsfördelning inom din organisation.
Rolltilldelningar
För att utveckla, leverera och hantera dataprodukter autonomt inom dataplattformen kräver dataprogramteam flera åtkomsträttigheter i Azure-miljön. Observera att du bör använda olika åtkomstmodeller för utveckling och högre miljöer. Använd säkerhetsgrupper när det är möjligt för att minska antalet rolltilldelningar och förenkla hanterings- och granskningsprocessen för RBAC-rättigheter. Det här steget är avgörande på grund av det begränsade antalet rolltilldelningar som du kan skapa för varje prenumeration.
Utvecklingsmiljön bör vara tillgänglig för utvecklingsteamet och deras respektive användaridentiteter. Med den här åtkomsten kan de iterera snabbare, lära sig om vissa funktioner i Azure-tjänster och felsöka problem effektivt. Åtkomst till en utvecklingsmiljö kan hjälpa dig att utveckla eller förbättra infrastrukturen som kod och andra kodartefakter.
När du har bekräftat att en implementering fungerar som förväntat i utvecklingsmiljön kan den distribueras kontinuerligt till högre miljöer. Högre miljöer, till exempel testning och produktion, bör låsas av för dataprogramteamet. Endast tjänstens huvudansvarig ska ha åtkomst till dessa miljöer. Därför måste alla distributioner köras via tjänsthuvudnamnet med hjälp av CI/CD-pipelines (kontinuerlig integrering och kontinuerlig leverans). I utvecklingsmiljön ger du åtkomstbehörighet till både tjänstens huvudnamn och användaridentiteter. I högre miljöer begränsar du endast åtkomstbehörigheten till tjänstens huvudnamnsidentitet.
Om du vill skapa resurser och rolltilldelningar mellan resurser i dataprogramresursgrupperna måste du ange Contributor
och User Access Administrator
rättigheter. Med dessa rättigheter kan teamen skapa och kontrollera tjänster i sin miljö inom gränserna för Azure Policy.
För att minska risken för dataexfiltrering är det bästa praxis för molnanalys att använda privata slutpunkter. Azure-plattformsteamet blockerar andra anslutningsalternativ via principer, så dataprogramteam behöver åtkomstbehörighet till det delade virtuella nätverket i en datalandningszon. Den här åtkomsten är nödvändig för att konfigurera den nödvändiga nätverksanslutningen för de tjänster som de planerar att använda.
Om du vill följa principen om minsta behörighet bör du undvika konflikter mellan olika dataprogramteam och ha en tydlig uppdelning av team. Det är bästa praxis för analys i molnskala att skapa ett dedikerat undernät för varje datatillämpningsteam och skapa en Network Contributor
rolltilldelning för det undernätet eller underordnat resursomfång. Med den här rolltilldelningen kan teamen ansluta till undernätet med hjälp av privata slutpunkter.
De första två rolltilldelningarna möjliggör självbetjäningsdistribution av datatjänster i dessa miljöer. För att hantera problem med kostnadshantering bör organisationer lägga till en kostnadsställetagg i resursgrupperna för att möjliggöra korsdebitering och distribuerat kostnadsägande. Den här metoden ökar medvetenheten inom teamen och hjälper dem att fatta välgrundade beslut om nödvändiga SKU:er och tjänstnivåer.
För att aktivera självbetjäning av andra delade resurser i datalandningszonen krävs några extra rolltilldelningar. Om åtkomst till en Azure Databricks-miljö krävs bör organisationer använda SCIM-synkronisering från Microsoft Entra ID för att ge åtkomst. Den här synkroniseringsmekanismen är viktig eftersom den automatiskt synkroniserar användare och grupper från Microsoft Entra-ID till Azure Databricks-dataplanet. Den tar också bort åtkomsträttigheter automatiskt när en individ lämnar organisationen eller företaget. I Azure Databricks ger du dataprogramteamen Can Restart
åtkomstbehörighet till ett fördefinierat kluster så att de kan köra arbetsbelastningar på arbetsytan.
Enskilda team behöver åtkomst till Microsoft Purview-kontot för att identifiera datatillgångar inom sina respektive datalandningszoner. Teams behöver ofta redigera katalogiserade datatillgångar som de äger för att ge extra information som kontaktuppgifter till dataägare och experter. Teams kräver också möjligheten att tillhandahålla mer detaljerad information om vad varje kolumn i en datauppsättning beskriver och innehåller.
Sammanfattning av RBAC-krav
För att automatisera distributionen av datalandningszoner krävs följande roller:
Rollnamn
Beskrivning
Omfattning
Distribuera alla privata DNS-zoner för alla datatjänster till en enda prenumeration och resursgrupp. Tjänstens huvudnamn måste vara Private DNS Zone Contributor
på den globala DNS-resursgrupp som skapades under distributionen av landningszonen för datahantering. Den här rollen krävs för att distribuera A-poster för privata slutpunkter.
(Resursgruppsomfång) /subscriptions/{{dataManagement}subscriptionId}/resourceGroups/{resourceGroupName}
För att ställa in peering för virtuella nätverk mellan datalandningszonens nätverk och nätverket för datahanteringslandningszonen behöver serviceprincipalen Network Contributor
åtkomsträttigheter för resursgruppen för det fjärranslutna virtuella nätverket.
(Resursgruppsomfång) /subscriptions/{{dataManagement}subscriptionId}/resourceGroups/{resourceGroupName}
Den här behörigheten behövs för att kunna dela den lokala integrationskörningen som implementeras i resursgruppen integration-rg
med andra datafabriker. Det krävs också att du tilldelar åtkomst till hanterade identiteter i Azure Data Factory och Azure Synapse Analytics på respektive lagringskontofilsystem.
(Resursomfång) /subscriptions/{{dataLandingZone}subscriptionId}
Not
I ett produktionsscenario kan du minska antalet rolltilldelningar. Den Network Contributor
rollen krävs bara för att konfigurera virtuellt nätverksanslutning mellan landningszonen för datahantering och datalandningszonen. Utan den här rollen misslyckas DNS-matchningen. Inkommande och utgående trafik tas också bort eftersom det inte finns någon siktlinje för Azure Firewall.
Den Private DNS Zone Contributor
rollen krävs inte om distributionen av DNS A-poster för de privata slutpunkterna automatiseras via Azure-principer med deployIfNotExists
effekt. Detsamma gäller för User Access Administrator
roll eftersom du kan automatisera distributionen med hjälp av deployIfNotExists
principer.
Rolltilldelningar för dataprodukter
Följande rolltilldelningar krävs för att distribuera en dataprodukt i en datalandningszon:
Rollnamn
Beskrivning
Omfattning
Distribuera alla privata DNS-zoner för alla datatjänster till en enda prenumeration och resursgrupp. Tjänstens huvudnamn måste vara Private DNS Zone Contributor
på den globala DNS-resursgrupp som skapades under distributionen av landningszonen för datahantering. Den här rollen krävs för att distribuera A-poster för respektive privata slutpunkter.
(Resursgruppsomfång) /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}
Distribuera alla strömningstjänster för dataintegration till en enda resursgrupp i prenumerationen för datalandningszonen. Tjänstens huvudnamn kräver en Contributor
rolltilldelning för resursgruppen.
(Resursgruppsomfång) /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}
För att distribuera privata slutpunkter till det angivna Azure Private Link-undernätet som skapades under distributionen av datalandningszonen kräver tjänsthuvudnamnet Network Contributor
åtkomst på det undernätet.
(Barnresursomfång) /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName} /providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}"
Åtkomst till andra resurser
Utanför Azure kräver dataprogramteam åtkomst till en lagringsplats för att lagra kodartefakter, samarbeta effektivt och distribuera uppdateringar och ändringar konsekvent till högre miljöer via CI/CD. Du bör tillhandahålla en projekttavla som möjliggör flexibel utveckling, sprintplanering, uppgiftsspårning och hantering av användarfeedback och funktionsförfrågningar.
Om du vill automatisera CI/CD upprättar du en anslutning till Azure. Den här processen utförs i de flesta tjänster via tjänstens principaler. På grund av det här kravet måste teamen ha åtkomst till ett huvudnamn för tjänsten för att uppnå automatisering i sitt projekt.
Hantera åtkomst till data
Hantera åtkomst till data med hjälp av Microsoft Entra-grupper. Lägg till användarhuvudnamn eller tjänstehuvudnamn i Microsoft Entra-grupper. Lägg sedan till dessa grupper i tjänsterna och bevilja behörigheter till gruppen. Den här metoden möjliggör detaljerad åtkomstkontroll.
Mer information om hur du driver säkerhet för landningszoner för datahantering och datalandningszoner som hanterar dina dataresurser finns i Autentisering för analys i molnskala i Azure.