RBAC, DAC a hierarchie zabezpečitelných objektů

Správa, správa dat a spolupráce ve Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Představení Claro

  • Globální aplikace pro budování úvěrové historie Falešné logo pro Claro
Správa, správa dat a spolupráce ve Snowflake

Problém s přístupem

access_control.png

Správa, správa dat a spolupráce ve Snowflake

Základní stavební kameny

Oprávnění je povolení k akci:

  • SELECT: čtení
  • INSERT: zápis
  • CREATE: vytvoření
Termín Definice
Oprávnění Povolení provést akci (např. SELECT, INSERT, CREATE)
Objekt Cokoli, na co lze oprávnění udělit (tabulka, schéma, databáze, sklad)
Role Entita, které jsou udělena oprávnění; lze přiřadit uživatelům nebo jiným rolím
Uživatel Osoba nebo servisní účet připojující se ke Snowflake s přiřazenými rolemi
Správa, správa dat a spolupráce ve Snowflake

Řízení přístupu na základě rolí (RBAC): jak funguje

 

Tok zleva doprava: oprávnění, role a uživatel

Správa, správa dat a spolupráce ve Snowflake

Implementace RBAC

Udělení oprávnění roli

GRANT SELECT ON TABLE core.credit_scores
  TO ROLE analyst_role;

Přiřazení role uživateli

GRANT ROLE analyst_role TO USER maria;
1 [Snowflake: Access Control Privileges](https://docs.snowflake.com/en/user-guide/security-access-control-privileges)
Správa, správa dat a spolupráce ve Snowflake

Volitelné řízení přístupu (DAC)

Oddíl zobrazující DAC před a po převodu

  • Každý objekt má vlastníka = roli, nikoli osobu
  • RBAC definuje strukturu rolí
  • DAC určuje, co každá role kontroluje
Správa, správa dat a spolupráce ve Snowflake

Převod vlastnictví

Převod vlastnictví na jinou roli

-- Current owner: SYSADMIN
GRANT OWNERSHIP ON TABLE core.credit_scores
  TO ROLE data_engineer
  REVOKE CURRENT GRANTS;
Správa, správa dat a spolupráce ve Snowflake

Hierarchie zabezpečitelných objektů

Hierarchie zabezpečitelných objektů

Správa, správa dat a spolupráce ve Snowflake

Použití USAGE na každé úrovni

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;
Správa, správa dat a spolupráce ve Snowflake

Systémově definované role

 

Role Odpovědnost
ACCOUNTADMIN Plná správa účtu
SYSADMIN Vytváří databáze a sklady
SECURITYADMIN Síťové zásady, zásady maskování, správa rolí
USERADMIN Vytváří uživatele a přiřazuje role
PUBLIC Výchozí role pro každého uživatele
1 [Snowflake: Access Control Overview](https://docs.snowflake.com/en/user-guide/security-access-control-overview)
Správa, správa dat a spolupráce ve Snowflake

Lass uns üben!

Správa, správa dat a spolupráce ve Snowflake

Preparing Video For Download...