Snowflake Postgres 的 Snowflake 令牌身份验证¶
Snowflake 允许用户生成短期访问令牌,用于登录 Snowflake Postgres 实例。在实例层级,这被称为 Snowflake 授权,通过以下三个步骤完成:
为 Snowflake Postgres 实例启用 Snowflake 授权。
在 Snowflake Postgres 实例上,创建 Postgres 用户与 Snowflake 用户之间的映射。
映射的 Snowflake 用户随后会生成短期访问令牌,用于登录 Snowflake Postgres 实例。
备注
Snowflake Postgres 的令牌身份验证是一项独立功能,区别于 Snowflake OAuth 和 编程访问令牌 Snowflake 身份验证方法。
在 Postgres 用户和 Snowflake 用户之间创建映射¶
要创建 Postgres 用户与 Snowflake 用户之间的映射,请以 snowflake_admin 用户身份登录您的 Postgres 实例并运行:
上述语句中提供的 {postgres_user} 和 {snowflake_user} 名称将被视为不区分大小写。如果需要区分大小写,请将名称放在双引号内。例如,要将名为 Casey 的 Postgres 用户映射到同名的 Snowflake 用户,请执行以下操作:
要移动 Postgres 用户与 Snowflake 用户之间的映射,请以 snowflake_admin 用户身份登录您的 Postgres 实例并运行:
要查看 Postgres 用户与 Snowflake 用户之间的现有映射,请以 snowflake_admin 用户身份登录您的 Postgres 实例并查询 SNOWFLAKE_AUTH.IDENTITY_MAPPINGPostgres 视图 视图。
备注
已建立 Snowflake 用户映射的 Postgres 用户只能使用生成的短期访问令牌登录。他们无法使用 Postgres 密码连接,且无法更改其 Postgres 密码。要为给定的 Postgres 用户重新启用标准密码登录功能,必须移除其到 Snowflake 用户的映射。
为映射的 Snowflake 用户创建短期访问令牌¶
Snowflake Postgres instance owners and Snowflake users with the USAGE privilege granted on a given instance can create short-lived access tokens for themselves on a per-instance basis for instances that have Snowflake authorization enabled per the instructions above in 在 Snowflake Postgres 实例上启用和禁用 Snowflake 授权.
在导航菜单中,选择 Postgres。
选择您的实例。
在右上角的 Manage 菜单中,选择 Regenerate token。
在显示的 Regenerate token 对话框中,输入已映射到您的 Snowflake 用户的 Postgres 用户名称,然后选择 Acknowledge & continue。
复制显示的短期访问令牌或 Postgres URI,用于在接下来的 15 分钟内建立与 Snowflake Postgres 实例的新连接。
SNOWFLAKE_AUTH.IDENTITY_MAPPINGPostgres 视图¶
此 Snowflake Postgres 视图可用于查询实例上 Postgres 用户与 Snowflake 用户之间的所有映射的列表。
备注
此视图仅可在 Snowflake Postgres 实例内部查询,无法直接从 Snowflake 查询。
列¶
列名称 |
数据类型 |
描述 |
|---|---|---|
postgres_role |
name |
映射的 Postgres 用户的名称。 |
snowflake_identity |
text |
格式为 USER:# 的 Snowflake 用户身份,其中 # 是在 USERS 视图 视图中看到的该用户的 |