You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-- 创建安全主体(支持指定类型与属性)
CREATE PRINCIPAL <principal_name>
TYPE { USER | SERVICE }
[ WITH PROPERTIES ( 'key1'='value1', 'key2'='value2' ) ];
-- 删除安全主体
DROP PRINCIPAL <principal_name>;
-- 查看所有安全主体
SHOW PRINCIPALS;
2. Role(角色)管理
Polaris 区分 Principal Role 和 Catalog Role,我们需要分别提供管理语法。
-- 创建与删除 主体角色
CREATE PRINCIPAL ROLE <principal_role_name>;
DROP PRINCIPAL ROLE <principal_role_name>;
-- 创建与删除 目录角色
CREATE CATALOG ROLE <catalog_role_name>;
DROP CATALOG ROLE <catalog_role_name>;
-- 将 主体角色 授予 安全主体GRANT PRINCIPAL ROLE <principal_role_name> TO PRINCIPAL <principal_name>;
REVOKE PRINCIPAL ROLE <principal_role_name>FROM PRINCIPAL <principal_name>;
-- 将 目录角色 授予 主体角色(核心解耦点)GRANT CATALOG ROLE <catalog_role_name> TO PRINCIPAL ROLE <principal_role_name>;
REVOKE CATALOG ROLE <catalog_role_name>FROM PRINCIPAL ROLE <principal_role_name>;
3. Privilege(权限)管理
定义如何将具体的资源权限(如库、表、视图的操作权)授予 Catalog Role。
-- 授予权限(支持 CATALOG、NAMESPACE、TABLE、VIEW 等层级)GRANT { CREATE_TABLE | SELECT | INSERT | DROP | ALL PRIVILEGES }
ON { CATALOG <catalog_name> | NAMESPACE <ns_name> | TABLE <table_name> }
TO CATALOG ROLE <catalog_role_name>;
-- 收回权限REVOKE { SELECT | INSERT | ALL PRIVILEGES }
ON TABLE <table_name>FROM CATALOG ROLE <catalog_role_name>;
-- 创建行级过滤策略
CREATE POLICY <policy_name>ON<table_name>
FOR SELECT
TO CATALOG ROLE <catalog_role_name>
USING ( <filter_expression> ); -- 例如:country = 'US'-- 创建列脱敏策略
CREATE POLICY <policy_name>ON<table_name> ( <column_name> )
FOR SELECT
TO CATALOG ROLE <catalog_role_name>
REPLACE WITH <masking_expression>; -- 例如:sha2(phone, 256)-- 删除策略
DROP POLICY <policy_name>ON<table_name>;
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Principal、Privilege 、Policy and role support Spark SQL management, Spark supports the extension of SQL syntax.
ref: https://docs.databricks.com/aws/en/sql/language-manual/security-grant
Gemini 3.5 Flash:
✍️ SQL 语法定义
1. Principal(安全主体)管理
用于创建、删除和查看 Polaris 的安全主体(用户或服务账号)。
2. Role(角色)管理
Polaris 区分 Principal Role 和 Catalog Role,我们需要分别提供管理语法。
3. Privilege(权限)管理
定义如何将具体的资源权限(如库、表、视图的操作权)授予 Catalog Role。
4. Policy(安全策略)管理
用于定义更细粒度的安全控制,例如行级过滤(Row-level filtering)或列级脱敏(Column masking)。
All reactions