Toegangscontrole in Snowflake
Van Admin tot Medewerker
Snowflake heeft veel mogelijkheden als het gaat om toegangscontrole van verschillende gebruikers. In dit blog laten we zien hoe het fictieve bedrijf Luminary een verdeling maakt op basis van verschillende rollen in plaats van individuele gebruikers. Leer hoe je efficiënt en veilig datatoegang kunt beheren, van systeembeheer tot individuele medewerkers.
RBAC-model in Snowflake
Snowflake gebruikt het RBAC-model, wat staat voor Role-Based Access Control. Dit betekent dat toegang tot gegevens en functies wordt geregeld op basis van rollen in plaats van individuele gebruikers.
In databases vind je veel verschillende objecten, zoals tabellen, views en stored procedures. Om dit efficiënt te beheren, maakt Snowflake gebruik van rollen. Deze rollen wijs je vervolgens toe aan gebruikers. In dit blog laten wij zien hoe we de uitgebreide mogelijkheden van Snowflake voor toegangscontrole toepassen op het fictieve bedrijf Luminary.
![Snowflake toegangscontrole](https://s3.eu-central-1.amazonaws.com/victa-2022/media/Snowflake/Headers/Snowflake-data-warehouse.webp)
Systeembeheer
In dit blog heeft Luminary, naast de winkels, ook afdelingen voor sales, finance en HR. Vooral sales en finance gebruiken veel data voor hun beslissingen, maar ook voor HR zijn er veel mogelijkheden. Gespecialiseerde dashboards geven dagelijks inzicht. Snowflake maakt het hierin mogelijk voor alle afdelingen om met de data te werken.
Eerst richt de beheerder de Snowflake-omgeving in door de databases, schema’s en warehouses te configureren. De beheerder heeft toegang tot de rol ‘ACCOUNTADMIN’. Omdat de data privacygevoelig is, gebruikt ze het principe van minimale privileges: Een medewerker gebruikt alleen de data kan zien die voor diegene relevant is.
De systeembeheerder maakt drie nieuwe rollen aan: ADMIN_HR, ADMIN_SALES en ADMIN_FINANCE. Deze rollen worden toegewezen aan de leidinggevenden binnen de afdelingen. Vervolgens krijgt elke rol alleen-lezen rechten op de relevante databases.
Admin
We volgen de hiërarchie naar beneden. Vanaf het admin-niveau moeten we opnieuw de rollen verdelen onder de medewerkers van de afdeling. Op deze manier heeft de leidinggevende van de afdeling sterke permissies, maar kan die niet bij de data van een andere afdeling. Omdat de rollen voor de medewerkers zelf gebaseerd zijn op de admin-rol heb je de mogelijkheid om toegang tot in groot detail te controleren. Bij de indiensttreding van een nieuwe medewerker is de onboarding bij Snowflake ook eenvoudig: Nadat een nieuwe user is aangemaakt hoef je slechts de relevante rol toe te wijzen, namelijk die van Medewerker.
Het onderste niveau van de rollen-piramide van Luminary is op een niveau van individuele medewerkers. Deze rol kan natuurlijk geen records verwijderen, maar kan ook geen nieuwe rollen meer aanmaken. In feite kan deze rol niet meer doen dan strikt noodzakelijk, precies hoe het principe van minste privileges geïmplementeerd hoort te worden. Vanaf de bovenliggende ADMIN-rol zijn de relevante tabellen en views al klaargezet. Op deze manier is de Snowflake omgeving netjes ingericht voor gebruik op alle niveaus van het bedrijf.
Neem contact met ons op!
Heb je nog vragen over het toewijzen of indelen van de rollen binnen Snowflake óf wil je het via ons geregeld hebben? Neem dan vrijblijvend contact met ons op via onderstaand formulier.