SNOWFLAKE 数据库角色

当账户预置后,SNOWFLAKE 数据库自动导入。此数据库是 Snowflake 使用 Secure Data Sharing 为组织和账户提供对象元数据和其他使用指标的示例。

访问 SNOWFLAKE 数据库中的架构对象由不同的 数据库角色 所控制。以下部分描述了每个 SNOWFLAKE 数据库角色、其关联的权限以及该角色被授予访问权限的关联架构对象。

本主题内容:

ACCOUNT_USAGE 架构

ACCOUNT_USAGE 架构有四个已定义的 SNOWFLAKE 数据库角色,每个角色均被授予特定视图的 SELECT 权限。

角色

目的和描述

OBJECT_VIEWER

OBJECT_VIEWER 角色提供对对象元数据的可见性。

USAGE_VIEWER

USAGE_VIEWER 角色提供对历史使用信息的可见性。

GOVERNANCE_VIEWER

GOVERNANCE_VIEWER 角色提供对策略相关信息的可见性。

SECURITY_VIEWER

SECURITY_VIEWER 角色提供对基于安全的信息的可见性。

按数据库角色划分的 ACCOUNT_USAGE 视图

OBJECT_VIEWER、USAGE_VIEWER、GOVERNANCE_VIEWER 和 SECURITY_VIEWER 角色具有在共享 SNOWFLAKE 数据库中查询 Account Usage 视图的 SELECT 权限。

复选标记(即 ✔)表示该角色已被授予视图的 SELECT 权限。

视图

OBJECT_VIEWER 角色

USAGE_VIEWER 角色

GOVERNANCE_VIEWER 角色

SECURITY_VIEWER 角色

COLUMNS 视图

COMPLETE_TASK_GRAPHS 视图

DATABASES 视图

ELEMENT_TYPES 视图

FIELDS 视图

FILE_FORMATS 视图

FUNCTIONS 视图

HYBRID_TABLES 视图

INDEXES 视图

INDEX_COLUMNS 视图

OBJECT_DEPENDENCIES 视图

PIPES 视图

REFERENTIAL_CONSTRAINTS 视图

SCHEMATA 视图

SEQUENCES 视图

STAGES 视图

TABLE_CONSTRAINTS 视图

TABLES 视图

TAGS 视图

VIEWS 视图

AUTOMATIC_CLUSTERING_HISTORY 视图

BLOCK_STORAGE_HISTORY 视图

CLASS_INSTANCES 视图

CLASSES 视图

COPY_HISTORY 视图

DATA_QUALITY_MONITORING_USAGE_HISTORY 视图

DATA_TRANSFER_HISTORY 视图

DATABASE_STORAGE_USAGE_HISTORY 视图

EVENT_USAGE_HISTORY 视图

EXTERNAL_ACCESS_HISTORY 视图

HYBRID_TABLE_USAGE_HISTORY 视图

LOAD_HISTORY 视图

MATERIALIZED_VIEW_REFRESH_HISTORY 视图

METERING_DAILY_HISTORY 视图

METERING_HISTORY 视图

PIPE_USAGE_HISTORY 视图

REPLICATION_USAGE_HISTORY 视图

REPLICATION_GROUP_REFRESH_HISTORY 视图

REPLICATION_GROUP_USAGE_HISTORY 视图

SERVICES 视图

SNOWPARK_CONTAINER_SERVICES_HISTORY 视图

SEARCH_OPTIMIZATION_HISTORY 视图

SERVERLESS_TASK_HISTORY 视图

STAGE_STORAGE_USAGE_HISTORY 视图

STORAGE_USAGE 视图

TABLE_STORAGE_METRICS 视图

TASK_HISTORY 视图

WAREHOUSE_EVENTS_HISTORY 视图

WAREHOUSE_LOAD_HISTORY 视图

WAREHOUSE_METERING_HISTORY 视图

ACCESS_HISTORY 视图

AGGREGATE_ACCESS_HISTORY 视图

AGGREGATE_QUERY_HISTORY 视图

AGGREGATION_POLICIES 视图

DATA_CLASSIFICATION_LATEST 视图

DATA_METRIC_FUNCTION_REFERENCES 视图

MASKING_POLICIES 视图

QUERY_ACCELERATION_ELIGIBLE 视图

QUERY_HISTORY 视图

POLICY_REFERENCES 视图

PROJECTION_POLICIES 视图

ROW_ACCESS_POLICIES 视图

TAG_REFERENCES 视图

GRANTS_TO_ROLES 视图

GRANTS_TO_USERS 视图

LOGIN_HISTORY 视图

NETWORK_POLICIES 视图

NETWORK_RULES 视图

NETWORK_RULE_REFERENCES 视图

PASSWORD_POLICIES 视图

ROLES 视图

SECRETS 视图

SESSION_POLICIES 视图

SESSIONS 视图

USERS 视图

READER_ACCOUNT_USAGE 架构

READER_USAGE_VIEWER SNOWFLAKE 数据库角色已被授予所有 READER_ACCOUNT_USAGE 视图的 SELECT 权限。由于阅读者账户由客户创建,READER_USAGE_VIEWER 角色预计会被授予那些用于监控阅读者账户使用情况的角色。

视图

LOGIN_HISTORY 视图

QUERY_HISTORY 视图

RESOURCE_MONITORS 视图

STORAGE_USAGE 视图

