Delen via


Identiteits- en toegangsbeheer

In dit artikel worden ontwerpoverwegingen en aanbevelingen voor identiteits- en toegangsbeheer besproken. Het richt zich op de implementatie van een analyseplatform op cloudschaal op Microsoft Azure. Omdat analyses op cloudschaal een essentieel element zijn, moeten de richtlijnen voor de ontwerpgebieden van de Azure-landingszone ook worden opgenomen in uw ontwerp.

Dit artikel is gebaseerd op overwegingen en aanbevelingen over Azure-landingszones. Zie Identiteits- en toegangsbeheer voor meer informatie.

Ontwerp van gegevenslandingszone

Analyses op cloudschaal ondersteunen een toegangsbeheermodel met behulp van Microsoft Entra-identiteiten. Het model maakt gebruik van op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) en toegangsbeheerlijsten (ACL's).

Bekijk de azure-beheer- en beheeractiviteiten die uw teams uitvoeren. Overweeg uw analyse op cloudschaal in Azure. Bepaal de best mogelijke verdeling van verantwoordelijkheden binnen uw organisatie.

Roltoewijzingen

Om gegevensproducten autonoom binnen het gegevensplatform te ontwikkelen, te leveren en te leveren, hebben teams van gegevenstoepassingen weinig toegangsrechten nodig in de Azure-omgeving. Voordat u de respectieve RBAC-vereisten doorloopt, moet worden gemarkeerd dat verschillende toegangsmodellen moeten worden gebruikt voor de ontwikkeling en hogere omgevingen. Bovendien moeten beveiligingsgroepen waar mogelijk worden gebruikt om het aantal roltoewijzingen te verminderen en het beheer- en beoordelingsproces van RBAC-rechten te vereenvoudigen. Dit is essentieel vanwege het beperkte aantal roltoewijzingen dat per abonnement kan worden gemaakt.

De ontwikkelomgeving moet toegankelijk zijn voor het ontwikkelteam en hun respectieve gebruikersidentiteiten om ze in staat te stellen sneller te herhalen, meer te weten te komen over bepaalde mogelijkheden binnen Azure-services en problemen effectief op te lossen. Toegang tot een ontwikkelomgeving helpt bij het ontwikkelen of verbeteren van de infrastructuur als code (IaC) en andere codeartefacten. Zodra een implementatie in de ontwikkelomgeving werkt zoals verwacht, kan deze continu worden geïmplementeerd in de hogere omgevingen. Hogere omgevingen, zoals testen en prod, moeten worden vergrendeld voor het gegevenstoepassingsteam. Alleen een service-principal moet toegang hebben tot deze omgevingen en daarom moeten alle implementaties worden uitgevoerd via de service-principal-identiteit met behulp van CI/CD-pijplijnen. Samenvattend moet in de toegangsrechten voor de ontwikkelomgeving worden verstrekt aan een service-principal EN gebruikersidentiteiten en in hogere omgevingen mag alleen toegangsrechten worden verstrekt aan een service-principal-identiteit.

Als u resources en roltoewijzingen tussen resources binnen de resourcegroep(en) Contributor van de gegevenstoepassing wilt kunnen maken en User Access Administrator de rechten moeten worden opgegeven. Hierdoor kunnen de teams services binnen hun omgeving binnen de grenzen van Azure Policy maken en beheren. Analyse op cloudschaal raadt het gebruik van privé-eindpunten aan om het risico van gegevensexfiltratie te overwinnen en omdat andere connectiviteitsopties moeten worden geblokkeerd door het Azure-platformteam via beleid, hebben datatoepassingsteams toegangsrechten nodig voor het gedeelde virtuele netwerk van een datalandingszone om de vereiste netwerkconnectiviteit in te stellen voor de services die ze van plan zijn te gebruiken. Als u het principe van minimale bevoegdheden wilt volgen, conflicten tussen verschillende datatoepassingsteams wilt overwinnen en een duidelijke scheiding van teams wilt hebben, stelt cloudanalyse voor om een specifiek subnet per gegevenstoepassingsteam te maken en een Network Contributor roltoewijzing te maken voor dat subnet (onderliggend resourcebereik). Met deze roltoewijzing kunnen de teams deelnemen aan het subnet met behulp van privé-eindpunten.

Deze twee eerste roltoewijzingen maken selfservice-implementatie van gegevensservices in deze omgevingen mogelijk. Organisaties moeten een kostenplaatstag toevoegen aan de resourcegroepen om het eigendom van meerdere kosten en gedistribueerde kosten mogelijk te maken. Dit verhoogt het bewustzijn binnen de teams en dwingt hen af om de juiste beslissingen te nemen met betrekking tot vereiste SKU's en servicelagen.

Als u ook selfservicegebruik van andere gedeelde resources binnen de datalandingszone wilt inschakelen, zijn er enkele extra roltoewijzingen vereist. Als toegang tot een Databricks-omgeving is vereist, moeten organisaties de SCIM Synch van Microsoft Entra-id gebruiken om toegang te bieden. Dit is belangrijk, omdat dit mechanisme gebruikers en groepen van Microsoft Entra ID automatisch synchroniseert met het Databricks-gegevensvlak en ook automatisch toegangsrechten verwijdert wanneer een persoon de organisatie of het bedrijf verlaat. Dit kan niet het geval zijn als afzonderlijke gebruikersaccounts worden gebruikt in Azure Databricks. Teams voor gegevenstoepassingen moeten worden toegevoegd aan de Databricks-werkruimte in de shared-product-rg en in de shared-integration-rg. Binnen Azure Databricks moeten de teams van de gegevenstoepassing toegangsrechten krijgen Can Restart voor een vooraf gedefinieerd cluster om workloads in de werkruimte uit te voeren.

Afzonderlijke teams hebben toegang nodig tot het centrale Purview-account om gegevensassets binnen de respectieve datalandingszones te detecteren. Daarom moeten de teams worden toegevoegd aan Data Reader de purview-verzameling op het hoogste niveau. Bovendien hebben de teams in de meeste gevallen de mogelijkheid nodig om gecatalogeerde gegevensassets te bewerken waarvan ze eigenaar zijn om extra details te bieden, zoals contactgegevens van gegevenseigenaren en experts, evenals gedetailleerdere details over welke kolommen in een gegevensset beschrijven en welke informatie ze bevatten.

Samenvatting van vereisten voor op rollen gebaseerd toegangsbeheer

Voor automatiseringsdoeleinden voor het implementeren van gegevenslandingszones hebt u deze rollen nodig:

Rolnaam

Beschrijving

Bereik

Implementeer alle privé-DNS-zones voor alle gegevensservices in één abonnement en resourcegroep. De service-principal moet zich Private DNS Zone Contributor in de globale DNS-resourcegroep bevinden die is gemaakt tijdens de implementatie van de landingszone voor gegevensbeheer. Deze rol is vereist voor het implementeren van A-records voor de privé-eindpunten.

(Bereik van resourcegroep) /subscriptions/{{dataManagement}subscriptionId}/resourceGroups/{resourceGroupName}

Om peering van virtuele netwerken in te stellen tussen het netwerk van de gegevenslandingszone en het netwerk voor de landingszone voor gegevensbeheer, heeft de service-principal toegangsrechten nodig Network Contributor voor de resourcegroep van het externe virtuele netwerk.

(Bereik van resourcegroep) /subscriptions/{{dataManagement}subscriptionId}/resourceGroups/{resourceGroupName}

Deze machtiging is vereist om de zelf-hostende Integration Runtime te delen die wordt geïmplementeerd in de integration-rg resourcegroep met andere gegevensfactory's. Het is ook vereist om toegang tot beheerde identiteiten van Azure Data Factory en Azure Synapse Analytics toe te wijzen op de respectieve opslagaccountbestandssystemen.

(Resourcebereik) /subscriptions/{{dataLandingZone}subscriptionId}

Notitie

Het aantal roltoewijzingen kan worden verminderd in een productiescenario. De Network Contributor roltoewijzing is alleen vereist voor het instellen van de peering van het virtuele netwerk tussen de landingszone voor gegevensbeheer en de gegevenslandingszone. Zonder deze overweging werkt DNS-omzetting niet. Binnenkomend en uitgaand verkeer wordt verwijderd omdat er geen zicht is op de Azure Firewall.

Dit Private DNS Zone Contributor is ook niet vereist als de implementatie van DNS A-records van de privé-eindpunten wordt geautomatiseerd via Azure-beleid.deployIfNotExists Hetzelfde geldt voor de User Access Administrator implementatie omdat de implementatie kan worden geautomatiseerd met behulp van deployIfNotExists beleid.

Roltoewijzingen voor gegevensproducten

De volgende roltoewijzingen zijn vereist voor het implementeren van een gegevensproduct binnen een gegevenslandingszone:

Rolnaam

Beschrijving

Bereik

Implementeer alle privé-DNS-zones voor alle gegevensservices in één abonnement en resourcegroep. De service-principal moet zich Private DNS Zone Contributor in de globale DNS-resourcegroep bevinden die is gemaakt tijdens de implementatie van de landingszone voor gegevensbeheer. Deze rol is vereist voor het implementeren van A-records voor de respectieve privé-eindpunten.

(Bereik van resourcegroep) /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}

