【问题标题】:ClickHouse difference between role GRANT and SETClickHouse 角色 GRANT 和 SET 的区别
【发布时间】:2021-08-24 00:50:23
【问题描述】:

问题发布到 StackExchange; 请帮助我学习角色分配。 ClickHouse 使用了两种角色分配方法;

  1. 授予
  2. 设置

例如 1:将管理员授予 user1
eg 2: SET ROLE admin TO user1

我找不到这两者的区别。有相关知识的请指教。谢谢!

【问题讨论】:

    标签: clickhouse


    【解决方案1】:

    这是两个不同的命令:

    • GRANT 为用户帐户分配一个角色,而不是应用/激活

    • SET ROLE 激活当前用户的角色,以便使用角色

    示例(参见https://clickhouse.tech/docs/en/sql-reference/statements/create/role/#create-role-examples):

    CREATE ROLE accountant;
    GRANT SELECT ON db.* TO accountant;
    
    GRANT accountant TO user1;
    
    /* login as user1 */
    
    /* activate the role and use related privileges */
    SET ROLE accountant;
    SELECT * FROM db.*;
    

    为避免每次用户登录后调用SET ROLE,需要将角色添加到默认列表SET DEFAULT ROLE

    【讨论】:

    • 谢谢!如果将角色分配给用户作为默认角色,我认为我不需要运行 SET 语句。
    猜你喜欢
    • 2018-12-01
    • 2011-02-15
    • 2012-05-13
    • 1970-01-01
    • 2015-06-18
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多