如何查看Snowflake中用户已分配的authentication policy
查看Snowflake用户已分配的认证策略
我们可以通过ALTER USER命令给Snowflake用户设置认证策略:
ALTER USER some_user SET AUTHENTICATION POLICY some_policy;
但使用SHOW PARAMETERS IN USER some_user;无法查询到用户已分配的认证策略信息,且直接替换现有策略时会触发以下错误:
⚠️ Object SOME_USER already has a AUTHENTICATION_POLICY.
Only one AUTHENTICATION_POLICY is allowed at a time.
查看单个用户的认证策略
使用DESCRIBE USER命令可以直接获取用户的认证策略分配情况:
DESCRIBE USER some_user;
执行后,结果集中会包含一行AUTHENTICATION_POLICY记录,对应的VALUE列即为该用户当前绑定的认证策略名称(若未分配则为空)。
批量查看所有用户的认证策略分配
若需要批量查询所有用户的认证策略绑定状态,可以通过Snowflake的账户级视图实现:
SELECT u.name AS user_name, ap.policy_name AS authentication_policy FROM snowflake.account_usage.users u LEFT JOIN snowflake.account_usage.authentication_policy_assignments ap ON u.name = ap.assigned_to_name AND ap.assigned_to_type = 'USER';
替换用户的认证策略
要替换现有策略,需先取消当前绑定的策略,再设置新策略:
-- 取消现有认证策略 ALTER USER some_user UNSET AUTHENTICATION POLICY; -- 设置新的认证策略 ALTER USER some_user SET AUTHENTICATION POLICY new_policy;
内容的提问来源于stack exchange,提问作者Marco Roy
相关产品推荐
相关产品推荐

