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 视图

PROCEDURES 视图

REFERENTIAL_CONSTRAINTS 视图

SCHEMATA 视图

SEQUENCES 视图

SERVICES 视图

STAGES 视图

TABLE_CONSTRAINTS 视图

TABLES 视图

TAGS 视图

VIEWS 视图

AUTOMATIC_CLUSTERING_HISTORY 视图

BLOCK_STORAGE_HISTORY 视图

CLASS_INSTANCES 视图

CLASSES 视图

COPY_HISTORY 视图

CORTEX_FINE_TUNING_USAGE_HISTORY 视图

CORTEX_FUNCTIONS_USAGE_HISTORY 视图

CORTEX_SEARCH_SERVING_USAGE_HISTORY 视图

DATA_QUALITY_MONITORING_USAGE_HISTORY 视图

DATA_TRANSFER_HISTORY 视图

DATABASE_STORAGE_USAGE_HISTORY 视图

DOCUMENT_AI_USAGE_HISTORY 视图

DYNAMIC_TABLE_REFRESH_HISTORY 视图

EVENT_USAGE_HISTORY 视图

EXTERNAL_ACCESS_HISTORY 视图

HYBRID_TABLE_USAGE_HISTORY 视图

INTERNAL_DATA_TRANSFER_HISTORY 视图

LOAD_HISTORY 视图

MATERIALIZED_VIEW_REFRESH_HISTORY 视图

METERING_DAILY_HISTORY 视图

METERING_HISTORY 视图

PIPE_USAGE_HISTORY 视图

QUERY_ATTRIBUTION_HISTORY 视图

REPLICATION_USAGE_HISTORY 视图

REPLICATION_GROUP_REFRESH_HISTORY 视图

REPLICATION_GROUP_USAGE_HISTORY 视图

SEARCH_OPTIMIZATION_BENEFITS 视图

SEARCH_OPTIMIZATION_HISTORY 视图

SERVERLESS_ALERT_HISTORY 视图

SERVERLESS_TASK_HISTORY 视图

SNOWPARK_CONTAINER_SERVICES_HISTORY 视图

STAGE_STORAGE_USAGE_HISTORY 视图

STORAGE_USAGE 视图

TABLE_DML_HISTORY 视图

TABLE_PRUNING_HISTORY 视图

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 视图

PRIVACY_BUDGETS 视图

PRIVACY_POLICIES 视图

PROJECTION_POLICIES 视图

ROW_ACCESS_POLICIES 视图

TAG_REFERENCES 视图

GRANTS_TO_ROLES 视图

GRANTS_TO_USERS 视图

LOGIN_HISTORY 视图

NETWORK_POLICIES 视图

NETWORK_RULES 视图

NETWORK_RULE_REFERENCES 视图

OUTBOUND_PRIVATELINK_ENDPOINTS 视图

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 系统标签 的 APPLY 权限:SNOWFLAKE.CORE.PRIVACY_CATEGORY 和 SNOWFLAKE.CORE.SEMANTIC_CATEGORY。这些授权允许具有 CORE_VIEWER 数据库角色的用户将这些系统标签分配给列。

有关详细信息,请参阅:

ALERT 架构

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

ML 架构

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

MONITORING 架构

MONITORING_VIEWER 数据库角色具有 MONITORING 架构中所有视图的 SELECT 权限。

MONITORING_VIEWER 数据库角色被授予包含共享 SNOWFLAKE 数据库的所有 Snowflake 账户中的 PUBLIC 角色。

CORTEX 架构

默认情况下,CORTEX_USER 角色被授予给 PUBLIC 角色。PUBLIC 角色会自动授予给所有用户和角色,从而允许您账户中的所有用户使用 Snowflake Cortex LLM 函数。

如果您不希望所有用户都拥有此权限,则可以撤消对 PUBLIC 角色的访问权限,并授予对特定角色的访问权限。有关详细信息,请参阅 Cortex LLM 函数所需权限

SNOWFLAKE.CLASSIFICATION_ADMIN 数据库角色

SNOWFLAKE.CLASSIFICATION_ADMIN 数据库角色允许数据工程师或管理员创建 CLASSIFICATION_PROFILE 类的实例。分类配置文件用于实现 自动敏感数据分类

SNOWFLAKE.COPILOT_USER 数据库角色

SNOWFLAKE.COPILOT_USER 数据库角色允许客户访问 Snowflake Copilot 功能。最初,此数据库角色被授予 PUBLIC 角色。PUBLIC 角色会自动授予给所有用户和角色,从而允许账户中的所有用户使用 Snowflake Copilot。如果要限制对 Snowflake Copilot 功能的访问,可以撤消对 PUBLIC 角色的访问权限,并授予对特定角色的访问权限。有关详细信息,请参阅 访问控制要求

使用 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
语言: 中文