首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >雪花:不能给标签分配掩蔽策略

雪花:不能给标签分配掩蔽策略
EN

Stack Overflow用户
提问于 2022-11-04 16:21:00
回答 1查看 49关注 0票数 0

我试图分配一个掩蔽策略标记在雪花中,但我遇到了问题,所需的特权或对象丢失取决于我所使用的角色。

我如何进行:

代码语言:javascript
复制
use database DATABASE;
use schema SCHEMA;

--CREATE TAG
create or replace tag sensitive_values; 

--CREATE MASKING POLICY 
create or replace masking policy values_mask as (val int) returns int ->
 case
   when current_role() in ('SYSADMIN') then val
   else null 
 end;

--ASSOCIATE MASKING POILCY AND TAG 
alter tag DATABASE.SCHEMA.sensitive_values set masking policy values_mask;

当我使用角色SECURITYADMIN时,我有以下错误:SQL compilation error: Database 'DATABASE' does not exist or not authorized.

当我使用角色SYSADMIN时,我有以下错误:SQL access control error: Insufficient privileges to operate on tag 'SENSITIVE_VALUES'

我错过了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-07 10:30:44

正如@TomMeacham所建议的,我创建了一个特定的角色来管理我的标记:

代码语言:javascript
复制
--CREATE ROLE
use role securityadmin;

create role tag_admin comment = "Admin role manage tag";


GRANT USAGE ON DATABASE DATABASE_NAME TO ROLE tag_admin;
GRANT USAGE ON SCHEMA DATABASE_NAME.SCHEMA_NAME TO ROLE tag_admin;

grant create masking policy on schema DATABASE_NAME.SCHEMA_NAME to role tag_admin;
grant create tag on schema DATABASE_NAME.SCHEMA_NAME to role tag_admin;

use role accountadmin;
grant apply tag on account to tag_admin;
grant apply masking policy on account to role tag_admin;

GRANT ROLE tag_admin TO USER USER_NAME; 

--ASSIGN TAG TO MASKING POLICY 
use role tag_admin;

use database DATABASE_NAME;
use schema SCHEMA_NAME;

alter tag DATABASE_NAME.SCHEMA_NAME.sensitive_values set masking policy values_mask;

现在,标记被分配给掩蔽策略。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74320071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档