【问题标题】:Grant Ownership to a USER将所有权授予 USER
【发布时间】:2022-01-24 08:57:52
【问题描述】:

我们希望将 SECURITYADMIN 的所有权从一个用户替换为另一个用户

  1. 是否可以在用户之间转移权限或克隆用户权限?
  2. 我们如何添加权限并获得所有权?

【问题讨论】:

  • 为什么要将所有权授予用户而不是角色?访问控制通常基于here 解释的角色完成。要向角色授予所有权,您可以使用命令GRANT OWNERSHIP
  • 你是对的,我们只会将所有权授予角色,将用户授予角色

标签: snowflake-cloud-data-platform privileges ownership


【解决方案1】:

首先,Snowflake 应用“基于角色的访问控制 (RBAC)”。因此,您不应考虑直接向用户授予权限。这是不可能的。所有权限都分配给角色,而这些角色又分配给用户。

您提到了 SECURITYADMIN。它是不属于任何其他角色的预定义角色。为什么要更改它的所有权?如果您想将 SECURITYADMIN 从一个用户分配给另一个用户,您只需运行以下命令:

USE ROLE ACCOUNTADMIN;
GRANT ROLE SECURITYADMIN TO USER NEW_USER;
REVOKE ROLE SECURITYADMIN FROM USER OLD_USER;
  1. 是否可以在用户之间转移权限或克隆用户权限?

由于您将为角色分配权限,因此您可以将角色授予其他用户,这样他们将拥有相同的权限。

  1. 我们如何添加权限并获得所有权?

您可以使用 GRANT 命令添加权限:

https://docs.snowflake.com/en/sql-reference/sql/grant-privilege.html

您可以使用 GRANT OWNERSHIP 转让所有权:

https://docs.snowflake.com/en/sql-reference/sql/grant-ownership.html

【讨论】:

    【解决方案2】:
    1. Grant Ownership 命令是实现此要求的一个选项:https://docs.snowflake.com/en/sql-reference/sql/grant-ownership.html#:~:text=Transfers%20ownership%20of%20an%20object,see%20Access%20Control%20in%20Snowflake

    2. 要添加权限,请对特定对象使用“授予”命令并分配给特定角色。 https://docs.snowflake.com/en/sql-reference/sql/grant-privilege.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-22
      • 2014-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多