Snowflake Row Access Policy所需权限及从DBADMIN出发的分步示例查询
Snowflake 行访问策略(Row Access Policy)相关权限要求及DBADMIN操作示例
三类操作的所需权限列表
- 创建行访问策略所需权限:需同时持有三类权限:
- 策略所属数据库的
USAGE权限 - 策略所属Schema的
USAGE权限 - 策略所属Schema的
CREATE ROW ACCESS POLICY权限
- 策略所属数据库的
- 向其他角色授予行访问策略的
USAGE权限所需权限:需持有该策略的OWNERSHIP权限,或持有该策略的USAGE权限且附带GRANT OPTION授权选项 - 向其他角色授予行访问策略的
MODIFY权限所需权限:需持有该策略的OWNERSHIP权限,或持有该策略的MODIFY权限且附带GRANT OPTION授权选项
从DBADMIN角色出发的操作示例
以下操作涉及的数据库、Schema、角色、策略名称均为占位符,执行前请替换为实际资源名称。
步骤1:切换角色并指定操作上下文
USE ROLE DBADMIN; -- 替换为实际的数据库名称 USE DATABASE your_biz_db; -- 替换为实际的Schema名称 USE SCHEMA your_biz_db.common_policy;
步骤2:为开发角色授予创建行访问策略的权限
示例为角色dev_analytics授予策略创建权限:
-- 授予数据库使用权限 GRANT USAGE ON DATABASE your_biz_db TO ROLE dev_analytics; -- 授予Schema使用权限 GRANT USAGE ON SCHEMA your_biz_db.common_policy TO ROLE dev_analytics; -- 授予Schema下创建行访问策略的权限 GRANT CREATE ROW ACCESS POLICY ON SCHEMA your_biz_db.common_policy TO ROLE dev_analytics;
步骤3:向分析角色授予行访问策略的USAGE权限
示例为角色data_analyst授予已创建的rap_region_limit策略的使用权限:
GRANT USAGE ON ROW ACCESS POLICY rap_region_limit TO ROLE data_analyst;
步骤4:向策略管理角色授予行访问策略的MODIFY权限
示例为角色policy_admin授予rap_region_limit策略的修改权限:
GRANT MODIFY ON ROW ACCESS POLICY rap_region_limit TO ROLE policy_admin;
内容的提问来源于stack exchange,提问作者Dinakar Ullas
相关产品推荐
相关产品推荐

