RBAC, DAC et hiérarchie des objets sécurisés

Gestion, gouvernance et collaboration sur Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Présentation de Claro

  • Application mondiale de construction de crédit Faux logo de Claro
Gestion, gouvernance et collaboration sur Snowflake

Le problème d’accès

access_control.png

Gestion, gouvernance et collaboration sur Snowflake

Les éléments de base

Un privilège est une autorisation d’agir :

  • SELECT : lire
  • INSERT : écrire
  • CREATE : créer
Terme Définition
Privilège Autorisation d’effectuer une action (ex. SELECT, INSERT, CREATE)
Objet Cible d’un privilège (table, schéma, base, entrepôt)
Rôle Entité à laquelle on accorde des privilèges ; peut être attribuée aux utilisateurs ou à d’autres rôles
Utilisateur Personne ou compte de service se connectant à Snowflake et détenant des rôles
Gestion, gouvernance et collaboration sur Snowflake

Contrôle d’accès basé sur les rôles (RBAC) : fonctionnement

 

Flux de gauche à droite de privilège, rôle et utilisateur

Gestion, gouvernance et collaboration sur Snowflake

Mettre en œuvre RBAC

Accorder un privilège à un rôle

GRANT SELECT ON TABLE core.credit_scores
  TO ROLE analyst_role;

Attribuer un rôle à un utilisateur

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

Discretionary Access Control (DAC)

Partition montrant le DAC avant et après transfert

  • Chaque objet a un propriétaire = un rôle, pas une personne
  • RBAC définit la structure des rôles
  • DAC détermine ce que chaque rôle contrôle
Gestion, gouvernance et collaboration sur Snowflake

Transférer la propriété

Transférer la propriété à un autre rôle

-- Propriétaire actuel : SYSADMIN
GRANT OWNERSHIP ON TABLE core.credit_scores
  TO ROLE data_engineer
  REVOKE CURRENT GRANTS;
Gestion, gouvernance et collaboration sur Snowflake

Hiérarchie des objets sécurisables

Hiérarchie des objets sécurisables

Gestion, gouvernance et collaboration sur Snowflake

Appliquer USAGE à chaque 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;
Gestion, gouvernance et collaboration sur Snowflake

Rôles système prédéfinis

 

Rôle Responsabilité
ACCOUNTADMIN Contrôle complet du compte
SYSADMIN Crée bases de données et entrepôts
SECURITYADMIN Politiques réseau, masquage, gestion des rôles
USERADMIN Crée utilisateurs et assigne des rôles
PUBLIC Rôle par défaut pour tout utilisateur
1 [Snowflake: Access Control Overview](https://docs.snowflake.com/en/user-guide/security-access-control-overview)
Gestion, gouvernance et collaboration sur Snowflake

Passons à la pratique !

Gestion, gouvernance et collaboration sur Snowflake

Preparing Video For Download...