Delen via


Autorisatie voor analyses op cloudschaal in Azure

Autorisatie is het verlenen van een geverifieerde partijmachtiging om een actie uit te voeren. Het belangrijkste principe van toegangsbeheer geeft gebruikers alleen de hoeveelheid toegang die ze nodig hebben om hun taken uit te voeren en alleen bepaalde acties binnen een bepaald bereik toe te staan. Beveiliging op basis van rollen komt overeen met toegangsbeheer en wordt door veel organisaties gebruikt om de toegang te beheren op basis van gedefinieerde rollen of taakfuncties versus afzonderlijke gebruikers. Gebruikers krijgen vervolgens een of meer beveiligingsrollen toegewezen, die elk geautoriseerde machtigingen krijgen om specifieke taken uit te voeren.

Wanneer u Microsoft Entra-id gebruikt als gecentraliseerde id-provider, kan autorisatie voor toegang tot gegevensservices en opslag worden verleend per gebruiker of per toepassing en is deze gebaseerd op een Microsoft Entra-identiteit.

Autorisatie van gegevensservice

Azure Role-Based Access Control (RBAC) en toegangsbeheerlijsten (ACL's) cruciale rollen spelen bij het beheren van toegang en het waarborgen van beveiliging. Azure RBAC en ACL's vereisen beide dat de gebruiker (of toepassing) een identiteit heeft in Microsoft Entra-id. In cloudanalyses is RBAC effectief voor databases en Azure Data Lake Storage, terwijl ACL's voornamelijk worden gebruikt in Azure Data Lake Storage om nauwkeurig toegangsbeheer te bieden op bestand- en mapniveau. ACL's vormen een aanvulling op RBAC door meer gedetailleerde machtigingen in de opslaghiërarchie aan te bieden.

Azure RBAC biedt ingebouwde rollen, zoals 'Eigenaar', 'Inzender' en 'Lezer', maar u kunt ook aangepaste rollen maken die zijn afgestemd op specifieke behoeften. De volgende ingebouwde rollen zijn fundamenteel voor alle Azure-resourcetypen, waaronder Azure-gegevensservices:

Rol Beschrijving
eigenaar Deze rol heeft volledige toegang tot de resource en kan alles over de resource beheren, inclusief het recht om toegang tot de resource te verlenen.
bijdrager Deze rol kan de resource beheren, maar kan er geen toegang toe verlenen.
Lezer Deze rol kan de resource en informatie erover bekijken (behalve voor gevoelige informatie, zoals toegangssleutels of geheimen), maar ze kunnen geen wijzigingen aanbrengen in de resource.

Notitie

Sommige services hebben specifieke RBAC-rollen, zoals Inzender voor opslagblobgegevens of Data Factory-inzender, wat betekent dat specifieke RBAC-rollen moeten worden gebruikt voor deze services. RBAC is een additief model waarbij het toevoegen van roltoewijzingen een actieve machtiging is. RBAC ondersteunt ook weigeren toewijzingen die voorrang hebben op rol toewijzingen.

Fooi

Wanneer u een strategie voor toegangsbeheer plant, is het raadzaam om gebruikers alleen de hoeveelheid toegang te verlenen die ze nodig hebben om hun taken uit te voeren en alleen bepaalde acties binnen een bepaald bereik toe te staan.

Toegangsbeheer in Azure Databases

RBAC in Azure-databases draait om rollen, bereiken en machtigingen. Azure biedt verschillende ingebouwde rollen die zijn afgestemd op databasebeheer, zoals SQL Server-inzender, waarmee het beheer van SQL-servers en SQL-databases mogelijk is, en SQL DB-inzender, die het beheer van SQL-databases, maar niet van de server zelf, toestaat. Daarnaast kunnen aangepaste rollen worden gemaakt met specifieke machtigingen om te voldoen aan unieke vereisten.

Rollen kunnen worden toegewezen op verschillende bereiken, waaronder het abonnementsniveau, waarbij rollen van toepassing zijn op alle resources binnen het abonnement; het niveau van de resourcegroep, waarbij rollen van toepassing zijn op alle resources binnen de opgegeven resourcegroep; en het resourceniveau, waar rollen rechtstreeks aan afzonderlijke databases of servers kunnen worden toegewezen, wat nauwkeurige controle biedt. Machtigingen definiëren welke acties een rol kan uitvoeren, zoals lezen, schrijven, verwijderen of beheren van beveiligingsinstellingen, en deze machtigingen worden gegroepeerd in rollen om het beheer te vereenvoudigen.

In Azure SQL Databasekunnen rollen worden toegewezen aan gebruikers, groepen of toepassingen om de toegang te beheren. Een databasebeheerder kan bijvoorbeeld de rol "SQL Server Contributor" toegewezen krijgen om de server en databases te beheren. Met rollen zoals 'INzender voor SQL DB' kunnen gebruikers databases maken, bijwerken en verwijderen, terwijl de rol SQL Security Manager zich richt op beveiligingsconfiguraties.

Voor Azure Cosmos DB-kunnen rollen worden toegewezen om de toegang tot Cosmos DB-accounts, -databases en -containers te beheren. Ingebouwde rollen zoals Cosmos DB-accountlezer en Cosmos DB-accountbijdrager bieden verschillende toegangsniveaus.

In Azure Database for MySQL-, PostgreSQL- en MariaDB-kunt u rollen toewijzen om databaseservers en afzonderlijke databases te beheren. Rollen zoals Inzender en Lezer kunnen worden gebruikt om de toegang te beheren.

Zie ingebouwde Azure-rollen voor Databasesvoor meer informatie.

Toegangsbeheer in Azure Data Lake Storage

Met Azure RBAC kunt u 'grofkorrelige' toegang verlenen tot opslagaccountgegevens, zoals lees- of schrijftoegang tot alle gegevens in een opslagaccount. Met ACL's kunt u 'fijnmazige' toegang verlenen, zoals schrijftoegang tot een specifieke map of bestand.

In veel scenario's worden RBAC en ACL's samen gebruikt om uitgebreid toegangsbeheer in ADLS te bieden. RBAC kan worden gebruikt voor het beheren van toegang op hoog niveau tot gegevens, zodat alleen geautoriseerde gebruikers toegang hebben tot de service zelf. ACL's kunnen vervolgens binnen het opslagaccount worden toegepast om de toegang tot specifieke bestanden en mappen te beheren, wat een extra beveiligingslaag biedt.

AbAC (Op kenmerken gebaseerd toegangsbeheer) bouwt voort op Azure RBAC door roltoewijzingsvoorwaarden toe te voegen op basis van kenmerken in de context van specifieke acties. In wezen kunt u RBAC-roltoewijzingen verfijnen door voorwaarden toe te voegen. U kunt bijvoorbeeld lees- of schrijftoegang verlenen aan alle gegevensobjecten in een opslagaccount met een specifieke tag.

Met de volgende rollen kan een beveiligingsprincipaal toegang krijgen tot gegevens in een opslagaccount.

Rol Beschrijving
eigenaar van opslagblobgegevens Volledige toegang tot Blob Storage-containers en -gegevens. Met deze toegang kan de beveiligingsprincipal de eigenaar van een item instellen en de ACL's van alle items wijzigen.
Storage-blobgegevensbijdrager Lees-, schrijf- en verwijder toegang tot Blob Storage-containers en -blobs. Met deze toegang kan de beveiligingsprincipaal het eigendom van een item niet instellen, maar kan de ACL van items die eigendom zijn van de beveiligingsprincipaal wijzigen.
Storage Blob-gegevenslezer Blob-opslagcontainers en blobs lezen en opsommen.

Met rollen zoals Eigenaar, Inzender, Lezer en Inzender voor opslagaccounts kan een beveiligingsprincipaal een opslagaccount beheren, maar geen toegang bieden tot de gegevens in dat account. Deze rollen (met uitzondering van lezer) kunnen echter toegang krijgen tot de opslagsleutels, die kunnen worden gebruikt in verschillende clienthulpprogramma's voor toegang tot de gegevens. Zie Access Control-model in Azure Data Lake Storagevoor meer informatie.

Toegangsbeheer in Azure Databricks

Azure Databricks wordt geleverd met toegangsbeheersystemen die zijn ontworpen voor het beheren van toegang binnen de Databricks-omgeving, waarbij u zich richt op beveiligbare objecten en gegevensbeheer. De drie belangrijkste toegangsbeheersystemen binnen Azure Databricks zijn:

  • toegangsbeheerlijsten: wordt gebruikt om machtigingen te configureren voor toegang tot werkruimteobjecten, zoals notebooks. Zie Toegangsbeheerlijstenvoor meer informatie.
  • op rollen gebaseerd toegangsbeheer voor accounts: wordt gebruikt om machtigingen te configureren voor het gebruik van objecten op accountniveau, zoals service-principals en groepen.
  • Unity Catalog: wordt gebruikt om gegevensobjecten te beveiligen en te beheren.

Naast toegangsbeheer voor objecten zijn er ingebouwde rollen op het Azure Databricks-platform. Gebruikers, service-principals en groepen kunnen rollen krijgen. Zie Databricks-beheerdersrollenvoor meer informatie.

Best practices voor autorisatie in analyses op cloudschaal

Deze handleiding bevat aanbevolen procedures voor het implementeren van op rollen gebaseerd toegangsbeheer (RBAC) in analyseomgevingen op cloudschaal. Het omvat algemene RBAC-principes, databasetoegangsbeheer en best practices voor data lake-toegangsbeheer om veilig en efficiënt beheer van resources te garanderen.

Algemene aanbevolen procedures voor RBAC voor analyses op cloudschaal

De volgende aanbevolen procedures kunnen u helpen om aan de slag te gaan met RBAC:

  • RBAC-rollen gebruiken voor servicebeheer en bewerkingen, en servicespecifieke rollen gebruiken voor gegevenstoegang en workloadspecifieke taken: RBAC-rollen op Azure-resources gebruiken voor het verlenen van machtigingen aan beveiligingsprinciplen die resourcebeheer- en bewerkingstaken moeten uitvoeren. Voor beveiligingsprinciplen die toegang nodig hebben tot gegevens in de opslag, is geen RBAC-rol voor de resource vereist, omdat ze deze niet hoeven te beheren. In plaats daarvan verleent u rechtstreeks machtigingen aan gegevensobjecten. Verlenen bijvoorbeeld leestoegang tot een map in Azure Data Lake Storage Gen2 of een ingesloten databasegebruiker en tabelmachtiging voor een database in Azure SQL Database.

  • Ingebouwde RBAC-rollen gebruiken: gebruik eerst de ingebouwde RBAC Azure-resourcerollen om services te beheren en bewerkingsrollen toe te wijzen om de toegang te beheren. Maak en gebruik alleen aangepaste rollen voor Azure-resources wanneer ingebouwde rollen niet voldoen aan specifieke behoeften.

  • Groepen gebruiken voor het beheren van toegang: Wijs toegang toe aan Microsoft Entra-groepen en beheer groepslidmaatschappen voor doorlopend toegangsbeheer.

  • Abonnement- en resourcegroepscopess: In niet-productieomgevingen is het vaak zinvol om toegang te verlenen op het bereik van de resourcegroep, zodat de toegang tot servicebeheer en operationele behoeften gescheiden kan worden van de toegang tot afzonderlijke resources. De reden hiervoor is dat in niet-productieomgevingen, ontwikkelaars en testers resources moeten beheren, zoals het maken van een Azure Data Factory-opnamepijplijn of het maken van een container in Data Lake Storage Gen2. In productieomgevingen kunt u echter toegang verlenen tot afzonderlijke resources voor workloadspecifieke taken, zoals ondersteuning en bewerkingen van het Data Lake-bestandssysteem. De reden hiervoor is dat gebruikers in productie alleen resources hoeven te gebruiken, zoals het weergeven van de status van een geplande Data Factory-opnamepijplijn of het lezen van gegevensbestanden in Data Lake Storage Gen2.

  • Geen onnodige toegang verlenen tot het abonnementsbereik: het abonnementsbereik omvat alle resources binnen het abonnement.

  • kiezen voor toegang met minimale bevoegdheden: selecteer de juiste en enige rol voor de taak.

Aanbevolen procedures voor databasetoegangsbeheer

Het implementeren van effectief op rollen gebaseerd toegangsbeheer (RBAC) is van cruciaal belang voor het onderhouden van beveiliging en beheerbaarheid in uw analyseomgeving. Deze sectie bevat aanbevolen procedures voor het gebruik van Microsoft Entra-groepen, ingebouwde rollen en het vermijden van directe gebruikersmachtigingen om een gestroomlijnd en veilig toegangsbeheerproces te garanderen.

Cloudanalyses bevatten waarschijnlijk polyglotopslag. Voorbeelden hiervan zijn PostgreSQL, MySQL, Azure SQL Database, SQL Managed Instance en Azure Synapse Analytics.

  • Microsoft Entra-groepen gebruiken in plaats van afzonderlijke gebruikersaccounts: u wordt aangeraden Microsoft Entra-groepen te gebruiken om databaseobjecten te beveiligen in plaats van afzonderlijke Microsoft Entra-gebruikersaccounts. Gebruik deze Microsoft Entra-groepen om gebruikers te verifiëren en databaseobjecten te beveiligen. Net als bij het data lake-patroon kunt u de onboarding van uw gegevenstoepassing gebruiken om deze groepen te maken.
  • Ingebouwde rollen gebruiken om toegangte beheren: maak alleen aangepaste rollen als dat nodig is om te voldoen aan specifieke vereisten of wanneer ingebouwde rollen te veel machtigingen verlenen.
  • Niet toewijzen van machtigingen aan afzonderlijke gebruikers: Gebruik in plaats daarvan consistent rollen (database- of serverfuncties). Rollen helpen aanzienlijk met rapportage- en probleemoplossingsmachtigingen. (Azure RBAC biedt alleen ondersteuning voor machtigingstoewijzing via rollen.)

Notitie

Gegevenstoepassingen kunnen gevoelige gegevensproducten opslaan in Azure SQL Database-, SQL Managed Instance- of Azure Synapse Analytics-pools. Zie Gevoelige gegevensvoor meer informatie.

Best practices voor Data Lake-toegangsbeheer

In moderne gegevensomgevingen is het waarborgen van veilig en efficiënt toegangsbeheer van cruciaal belang. Azure Data Lake Storage (ADLS) Gen2 biedt robuuste mechanismen voor het beheren van toegangsbeheerlijsten (ACL's). In deze sectie vindt u een overzicht van aanbevolen procedures voor het implementeren van op rollen gebaseerd toegangsbeheer in ADLS Gen2, het toepassen van ACL's, Microsoft Entra-beveiligingsgroepen en het principe van minimale bevoegdheden voor het onderhouden van een veilige en beheerbare Data Lake-omgeving. Daarnaast wordt het belang benadrukt van het afstemmen van ACL's met schema's voor gegevenspartitionering en het gebruik van Unity Catalog voor Azure Databricks-gebruikers om uitgebreide beveiliging en governance te garanderen.

  • Toegangsbeheerlijsten (ACL's) gebruiken voor gedetailleerd toegangsbeheer: ACL's spelen een belangrijke rol bij het definiëren van toegang op gedetailleerd niveau. In Azure Data Lake Storage (ADLS) Gen2 werken ACL's met beveiligingsprincipals om verfijnde toegang tot bestanden en mappen te beheren.
  • ACL's toepassen op bestand- en mapniveau: als u de toegang tot gegevens in de data lake wilt beheren, raden we u aan toegangsbeheerlijsten (ACL's) te gebruiken op het niveau van bestanden en mappen. Azure Data Lake gebruikt ook een POSIX-achtig toegangsbeheerlijstmodel. POSIX (portable operating system interface) is een serie standaarden voor besturingssystemen. Eén standaard definieert een eenvoudige maar krachtige machtigingsstructuur voor het openen van bestanden en mappen. POSIX wordt algemeen gebruikt voor netwerkbestandsshares en Unix-computers.
  • Gebruik Microsoft Entra-beveiligingsgroepen als de toegewezen principal in een ACL-vermelding: Verzet u tegen de mogelijkheid om afzonderlijke gebruikers of service-principals rechtstreeks toe te wijzen. Met deze structuur kunt u gebruikers of service-principals toevoegen en verwijderen zonder dat u ACL's opnieuw hoeft toe te voegen aan een hele mapstructuur. In plaats daarvan kunt u alleen gebruikers en service-principals toevoegen aan of verwijderen uit de juiste Microsoft Entra-beveiligingsgroep.
  • Toegang toewijzen aan Microsoft Entra-groepen en lidmaatschap van groepen beheren voor doorlopend toegangsbeheer. Zie Configuraties voor toegangsbeheer en Data Lake Storage in Azure Data Lake Storage.
  • Pas het principe van minimale bevoegdheden toe op ACL's: in de meeste gevallen moeten gebruikers alleen leesmachtigingen hebben voor de bestanden en mappen die ze nodig hebben in de Data Lake. Gegevensgebruikers mogen geen toegang hebben tot de container van het opslagaccount.
  • ACL's uitlijnen met schema's voor gegevenspartitionering: ACL's en ontwerp van gegevenspartitie moeten worden uitgelijnd om effectief toegangsbeheer voor gegevens te garanderen. Zie Data lake partitioneringvoor meer informatie.
  • Voor Azure Databricks-gebruikers beheert u uitsluitend de toegang tot gegevensobjecten met Unity Catalog: het verlenen van directe toegang op opslagniveau tot externe locatieopslag in Azure Data Lake Storage Gen2 verleent geen machtigingen of controles die worden onderhouden door Unity Catalog. Directe toegang omzeilt controle-, herkomst- en andere beveiligings- en bewakingsfuncties van Unity Catalog, waaronder toegangsbeheer en machtigingen. Daarom mogen eindgebruikers van Azure Databricks geen directe toegang op opslagniveau krijgen tot beheerde tabellen en volumes van Unity Catalog.

Volgende stappen

Beveiliging inrichten voor analyses op cloudschaal in Azure