Technisch document over beveiliging van Azure Synapse Analytics: Toegangsbeheer
Notitie
Dit artikel maakt deel uit van de white paper-reeks artikelen over beveiliging van Azure Synapse Analytics. Zie het technische document over beveiliging van Azure Synapse Analytics voor een overzicht van de reeks.
Afhankelijk van hoe de gegevens zijn gemodelleerd en opgeslagen, kunnen gegevensbeheer en toegangsbeheer vereisen dat ontwikkelaars en beveiligingsbeheerders verschillende benaderingen of een combinatie van technieken gebruiken om een robuuste beveiligingsbasis te implementeren.
Azure Synapse biedt ondersteuning voor een breed scala aan mogelijkheden om te bepalen wie toegang heeft tot welke gegevens. Deze mogelijkheden zijn gebaseerd op een set geavanceerde functies voor toegangsbeheer, waaronder:
- Beveiliging op objectniveau
- Beveiliging op rijniveau
- Beveiliging op kolomniveau
- Dynamische gegevensmaskering
- Op rollen gebaseerd toegangsbeheer van Synapse
Beveiliging op objectniveau
Elk object in een toegewezen SQL-pool heeft machtigingen die aan een principal kunnen worden verleend. In de context van gebruikers en serviceaccounts worden afzonderlijke tabellen, weergaven, opgeslagen procedures en functies beveiligd. Objectmachtigingen, zoals SELECT, kunnen worden verleend aan gebruikersaccounts (SQL-aanmeldingen, Microsoft Entra-gebruikers of -groepen) en databaserollen, die flexibiliteit bieden voor databasebeheerders. Verder kunnen machtigingen voor tabellen en weergaven worden gecombineerd met andere mechanismen voor toegangsbeheer (zoals hieronder beschreven), zoals beveiliging op kolomniveau, beveiliging op rijniveau en dynamische gegevensmaskering.
In Azure Synapse worden alle machtigingen verleend aan gebruikers en rollen op databaseniveau. Bovendien krijgt elke gebruiker die de ingebouwde Synapse-Beheer RBAC-rol op werkruimteniveau heeft verleend, automatisch volledige toegang tot alle toegewezen SQL-pools.
Naast het beveiligen van SQL-tabellen in Azure Synapse, toegewezen SQL-pool (voorheen SQL DW), kunnen serverloze SQL-pools en Spark-tabellen ook worden beveiligd. Standaard hebben gebruikers die zijn toegewezen aan de rol Inzender voor opslagblobgegevens van data lakes die zijn verbonden met de werkruimte lees-, SCHRIJF- en EXECUTE-machtigingen voor alle door Spark gemaakte tabellen wanneer gebruikers interactief code uitvoeren in notebook. Het heet Microsoft Entra Pass Through en is van toepassing op alle data lakes die zijn verbonden met de werkruimte. Als dezelfde gebruiker echter hetzelfde notebook via een pijplijn uitvoert, wordt de Managed Service Identity (MSI) voor de werkruimte gebruikt voor verificatie. De pijplijn moet dus ook deel uitmaken van de rol Inzender voor opslagblobgegevens van de data lake die wordt geopend.
Beveiliging op rijniveau
Met beveiliging op rijniveau kunnen beveiligingsbeheerders nauwkeurige toegang tot specifieke tabelrijen tot stand brengen en beheren op basis van het profiel van een gebruiker (of een proces) waarop een query wordt uitgevoerd. Profiel- of gebruikerskenmerken kunnen verwijzen naar groepslidmaatschap of uitvoeringscontext. Beveiliging op rijniveau helpt onbevoegde toegang te voorkomen wanneer gebruikers gegevens uit dezelfde tabellen opvragen, maar verschillende subsets met gegevens moeten zien.
Notitie
Beveiliging op rijniveau wordt ondersteund in Azure Synapse en toegewezen SQL-pool (voorheen SQL DW), maar wordt niet ondersteund voor Apache Spark-pool en serverloze SQL-pool.
Beveiliging op kolomniveau
Met beveiliging op kolomniveau kunnen beveiligingsbeheerders machtigingen instellen die beperken wie toegang heeft tot gevoelige kolommen in tabellen. Deze is ingesteld op databaseniveau en kan worden geïmplementeerd zonder dat u het ontwerp van het gegevensmodel of de toepassingslaag hoeft te wijzigen.
Notitie
Beveiliging op kolomniveau wordt ondersteund in Azure Synapse, serverloze SQL-poolweergaven en toegewezen SQL-pool (voorheen SQL DW), maar wordt niet ondersteund voor externe tabellen van serverloze SQL-pools en Apache Spark-pool. In het geval van een tijdelijke oplossing voor een serverloze SQL-pool kunnen externe tabellen worden toegepast door een weergave boven op een externe tabel te maken.
Dynamische gegevensmaskering
Met dynamische gegevensmaskering kunnen beveiligingsbeheerders de blootstelling van gevoelige gegevens beperken door deze te maskeren bij lezen voor niet-bevoegde gebruikers. Het helpt onbevoegde toegang tot gevoelige gegevens te voorkomen door beheerders in staat te stellen te bepalen hoe de gegevens worden weergegeven tijdens de query. Op basis van de identiteit van de geverifieerde gebruiker en de bijbehorende groepstoewijzing in de SQL-pool retourneert een query gemaskeerde of niet-gemaskeerde gegevens. Maskering wordt altijd toegepast, ongeacht of gegevens rechtstreeks vanuit een tabel worden geopend of met behulp van een weergave of opgeslagen procedure.
Notitie
Dynamische gegevensmaskering wordt ondersteund in Azure Synapse en toegewezen SQL-pool (voorheen SQL DW), maar wordt niet ondersteund voor Apache Spark-pool en serverloze SQL-pool.
Op rollen gebaseerd toegangsbeheer van Synapse
Azure Synapse bevat ook op rollen gebaseerd toegangsbeheer (RBAC) van Synapse om verschillende aspecten van Synapse Studio te beheren. Maak gebruik van deze ingebouwde rollen om machtigingen toe te wijzen aan gebruikers, groepen of andere beveiligingsprinciplen om te beheren wie het volgende kan:
- Codeartefacten publiceren en gepubliceerde codeartefacten weergeven of openen.
- Voer code uit op Apache Spark-pools en integratieruntimes.
- Toegang tot gekoppelde (gegevens) services die worden beveiligd met referenties.
- Taakuitvoeringen controleren of annuleren, taakuitvoer- en uitvoeringslogboeken controleren.
Volgende stappen
In het volgende artikel in deze reeks technische documenten leert u meer over verificatie.