授予用户所有权

Grant Ownership to a USER

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

  1. 是否可以在用户之间转移权限或克隆用户权限?
  2. 我们如何添加权限并获得所有权?
  1. 授予所有权命令是实现此要求的一个选项: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

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

您提到了 SECURITYADMIN。它是一个 pre-defined 角色,不属于任何其他角色。为什么要更改它的所有权?如果你想将 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