【问题标题】:Hide database from a role in Snowflake从雪花中的角色隐藏数据库
【发布时间】:2019-11-27 01:35:25
【问题描述】:

我在ACCOUNTADMIN 下尝试了REVOKE ALL ON DATABASE ABC FROM ROLE XYZ 并得到了成功消息。

当我切换到角色 XYZ 时,我仍然看到 ABC 数据库,但它显示为空。在此角色下运行show databases 时,数据库也仍在列表中。

如何让这个角色根本看不到数据库?

顺便说一句,这个问题会阻止我们与 Snowflake 的 Mode 连接在 UI 中列出可用的表。

【问题讨论】:

    标签: snowflake-cloud-data-platform


    【解决方案1】:

    创建两个数据库:db1 和 db2,例如,使用 ACCOUNTADMIN 角色:

    创建数据库 db1; 创建数据库db2;

    然后创建两个角色,一个用于数据库 db1,另一个用于数据库 db2

    创建角色 db1; 创建角色 db2;

    现在,将数据库 db1 的使用权授予角色 db1,与角色 db2 类似。

    将数据库 db1 的使用权授予角色 db1; 将数据库 db2 的使用权授予角色 db2;

    当您切换到角色 db2 时,您不会看到 db1 数据库,反之亦然。 另外,当你运行时:

    显示数据库;

    说,当您将角色设置为 db1 时, 您不会在结果中看到数据库 db2。

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      就我而言,我也有使用情况监控,因此必须执行revoke MONITOR USAGE on account from role XYZ。我怀疑这是一个非常极端的案例,不会影响很多人。 :(

      【讨论】:

        猜你喜欢
        • 2021-01-04
        • 1970-01-01
        • 2022-01-13
        • 2021-07-10
        • 2020-07-14
        • 2019-07-28
        • 1970-01-01
        • 2020-05-18
        • 1970-01-01
        相关资源
        最近更新 更多