RBAC, DAC en de hiërarchie van beveiligbare objecten

Snowflake-beheer, -governance en -samenwerking

Emily Melhuish

Technical Curriculum Developer, Snowflake

Kennismaken met Claro

  • Wereldwijde app voor kredietopbouw Neplogo van Claro
Snowflake-beheer, -governance en -samenwerking

Het toegangsprobleem

access_control.png

Snowflake-beheer, -governance en -samenwerking

De bouwstenen

Een privilege is een toestemming om te handelen:

  • SELECT: lezen
  • INSERT: schrijven
  • CREATE: bouwen
Term Definitie
Privilege Toestemming om een actie uit te voeren (bijv. SELECT, INSERT, CREATE)
Object Alles waarop een privilege kan worden verleend (table, schema, database, warehouse)
Role Entiteit waaraan privileges worden verleend; kan aan users of andere roles worden toegekend
User Persoon of service-account die met Snowflake verbindt en roles heeft
Snowflake-beheer, -governance en -samenwerking

Role-Based Access Control (RBAC): zo werkt het

 

Stroom van links naar rechts van privilege, role en user

Snowflake-beheer, -governance en -samenwerking

RBAC implementeren

Privilege toekennen aan een role

GRANT SELECT ON TABLE core.credit_scores
  TO ROLE analyst_role;

Role toekennen aan een user

GRANT ROLE analyst_role TO USER maria;
1 [Snowflake: Access Control Privileges](https://docs.snowflake.com/en/user-guide/security-access-control-privileges)
Snowflake-beheer, -governance en -samenwerking

Discretionary Access Control (DAC)

Partition met dac vóór en na overdracht

  • Elk object heeft een eigenaar = een role, geen persoon
  • RBAC definieert de rollenstructuur
  • DAC bepaalt wat elke role beheert
Snowflake-beheer, -governance en -samenwerking

Eigendom overdragen

Eigendom overdragen aan een andere role

-- Huidige eigenaar: SYSADMIN
GRANT OWNERSHIP ON TABLE core.credit_scores
  TO ROLE data_engineer
  REVOKE CURRENT GRANTS;
Snowflake-beheer, -governance en -samenwerking

De hiërarchie van beveiligbare objecten

Hiërarchie van beveiligbare objecten

Snowflake-beheer, -governance en -samenwerking

USAGE toepassen op elk niveau

GRANT USAGE ON DATABASE <your_database>
  TO ROLE analyst_role;

GRANT USAGE ON SCHEMA core
  TO ROLE analyst_role;

GRANT SELECT ON TABLE core.credit_scores
  TO ROLE analyst_role;
Snowflake-beheer, -governance en -samenwerking

Systeemrollen

 

Role Verantwoordelijkheid
ACCOUNTADMIN Volledige accountcontrole
SYSADMIN Maakt databases en warehouses
SECURITYADMIN Netwerk- en masking policies, rollenbeheer
USERADMIN Maakt users en kent rollen toe
PUBLIC Standaardrole voor elke user
1 [Snowflake: Access Control Overview](https://docs.snowflake.com/en/user-guide/security-access-control-overview)
Snowflake-beheer, -governance en -samenwerking

Laten we oefenen!

Snowflake-beheer, -governance en -samenwerking

Preparing Video For Download...