RBAC, DAC i hierarchia obiektów zabezpieczonych

Zarządzanie, ład danych i współpraca w Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Przedstawiamy Claro

  • Globalna aplikacja do budowania historii kredytowej Fałszywe logo Claro
Zarządzanie, ład danych i współpraca w Snowflake

Problem z kontrolą dostępu

access_control.png

Zarządzanie, ład danych i współpraca w Snowflake

Podstawowe elementy

Uprawnienie to zezwolenie na działanie:

  • SELECT: odczyt
  • INSERT: zapis
  • CREATE: tworzenie
Termin Definicja
Uprawnienie Zezwolenie na wykonanie akcji (np. SELECT, INSERT, CREATE)
Obiekt Dowolny element, na który można nadać uprawnienie (tabela, schemat, baza, magazyn)
Rola Encja, której przyznaje się uprawnienia; może być przypisana użytkownikom lub innym rolom
Użytkownik Osoba lub konto serwisowe łączące się z Snowflake i posiadające role
Zarządzanie, ład danych i współpraca w Snowflake

Kontrola dostępu oparta na rolach (RBAC): jak działa

 

Przepływ od lewej do prawej: uprawnienie, rola, użytkownik

Zarządzanie, ład danych i współpraca w Snowflake

Implementacja RBAC

Nadanie uprawnienia roli

GRANT SELECT ON TABLE core.credit_scores
  TO ROLE analyst_role;

Przypisanie roli użytkownikowi

GRANT ROLE analyst_role TO USER maria;
1 [Snowflake: Access Control Privileges](https://docs.snowflake.com/en/user-guide/security-access-control-privileges)
Zarządzanie, ład danych i współpraca w Snowflake

Uznaniowa kontrola dostępu (DAC)

Partycja pokazująca DAC przed i po transferze

  • Każdy obiekt ma właściciela = rolę, nie osobę
  • RBAC definiuje strukturę ról
  • DAC określa, czym zarządza każda rola
Zarządzanie, ład danych i współpraca w Snowflake

Przekazywanie własności

Przekazanie własności do innej roli

-- Current owner: SYSADMIN
GRANT OWNERSHIP ON TABLE core.credit_scores
  TO ROLE data_engineer
  REVOKE CURRENT GRANTS;
Zarządzanie, ład danych i współpraca w Snowflake

Hierarchia obiektów zabezpieczonych

Hierarchia obiektów zabezpieczonych

Zarządzanie, ład danych i współpraca w Snowflake

Stosowanie USAGE na każdym poziomie

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;
Zarządzanie, ład danych i współpraca w Snowflake

Role systemowe

 

Rola Odpowiedzialność
ACCOUNTADMIN Pełna kontrola nad kontem
SYSADMIN Tworzy bazy danych i magazyny
SECURITYADMIN Polityki sieciowe, maskowania i zarządzanie rolami
USERADMIN Tworzy użytkowników i przypisuje role
PUBLIC Domyślna rola dla każdego użytkownika
1 [Snowflake: Access Control Overview](https://docs.snowflake.com/en/user-guide/security-access-control-overview)
Zarządzanie, ład danych i współpraca w Snowflake

Czas na ćwiczenia!

Zarządzanie, ład danych i współpraca w Snowflake

Preparing Video For Download...