Implementeer alle streamingservices voor gegevensintegratie in één resourcegroep binnen het abonnement voor de gegevenslandingszone. De service-principal vereist een Contributor roltoewijzing voor die resourcegroep.

(Bereik van resourcegroep) /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}

Als u privé-eindpunten wilt implementeren in het opgegeven Private Link-subnet, dat is gemaakt tijdens de implementatie van de gegevenslandingszone, moet Network Contributor de service-principal toegang hebben tot dat subnet.

(Bereik van onderliggende resources) /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName} /providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}"

Toegang tot andere resources

Buiten Azure hebben dataproduct- en Data-Integratie-teams ook toegang nodig tot een opslagplaats om codeartefacten op te slaan, effectief samen te werken en updates en wijzigingen consistent uit te rollen via CI/CD naar hogere omgevingen. Daarnaast moet een projectbord worden verstrekt om agile ontwikkeling, sprintplanning, het bijhouden van taken en gebruikersfeedback en functieaanvragen mogelijk te maken.

Ten slotte vereist de CI/CD-automatisering het instellen van een verbinding met Azure. Dit gebeurt in de meeste services via serviceprincipes. Daarom hebben teams toegang nodig tot een serviceprincipe om automatisering binnen hun project te bereiken.

Toegang tot gegevens beheren