WAREHOUSE_METERING_HISTORY 视图

ORGANIZATION_USAGE 架构

ORGANIZATION_USAGE_VIEWER、ORGANIZATION_BILLING_VIEWER 和 ORGANIZATION_ACCOUNTS_VIEWER SNOWFLAKE 数据库角色被授予共享 SNOWFLAKE 数据库中 Organization Usage 视图的 SELECT 权限。

视图

ORGANIZATION_BILLING_VIEWER 角色

ORGANIZATION_USAGE_VIEWER 角色

ORGANIZATION_ACCOUNTS_VIEWER 角色

ACCOUNTS 视图

CONTRACT_ITEMS 视图

LISTING_AUTO_FULFILLMENT_USAGE_HISTORY 视图

RATE_SHEET_DAILY 视图

REMAINING_BALANCE_DAILY 视图

USAGE_IN_CURRENCY_DAILY 视图

MARKETPLACE_DISBURSEMENT_REPORT 视图

DATA_TRANSFER_DAILY_HISTORY 视图

DATA_TRANSFER_HISTORY 视图

DATABASE_STORAGE_USAGE_HISTORY 视图

AUTOMATIC_CLUSTERING_HISTORY 视图

MARKETPLACE_PAID_USAGE_DAILY 视图

MATERIALIZED_VIEW_REFRESH_HISTORY 视图

METERING_DAILY_HISTORY 视图

MONETIZED_USAGE_DAILY 视图

PIPE_USAGE_HISTORY 视图

QUERY_ACCELERATION_HISTORY 视图

REPLICATION_GROUP_USAGE_HISTORY 视图

REPLICATION_USAGE_HISTORY 视图

SEARCH_OPTIMIZATION_HISTORY 视图

STAGE_STORAGE_USAGE_HISTORY 视图

STORAGE_DAILY_HISTORY 视图

WAREHOUSE_METERING_HISTORY 视图

CORE 架构

CORE_VIEWER SNOWFLAKE 数据库角色被授予包含共享 SNOWFLAKE 数据库的所有 Snowflake 账户中的 PUBLIC 角色。USAGE 权限被授予所有 Snowflake 定义的函数和 CORE 架构中的捆绑包。

预算类

BUDGET_CREATOR Snowflake 数据库角色被授予 SNOWFLAKE.CORE 架构和架构中的 BUDGET 类的 USAGE 权限。此授权允许拥有 BUDGET_CREATOR 角色的用户创建 BUDGET 类实例。

有关更多信息,请参阅 创建自定义角色以创建预算

标签对象

CORE_VIEWER 数据库角色被授予每个 Data Classification :ref:`系统标签 <label-classification_system_tags>`的 APPLY 权限:SNOWFLAKE.CORE.PRIVACY_CATEGORY 和 SNOWFLAKE.CORE.SEMANTIC_CATEGORY。这些授权允许具有 CORE_VIEWER 数据库角色的用户将这些系统标签分配给列。

有关详细信息,请参阅:

ALERT 架构

ALERT_VIEWER SNOWFLAKE 数据库角色被授予在此架构中定义的函数的 USAGE 权限。

ML 架构

ML_USER SNOWFLAKE 数据库角色在所有包含共享 SNOWFLAKE 数据库的 Snowflake 账户中被授予 PUBLIC 角色,并允许客户访问和使用 ML 函数

CORTEX 架构

CORTEX_USER SNOWFLAKE 数据库角色允许客户访问 Cortex LLM 函数。最初,此数据库角色仅授予 ACCOUNTADMIN 角色。ACCOUNTADMIN 必须将此角色传播到账户角色,才能允许用户使用 Cortex LLM 函数

使用 SNOWFLAKE 数据库角色

管理员可以使用 GRANT DATABASE ROLE 将一个 SNOWFLAKE 数据库角色分配给另一个角色,然后可以将其授予用户。这将允许用户访问 SNOWFLAKE 数据库中的视图的特定子集。

在以下示例中创建了一个角色,可用于查看 SNOWFLAKE 数据库对象元数据,并执行以下操作:

  1. 创建自定义角色。

  2. 将 OBJECT_VIEWER 角色授予自定义角色。

  3. 将自定义角色授予用户。

要创建并授予自定义角色,请执行以下操作:

  1. 使用将用于授予对对象元数据的访问权限的 CREATE ROLE,来创建 CAN_VIEWMD 角色。

    只有拥有 USERADMIN 系统角色或更高角色的用户或拥有账户 CREATE ROLE 权限的其他角色才能创建角色。

    CREATE ROLE CAN_VIEWMD COMMENT = 'This role can view metadata per SNOWFLAKE database role definitions';
    
    Copy
  2. 将 OBJECT_VIEWER 角色授予 CAN_VIEWMD 角色。

    只有拥有 OWNERSHIP 角色的用户可以授予 SNOWFLAKE 数据库角色。有关更多信息,请参阅 GRANT DATABASE ROLE

    GRANT DATABASE ROLE OBJECT_VIEWER TO ROLE CAN_VIEWMD;
    
    Copy
  3. CAN_VIEWMD 角色分配给用户 smith

    只有拥有 SECURITYADMIN 角色的用户可以将角色授予用户。有关其他选项,请参阅 GRANT ROLE

    GRANT ROLE CAN_VIEWMD TO USER smith;
    
    Copy
语言: 中文