RBAC, DAC y la jerarquía de objetos protegibles

Gestión, gobierno y colaboración en Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Presentación de Claro

  • App global para crear historial crediticio Logo falso de Claro
Gestión, gobierno y colaboración en Snowflake

El problema de acceso

access_control.png

Gestión, gobierno y colaboración en Snowflake

Los bloques básicos

Un privilegio es un permiso para actuar:

  • SELECT: leer
  • INSERT: escribir
  • CREATE: crear
Término Definición
Privilege Permiso para realizar una acción (p. ej., SELECT, INSERT, CREATE)
Object Cualquier elemento sobre el que se concede un privilegio (tabla, esquema, base de datos, warehouse)
Role Entidad a la que se conceden privilegios; puede asignarse a usuarios u otros roles
User Persona o cuenta de servicio que se conecta a Snowflake y tiene roles
Gestión, gobierno y colaboración en Snowflake

Control de acceso basado en roles (RBAC): cómo funciona

 

Flujo de izquierda a derecha de privilegio, rol y usuario

Gestión, gobierno y colaboración en Snowflake

Implementar RBAC

Conceder un privilegio a un rol

GRANT SELECT ON TABLE core.credit_scores
  TO ROLE analyst_role;

Asignar un rol a un usuario

GRANT ROLE analyst_role TO USER maria;
1 [Snowflake: Access Control Privileges](https://docs.snowflake.com/en/user-guide/security-access-control-privileges)
Gestión, gobierno y colaboración en Snowflake

Control de acceso discrecional (DAC)

Partición que muestra DAC antes y después de transferir

  • Cada objeto tiene un propietario = un rol, no una persona
  • RBAC define la estructura de roles
  • DAC determina qué controla cada rol
Gestión, gobierno y colaboración en Snowflake

Transferencia de propiedad

Transferir la propiedad a otro rol

-- Propietario actual: SYSADMIN
GRANT OWNERSHIP ON TABLE core.credit_scores
  TO ROLE data_engineer
  REVOKE CURRENT GRANTS;
Gestión, gobierno y colaboración en Snowflake

La jerarquía de objetos protegibles

Jerarquía de objetos protegibles

Gestión, gobierno y colaboración en Snowflake

Aplicar USAGE en todos los niveles

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;
Gestión, gobierno y colaboración en Snowflake

Roles definidos por el sistema

 

Rol Responsabilidad
ACCOUNTADMIN Control total de la cuenta
SYSADMIN Crea bases de datos y warehouses
SECURITYADMIN Políticas de red, enmascarado, gestión de roles
USERADMIN Crea usuarios y asigna roles
PUBLIC Rol predeterminado para todo usuario
1 [Snowflake: Access Control Overview](https://docs.snowflake.com/en/user-guide/security-access-control-overview)
Gestión, gobierno y colaboración en Snowflake

¡Vamos a practicar!

Gestión, gobierno y colaboración en Snowflake

Preparing Video For Download...