Het beheren van de toegang tot gegevens moet worden uitgevoerd met Behulp van Microsoft Entra-groepen. Voeg namen van gebruikersprincipes of service-principalnamen toe aan de Microsoft Entra-groepen. Voeg de groepen toe aan de services en verdeel machtigingen aan de groep. Met deze benadering kunt u gedetailleerd toegangsbeheer gebruiken.

Voor gegevensproducten in Azure Data Lakes kunt u overwegen toegangsbeheerlijsten (ACL's) te gebruiken. Zie Toegangsbeheermodel in Azure Data Lake Storage Gen2 voor meer informatie. Het gebruik van Microsoft Entra-passthrough met toegangsbeheerlijsten wordt ondersteund door de meeste systeemeigen Azure-services, waaronder Azure Machine Learning, Azure Synapse SQL Serverless, Apache Spark voor Azure Synapse en Azure Databricks.

Andere polyglotopslag wordt waarschijnlijk gebruikt in analyses op cloudschaal. Voorbeelden hiervan zijn Azure Database for PostgreSQL, Azure Database for MySQL, Azure SQL Database, SQL Managed Instance en Azure Synapse SQL Dedicated Pools. Ze kunnen worden gebruikt door datatoepassingsteams om gegevensproducten op te slaan.

U wordt aangeraden Microsoft Entra-groepen te gebruiken om databaseobjecten te beveiligen in plaats van afzonderlijke Microsoft Entra-gebruikersaccounts. Deze Microsoft Entra-groepen worden gebruikt om gebruikers te verifiëren en databaseobjecten te beveiligen. Net als bij het data lake-patroon kunt u de onboarding van uw domein of gegevensproducten gebruiken om deze groepen te maken in uw Microsoft Entra-service.

Deze benadering biedt ook één beheerlocatie en biedt toegangsrechten in Azure Graph.

Zie Beveiliging inrichten voor analyses op cloudschaal in Azure voor meer informatie over het stimuleren van beveiliging voor landingszones voor gegevensbeheer en gegevenslandingszones voor het beheren van uw gegevensomgeving.

Volgende stappen