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.
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 deGOVERNANCE_VIEWER permet de visualiser les informations relatives à la gouvernance des données. |
SECURITY_VIEWER |
Le rôle SECURITY_VIEWER permet de visualiser les informations relatives à la sécurité. |
Rôle de la base de données requis pour accéder aux vues ACCOUNT_USAGE¶
Les rôles OBJECT_VIEWER, USAGE_VIEWER, GOVERNANCE_VIEWER, et SECURITY_VIEWERont le privilège SELECT pour interroger les vues Account Usage dans la base de données partagée SNOWFLAKE. Utilisez le tableau suivant pour déterminer quel rôle de base de données a accès à une vue.
Vue |
Rôle de la base de données |
|---|---|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER ou GOVERNANCE_VIEWER |
|
USAGE_VIEWER ou GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER, SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER, GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER |
|
OBJECT_VIEWER ou GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_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, voir Créer un rôle personnalisé 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¶
The ML_USER SNOWFLAKE database role is granted to the PUBLIC role in all Snowflake accounts that contain a shared SNOWFLAKE database and allows customers to access and use ML functions. Users must also have the USAGE privilege on the ML schema to call these functions.
Schéma MONITORING¶
Le rôle de base de données MONITORING_VIEWER a le privilège SELECT sur toutes les vues dans le schéma MONITORING.
Le rôle de base de données MONITORING_VIEWER est accordé au rôle PUBLIC dans tous les comptes Snowflake contenant une base de données SNOWFLAKE partagée.
Rôle de base de données SNOWFLAKE.CLASSIFICATION_ADMIN¶
The SNOWFLAKE.CLASSIFICATION_ADMIN database role allows a data engineer or steward to create an instance of the CLASSIFICATION_PROFILE class. A classification profile is used to implement automatic sensitive data classification.
SNOWFLAKE.CORTEX_AGENT_USER database role¶
Vous pouvez utiliser le rôle de base de données SNOWFLAKE.CORTEX_AGENT_USER pour accorder à vos utilisateurs l’accès à l’API Snowflake Cortex Agents sans donner accès à d’autres fonctionnalités Cortex. Utiliser l’API Cortex Agents nécessite soit le rôle de base de données SNOWFLAKE.CORTEX_USER ou le rôle de base de données SNOWFLAKE.CORTEX_AGENT_USER.
Par défaut, le rôle de base de données SNOWFLAKE.CORTEX_USER est accordé au rôle PUBLIC. Pour un contrôle d’accès détaillé, révoquez l’accès du rôle PUBLIC et attribuez l’accès au rôle de base de données SNOWFLAKE.CORTEX_AGENT_USER. Pour plus d’informations, voir Configurer l’accès à l’agent.
SNOWFLAKE.CORTEX_EMBED_USER database role¶
Le rôle de base de données SNOWFLAKE.CORTEX_EMBED_USER est utilisé pour accorder aux clients l’accès aux fonctions d’intégration de Snowflake Cortex AI_EMBED, SNOWFLAKE.CORTEX.EMBED_768 et SNOWFLAKE.CORTEX_EMBED_TEXT_1024 sans accorder l’accès à d’autres fonctionnalités Cortex. L’appel de ces fonctions d’intégration nécessite soit le rôle de base de données SNOWFLAKE.CORTEX_USER soit le rôle de base de données SNOWFLAKE.CORTEX_EMBED_USER. Ce rôle n’est accordé par défaut à aucun rôle.
By default, this role is not granted to any roles. If you want users to have access to the embedding functions, grant this database role to appropriate roles. For details, see Cortex LLM Functions required privileges
SNOWFLAKE.CORTEX_USER database role¶
This SNOWFLAKE.CORTEX_USER database role is used to grant customers access to Snowflake Cortex features. By default, this role is granted to the PUBLIC role. The PUBLIC role is automatically granted to all users and roles, so this allows all users in your account to use Snowflake Cortex LLM functions.
If you don’t want all users to have this privilege, you can revoke access from the PUBLIC role and grant access to specific roles. For details, see Cortex LLM Functions required privileges.
Rôle de base de données SNOWFLAKE.COPILOT_USER¶
The SNOWFLAKE.COPILOT_USER database role allows customers to access Snowflake Copilot features. Initially, this database role is granted to the PUBLIC role. The PUBLIC role is automatically granted to all users and roles, so this allows all users in your account to use Snowflake Copilot. If you want to limit access to Snowflake Copilot features, you can revoke access from the PUBLIC role and grant access to specific roles. For details, see Exigences en matière de contrôle d’accès.
À l’aide des rôles de base de données 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.
In the following example a role is created which can be used to view SNOWFLAKE database object metadata, and does the following:
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_VIEWMDen 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;