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

Gestion, gouvernance et collaboration avec Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Présentation de Claro

  • Application mondiale d’aide au crédit Faux logo de Claro
Gestion, gouvernance et collaboration avec Snowflake

Le problème d’accès

access_control.png

Gestion, gouvernance et collaboration avec Snowflake

Éléments de base

Un privilège est une permission d’agir :

  • SELECT : lire
  • INSERT : écrire
  • CREATE : créer
Terme Définition
Privilège Autorisation d’effectuer une action (p. ex., SELECT, INSERT, CREATE)
Objet Tout élément sur lequel on peut accorder un privilège (table, schéma, base, entrepôt)
Rôle Entité à laquelle on accorde des privilèges; peut être accordée à des utilisateurs ou à d’autres rôles
Utilisateur Personne ou compte de service qui se connecte à Snowflake et détient des rôles
Gestion, gouvernance et collaboration avec 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 avec Snowflake

Mise en œuvre du 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 avec Snowflake

Contrôle d’accès discrétionnaire (DAC)

Partition montrant le DAC avant et après le transfert

  • Chaque objet a un propriétaire = un rôle, pas une personne
  • Le RBAC définit la structure des rôles
  • Le DAC détermine ce que chaque rôle contrôle
Gestion, gouvernance et collaboration avec 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 avec Snowflake

Hiérarchie des objets sécurisables

Hiérarchie des objets sécurisables

Gestion, gouvernance et collaboration avec 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 avec Snowflake

Rôles système prédéfinis

 

Rôle Responsabilité
ACCOUNTADMIN Contrôle complet du compte
SYSADMIN Crée des bases de données et des entrepôts
SECURITYADMIN Politiques réseau, masquage, gestion des rôles
USERADMIN Crée des utilisateurs et attribue 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 avec Snowflake

Passons à la pratique !

Gestion, gouvernance et collaboration avec Snowflake

Preparing Video For Download...