Rôles des bases de données SNOWFLAKE¶
Lorsqu’un compte est provisionné, la base de données SNOWFLAKE est automatiquement importée. La base de données est un exemple d’utilisation par Snowflake de Secure Data Sharing pour fournir des métadonnées d’objet et d’autres mesures d’utilisation pour votre organisation et vos comptes.
L’accès aux objets du schéma de la base de données SNOWFLAKE est contrôlé par différents rôles de base de données. Les sections suivantes décrivent chaque rôle de base de données SNOWFLAKE, les privilèges qui lui sont associés et les objets de schéma associés auxquels le rôle donne accès.
Dans ce chapitre :
Schéma ACCOUNT_USAGE¶
Les schémas ACCOUNT_USAGE ont quatre rôles de base de données SNOWFLAKE définis, chacun bénéficiant du privilège SELECT sur des vues spécifiques.
Rôle |
Objectif et description |
---|---|
OBJECT_VIEWER |
Le rôle OBJECT_VIEWER permet de visualiser les métadonnées des objets. |
USAGE_VIEWER |
Le rôle USAGE_VIEWER offre une visibilité sur les informations historiques d’utilisation. |
GOVERNANCE_VIEWER |
Le rôle GOVERNANCE_VIEWER permet de visualiser les informations relatives aux politiques. |
SECURITY_VIEWER |
Le rôle SECURITY_VIEWER permet de visualiser les informations relatives à la sécurité. |
Vues ACCOUNT_USAGE par rôle de base de données¶
Les rôles OBJECT_VIEWER, USAGE_VIEWER, GOVERNANCE_VIEWER et SECURITY_VIEWER ont le privilège SELECT permettant d’interroger les vues Account Usage dans la base de données SNOWFLAKE partagée.
Une coche (c’est-à-dire ✔) indique que le rôle bénéficie du privilège SELECT sur la vue.
Vue |
Rôle OBJECT_VIEWER |
Rôle USAGE_VIEWER |
Rôle GOVERNANCE_VIEWER |
Rôle SECURITY_VIEWER |
---|---|---|---|---|
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
✔ |
|||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
✔ |
|||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
Schéma READER_ACCOUNT_USAGE¶
Le rôle de base de données READER_USAGE_VIEWER SNOWFLAKE bénéficie du privilège SELECT sur toutes les vues READER_ACCOUNT_USAGE. Les comptes de lecteur étant créés par les clients, le rôle READER_USAGE_VIEWER est censé être accordé aux rôles utilisés pour contrôler l’utilisation des comptes de lecteur.
Vue |
---|
Schéma ORGANIZATION_USAGE¶
Les rôles de base de données ORGANIZATION_USAGE_VIEWER, ORGANIZATION_BILLING_VIEWER et ORGANIZATION_ACCOUNTS_VIEWER de SNOWFLAKE se voient accorder le privilège SELECT pour trouver les vues Utilisation de l’organisation dans la base de données partagée de SNOWFLAKE.
Vue |
Rôle ORGANIZATION_BILLING_VIEWER |
Rôle ORGANIZATION_USAGE_VIEWER |
Rôle ORGANIZATION_ACCOUNTS_VIEWER |
---|---|---|---|
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
Schéma CORE¶
Le rôle de base de données CORE_VIEWER SNOWFLAKE est accordé au rôle PUBLIC dans tous les comptes Snowflake contenant une base de données SNOWFLAKE partagée. Le privilège USAGE est accordé à toutes les fonctions et toutes les versions définies par Snowflake dans le schéma CORE.
Classe de budgets¶
Le rôle de base de données Snowflake BUDGET_CREATOR bénéficie du privilège USAGE sur le schéma SNOWFLAKE.CORE et la classe BUDGET du schéma. Cette autorisation permet aux utilisateurs ayant le rôle BUDGET_CREATOR de créer des instances de la classe BUDGET.
Pour plus d’informations, consultez Rôles et privilèges requis pour créer des budgets.
Objets de balises¶
Le rôle de base de données CORE_VIEWER bénéficie du privilège APPLY pour chaque balise du système de classification des données : SNOWFLAKE.CORE.PRIVACY_CATEGORY et SNOWFLAKE.CORE.SEMANTIC_CATEGORY. Ces attributions permettent aux utilisateurs ayant le rôle de base de données CORE_VIEWER d’attribuer ces balises système à des colonnes.
Pour plus de détails, voir :
Schéma ALERT¶
Le rôle de base de données ALERT_VIEWER SNOWFLAKE bénéficie du privilège USAGE sur les fonctions définies dans ce schéma.
Schéma ML¶
Le rôle de base de données ML_USER SNOWFLAKE est accordé au rôle PUBLIC dans tous les comptes Snowflake qui contiennent une base de données SNOWFLAKE partagée. Il permet aux clients d’accéder aux fonctions basées sur le ML et de les utiliser.
Schéma CORTEX¶
Le rôle de base de données CORTEX_USER SNOWFLAKE permet aux clients d’accéder aux fonctions LLM de Cortex. Initialement, ce rôle de base de données n’est accordé qu’au rôle ACCOUNTADMIN. ACCOUNTADMIN doit propager ce rôle aux rôles de compte afin de permettre à des utilisateurs d’utiliser les fonctions Cortex LLM.
Renommez les rôles de base de données en utilisant SNOWFLAKE.¶
Les administrateurs peuvent utiliser le GRANT DATABASE ROLE pour attribuer un rôle de base de données SNOWFLAKE à un autre rôle, qui peut ensuite être accordé à un utilisateur. Cela permettrait à l’utilisateur d’accéder à un sous-ensemble spécifique de vues dans la base de données SNOWFLAKE.
Dans l’exemple suivant, un rôle est créé qui peut être utilisé pour visualiser les métadonnées d’objets de base de données SNOWFLAKE et fait ce qui suit :
Crée un rôle personnalisé.
Attribue le rôle OBJECT_VIEWER au rôle personnalisé.
Attribue le rôle personnalisé à un utilisateur.
Pour créer et accorder le rôle personnalisé, procédez comme suit :
Créez le rôle
CAN_VIEWMD
en utilisant CREATE ROLE qui sera utilisé pour accorder l’accès aux métadonnées d’objets.Seuls les utilisateurs avec le rôle système USERADMIN ou un rôle supérieur, ou un autre rôle ayant le privilège CREATE ROLE sur le compte, peuvent créer des rôles.
CREATE ROLE CAN_VIEWMD COMMENT = 'This role can view metadata per SNOWFLAKE database role definitions';
Attribuez le rôle OBJECT_VIEWER au rôle CAN_VIEWMD.
Seuls les utilisateurs ayant le rôle OWNERSHIP peuvent accorder des rôles de base de données SNOWFLAKE. Pour plus d’informations, reportez-vous à GRANT DATABASE ROLE.
GRANT DATABASE ROLE OBJECT_VIEWER TO ROLE CAN_VIEWMD;
Attribuez le rôle
CAN_VIEWMD
à l’utilisateursmith
.Seuls les utilisateurs ayant le rôle SECURITYADMIN peuvent accorder des rôles à des utilisateurs. Pour des options supplémentaires, reportez-vous à GRANT ROLE.
GRANT ROLE CAN_VIEWMD TO USER smith;