创建用户并授予角色¶
简介¶
本教程向您展示了如何使用 SQL 命令创建用户并向其授予角色。您将在 Snowsight 中使用模板工作表,按照相关步骤操作并完成这些任务。
备注
Snowflake 对本教程中示例数据使用的磁盘存储收取最低费用。本教程提供删除数据库并最大程度地降低存储成本的步骤。
Snowflake 需要一个 虚拟仓库 加载数据并执行查询。正在运行的虚拟仓库会使用 Snowflake Credit。在本教程中,您将使用 30 天试用账户 (https://signup.snowflake.com/),该账户提供免费 Credit,您无需支付任何费用。
您将学习的内容¶
在本教程中,您将学习如何:
使用具有创建和使用本教程所需的 Snowflake 对象的权限的角色。
创建用户。
向用户授予角色并授予仓库访问权限。
探索账户中的用户和角色。
删除您创建的用户。
先决条件¶
本教程假定满足以下条件:
您拥有 支持的浏览器。
您拥有试用账户。如果您还没有试用账户,可以注册一个 免费试用账户 (https://signup.snowflake.com/)。您可以选择任意 Snowflake 云区域。
您的用户是账户管理员,并被授予 ACCOUNTADMIN 系统角色。有关更多信息,请参阅 使用 ACCOUNTADMIN 角色。
备注
本教程仅适用于拥有试用账户的用户。示例工作表不适用于其他类型的账户。
第 1 步:使用 Snowsight 登录¶
要通过公共互联网访问 Snowsight,请执行以下操作:
在支持的 Web 浏览器中,导航至 https://app.snowflake.cn。
提供 账户标识符 或账户 URL。如果您之前登录过 Snowsight,可能会看到一个可以选择的账户名称。
使用 Snowflake 账户凭据登录。
第 2 步:打开 [模板] 工作表¶
您可以使用工作表来编写和运行数据库上的 SQL 命令。您的试用账户有权访问本教程的预加载模板工作表。工作表包含您将运行以设置角色上下文、创建用户和授予角色权限的 SQL 命令。因为它是一个模板工作表,所以系统将邀请您为特定的 SQL 参数输入自己的值。
有关工作表的更多信息,请参阅 工作表入门。
要打开工作表,请执行以下操作:
选择 Projects » Worksheets 以打开工作表列表。
打开 [Template] Adding a user and granting roles。
您的浏览器显示的内容与下图类似。
第 3 步:设置要使用的角色¶
您使用的角色决定了您拥有的权限。在本教程中,使用 USERADMIN 系统角色,以便您创建和管理账户中的用户和角色。有关更多信息,请参阅 访问控制概述。
要设置要使用的角色,请执行以下操作:
在打开的工作表中,将光标置于 USE ROLE 行。
USE ROLE USERADMIN;
在工作表的右上角,选择 Run。
备注
在本教程中,每次运行一个 SQL 语句。不要选择 Run All。
第 4 步:创建用户¶
Snowflake 用户拥有登录凭据。当用户被授予角色时,用户可以通过授予该角色的权限执行该角色允许的所有操作。有关更多信息,请参阅 用户管理。
在本教程的这一步中,您将创建具有名称、密码和一些其他属性的用户。
在打开的工作表中,将光标置于 CREATE USER 行,插入您选择的用户名和其他参数值(示例如下所示),然后选择 Run。
对于 MUST_CHANGE_PASSWORD,将值设置为 true
,可确保在首次登录时请求密码重置。对于 DEFAULT_WAREHOUSE,请使用 COMPUTE_WH
。
CREATE OR REPLACE USER snowman PASSWORD = 'sn0wf@ll' LOGIN_NAME = 'snowstorm' FIRST_NAME = 'Snow' LAST_NAME = 'Storm' EMAIL = 'snow.storm@snowflake.com' MUST_CHANGE_PASSWORD = true DEFAULT_WAREHOUSE = COMPUTE_WH;
此命令返回以下输出:
User SNOWMAN successfully created.
如果您使用真实 Snowflake 账户创建真实用户,您现在将以安全的方式向需要访问此新账户的人员发送以下信息:
Snowflake 账户 URL:用户将登录的 Snowflake 账户链接。您可以在浏览器顶部找到此链接(例如:https://app.snowflake.cn/myorg/myaccount/,其中
myorg
是 Snowflake 组织 ID,myaccount
是账户 ID)。LOGIN_NAME,如 CREATE USER 命令指定。
PASSWORD,如 CREATE USER 命令指定。
第 5 步:向用户授予系统角色和仓库访问权限¶
现在您已经创建了用户,您可以使用 SECURITYADMIN 角色向用户授予 SYSADMIN 角色,以及对 COMPUTE_WH 仓库授予 USAGE。
将一个角色授予另一个角色时,会在角色之间建立父子关系(也称为角色层次结构)。将角色授予用户后,用户即可执行该角色允许的所有操作(通过授予角色的访问权限实现)。
SYSADMIN 有权在账户中创建仓库、数据库和数据库对象,并将这些权限授予其他角色。仅将此角色授予应具有这些权限的用户。有关其他系统定义角色的信息,请参阅 访问控制概述。
要授予用户对角色和仓库的访问权限,请执行以下操作:
在打开的工作表中,将光标置于 USE ROLE 行,然后选择 Run。
USE ROLE SECURITYADMIN;
将光标置于 GRANT ROLE 行,输入您所创建的用户名,然后选择 Run。
GRANT ROLE SYSADMIN TO USER snowman;
将光标置于 GRANT USAGE 行,然后选择 Run。
GRANT USAGE ON WAREHOUSE COMPUTE_WH TO ROLE SYSADMIN;
第 6 步:探索账户中的用户和角色¶
现在,您可以使用 ACCOUNTADMIN 角色探索账户中的所有用户和角色。
要探索用户和角色,请执行以下操作:
在打开的工作表中,将光标置于 USE ROLE 行,然后选择 Run。
USE ROLE ACCOUNTADMIN;
将光标置于 SHOW USERS 行,然后选择 Run。
SHOW USERS;
您的输出看起来类似于下图。
将光标置于 SHOW ROLES 行,然后选择 Run。
SHOW ROLES;
您的输出看起来类似于下图。
第 7 步:删除用户并审查要点¶
恭喜!您已成功完成此试用账户教程。花几分钟时间审查一下所涉及的要点。通过查看 Snowflake 文档中的其他主题了解更多信息。
删除用户。¶
假设不再需要所创建的用户,现在可以将其删除。
在打开的工作表中,将光标置于 DROP USER 行,输入您所创建的用户名,然后选择 Run。
DROP USER snowman;
审查要点¶
总之,您会使用在 Snowsight 中预先加载的工作表来完成以下步骤:
设置要使用的角色。
创建新用户。
授予用户角色权限和仓库访问权限。
探索账户中的用户和角色。
删除您创建的用户。
以下是一些关于用户和角色的要点:
您需要所需的权限才能在账户中创建和管理对象。在本教程中,您将 USERADMIN、SECURITYADMIN、SYSADMIN 和 ACCOUNTADMIN 系统角色用于不同的目的。
ACCOUNTADMIN 角色通常不用于创建对象。相反,我们建议创建与组织中的业务职能保持一致的角色层次结构。有关更多信息,请参阅 使用 ACCOUNTADMIN 角色。
仓库提供执行 DML 操作、加载数据和运行查询所需的计算资源。本教程使用包含在您的试用账户中的
compute_wh
仓库。
下一步是什么?¶
请使用以下资源继续了解 Snowflake :
完成 Snowflake 提供的其他教程:
熟悉 Snowflake 的关键概念和功能,以及用于创建用户和授予角色权限的 SQL 命令:
尝试 Snowflake 提供的 Tasty Bytes Quickstarts:
Tasty Bytes Quickstarts (https://quickstarts.snowflake.com/?cat=tasty-bytes)