RBAC, DAC e gerarchia degli oggetti proteggibili

Gestione, governance e collaborazione in Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Introduzione a Claro

  • App globale per costruire il credito Logo finto di Claro
Gestione, governance e collaborazione in Snowflake

Il problema degli accessi

access_control.png

Gestione, governance e collaborazione in Snowflake

I blocchi di base

Un privilegio è un permesso ad agire:

  • SELECT: leggere
  • INSERT: scrivere
  • CREATE: creare
Termine Definizione
Privilege Permesso di eseguire un’azione (es. SELECT, INSERT, CREATE)
Object Qualsiasi elemento su cui concedere un privilegio (table, schema, database, warehouse)
Role Entità a cui si concedono privilegi; può essere assegnata a utenti o ad altri ruoli
User Persona o service account che si connette a Snowflake e detiene ruoli
Gestione, governance e collaborazione in Snowflake

RBAC: come funziona

 

Flusso da sinistra a destra di privilegio, ruolo e utente

Gestione, governance e collaborazione in Snowflake

Implementare RBAC

Concedi un privilegio a un ruolo

GRANT SELECT ON TABLE core.credit_scores
  TO ROLE analyst_role;

Assegna un ruolo a un utente

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

Discretionary Access Control (DAC)

Partizione che mostra il DAC prima e dopo il trasferimento

  • Ogni oggetto ha un owner = un ruolo, non una persona
  • RBAC definisce la struttura dei ruoli
  • DAC stabilisce cosa controlla ogni ruolo
Gestione, governance e collaborazione in Snowflake

Trasferire la proprietà

Trasferisci la proprietà a un altro ruolo

-- Owner attuale: SYSADMIN
GRANT OWNERSHIP ON TABLE core.credit_scores
  TO ROLE data_engineer
  REVOKE CURRENT GRANTS;
Gestione, governance e collaborazione in Snowflake

La gerarchia degli oggetti proteggibili

Gerarchia degli oggetti proteggibili

Gestione, governance e collaborazione in Snowflake

Applicare USAGE a ogni livello

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;
Gestione, governance e collaborazione in Snowflake

Ruoli di sistema predefiniti

 

Ruolo Responsabilità
ACCOUNTADMIN Controllo completo dell’account
SYSADMIN Crea database e warehouse
SECURITYADMIN Policy di rete, masking policy, gestione ruoli
USERADMIN Crea utenti e assegna ruoli
PUBLIC Ruolo predefinito per ogni utente
1 [Snowflake: Access Control Overview](https://docs.snowflake.com/en/user-guide/security-access-control-overview)
Gestione, governance e collaborazione in Snowflake

Ayo berlatih!

Gestione, governance e collaborazione in Snowflake

Preparing Video For Download...