限制数据库使用雪花仓库

Restrict snowflake warehouse to be used by database

我有一个雪花实例,我想将它用于 2 个不同的环境。

为了分开成本,我会为开发和质量检查创建 2 个仓库。

此外,我将创建两个数据库。是否可以限制dev仓库只能被一个dev db使用,而qa数据库只能被qa仓库使用

我知道我们可以将其限制为角色。但是在雪花的数据库级别上是可能的吗?

否则,最好的方法是什么 - 是创建两个角色,然后按角色授予数据库和仓库的访问权限吗?

角色的问题是 - 我可以对应用程序级角色施加限制,但不能对单个用户角色施加限制

无法将仓库分配给数据库。您需要设置(至少)2 个角色并授予使用特定仓库和数据库所需的权限。

我无法理解用户的问题。您会将这些角色分配给用户,这样用户将只能访问特定的仓库和数据库。

正如 Gokhan 所说。

仓库和数据库只是资源。它们仅由 USER 执行,用户通过 ROLES 执行操作。

因此您必须拥有 QA 用户,具有 QA_x 角色,并且这些角色可以访问仓库和数据库。因此,DEV 角色可以访问 DEV DB 和 WAREHOUSE。

唯一的问题是,如果用户可以访问两个角色,那么他们将不得不 select 在角色之间访问资源,他们可以通过 USE SECONDARY ROLES 除非你阻止了它。