限制数据库使用雪花仓库
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 除非你阻止了它。
我有一个雪花实例,我想将它用于 2 个不同的环境。
为了分开成本,我会为开发和质量检查创建 2 个仓库。
此外,我将创建两个数据库。是否可以限制dev仓库只能被一个dev db使用,而qa数据库只能被qa仓库使用
我知道我们可以将其限制为角色。但是在雪花的数据库级别上是可能的吗?
否则,最好的方法是什么 - 是创建两个角色,然后按角色授予数据库和仓库的访问权限吗?
角色的问题是 - 我可以对应用程序级角色施加限制,但不能对单个用户角色施加限制
无法将仓库分配给数据库。您需要设置(至少)2 个角色并授予使用特定仓库和数据库所需的权限。
我无法理解用户的问题。您会将这些角色分配给用户,这样用户将只能访问特定的仓库和数据库。
正如 Gokhan 所说。
仓库和数据库只是资源。它们仅由 USER 执行,用户通过 ROLES 执行操作。
因此您必须拥有 QA 用户,具有 QA_x 角色,并且这些角色可以访问仓库和数据库。因此,DEV 角色可以访问 DEV DB 和 WAREHOUSE。
唯一的问题是,如果用户可以访问两个角色,那么他们将不得不 select 在角色之间访问资源,他们可以通过 USE SECONDARY ROLES 除非你阻止了它。