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

Vue COLUMNS

Vue COMPLETE_TASK_GRAPHS

Vue DATABASES

Vue ELEMENT_TYPES

Vue FIELDS

Vue FILE_FORMATS

Vue FUNCTIONS

Vue HYBRID_TABLES

Vue INDEXES

Vue INDEX_COLUMNS

Vue OBJECT_DEPENDENCIES

Vue PIPES

Vue REFERENTIAL_CONSTRAINTS

Vue SCHEMATA

Vue SEQUENCES

Vue STAGES

Vue TABLE_CONSTRAINTS

Vue TABLES

Vue TAGS

Vue VIEWS

Vue AUTOMATIC_CLUSTERING_HISTORY

Vue CLASS_INSTANCES

Vue CLASSES

Vue COPY_HISTORY

Vue DATA_TRANSFER_HISTORY

Vue DATABASE_STORAGE_USAGE_HISTORY

Vue EVENT_USAGE_HISTORY

Vue EXTERNAL_ACCESS_HISTORY

Vue HYBRID_TABLE_USAGE_HISTORY

Vue LOAD_HISTORY

Vue MATERIALIZED_VIEW_REFRESH_HISTORY

Vue METERING_DAILY_HISTORY

Vue METERING_HISTORY

Vue PIPE_USAGE_HISTORY

Vue REPLICATION_USAGE_HISTORY

Vue REPLICATION_GROUP_REFRESH_HISTORY

Vue REPLICATION_GROUP_USAGE_HISTORY

Vue SERVICES

Vue SNOWPARK_CONTAINER_SERVICES_HISTORY

Vue SEARCH_OPTIMIZATION_HISTORY

Vue SERVERLESS_TASK_HISTORY

Vue STAGE_STORAGE_USAGE_HISTORY

Vue STORAGE_USAGE

Vue TABLE_STORAGE_METRICS

Vue TASK_HISTORY

Vue WAREHOUSE_EVENTS_HISTORY

Vue WAREHOUSE_LOAD_HISTORY

Vue WAREHOUSE_METERING_HISTORY

Vue ACCESS_HISTORY

Vue AGGREGATE_ACCESS_HISTORY

Vue AGGREGATE_QUERY_HISTORY

Vue AGGREGATION_POLICIES

Vue DATA_CLASSIFICATION_LATEST

Vue MASKING_POLICIES

Vue QUERY_ACCELERATION_ELIGIBLE

Vue QUERY_HISTORY

Vue POLICY_REFERENCES

Vue PROJECTION_POLICIES

Vue ROW_ACCESS_POLICIES

Vue TAG_REFERENCES

Vue GRANTS_TO_ROLES

Vue GRANTS_TO_USERS

Vue LOGIN_HISTORY

Vue NETWORK_POLICIES

Vue NETWORK_RULES

Vue NETWORK_RULE_REFERENCES

Vue PASSWORD_POLICIES

Vue ROLES

Vue SESSION_POLICIES

Vue SESSIONS

Vue USERS

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

Vue LOGIN_HISTORY

Vue QUERY_HISTORY

Vue RESOURCE_MONITORS

Vue STORAGE_USAGE

Vue WAREHOUSE_METERING_HISTORY

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

Vue ACCOUNTS

Vue CONTRACT_ITEMS

Vue LISTING_AUTO_FULFILLMENT_USAGE_HISTORY

Vue RATE_SHEET_DAILY

Vue REMAINING_BALANCE_DAILY

Vue USAGE_IN_CURRENCY_DAILY

Vue MARKETPLACE_DISBURSEMENT_REPORT

Vue DATA_TRANSFER_DAILY_HISTORY

Vue DATA_TRANSFER_HISTORY

Vue DATABASE_STORAGE_USAGE_HISTORY

Vue AUTOMATIC_CLUSTERING_HISTORY

Vue MARKETPLACE_PAID_USAGE_DAILY

Vue MATERIALIZED_VIEW_REFRESH_HISTORY

Vue METERING_DAILY_HISTORY

Vue MONETIZED_USAGE_DAILY

Vue PIPE_USAGE_HISTORY

Vue QUERY_ACCELERATION_HISTORY

Vue REPLICATION_GROUP_USAGE_HISTORY

Vue REPLICATION_USAGE_HISTORY

Vue SEARCH_OPTIMIZATION_HISTORY

Vue STAGE_STORAGE_USAGE_HISTORY

Vue STORAGE_DAILY_HISTORY

Vue WAREHOUSE_METERING_HISTORY

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 :

  1. Crée un rôle personnalisé.

  2. Attribue le rôle OBJECT_VIEWER au rôle personnalisé.

  3. Attribue le rôle personnalisé à un utilisateur.

Pour créer et accorder le rôle personnalisé, procédez comme suit :

  1. 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';
    
    Copy
  2. 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;
    
    Copy
  3. Attribuez le rôle CAN_VIEWMD à l’utilisateur smith.

    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;
    
    Copy