本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Snowflake 编程访问令牌
秘密值字段
以下是 Secrets Manager 密钥中必须包含的字段:
{
"account": "Snowflake account identifier",
"user": "Snowflake username",
"privateKey": "PEM-encoded private key",
"passphrase": "private key passphrase (optional)",
"patTokenName": "PAT name",
"patTokenValue": "PAT secret value"
}
- 账户
-
您的 Snowflake 账户标识符(例如,
myorg-myaccount)。这是你的 Snowflake 网址.snowflakecomputing.com中之前的部分。 - 用户
-
拥有 PAT 的 Snowflake 用户名。此用户必须配置密钥对身份验证。
- privateKey
-
PEM-encoded 用于密钥对身份验证的私钥。此密钥不会轮换,它用于对 ROTATE PAT 命令进行身份验证(PAT 无法自行轮换)。
- 密码短语
-
(可选)加密私钥的密码。如果私钥未加密,则留空。
- pat TokenName
-
要轮换的编程访问令牌的名称。必须与 Snowflake 中的代币名称匹配。
- pat TokenValue
-
编程访问令牌密钥值。这是被轮换的字段。
机密元数据字段
以下是 Snowflake 编程访问令牌的元数据字段:
{ "daysToExpiry": "15", "expireOldTokenAfterHours": "24" }
- 天 ToExpiry
-
(可选)创建时设置的 PAT 的 DAYS_TO_EXPIRITY 值 (1—365)。默认值:15。必须与 Snowflake 设置相匹配。用于验证轮换时间表是否比代币的 TTL 短。
- 到期 OldTokenAfterHours
-
(可选)轮换后上一个令牌到期前的几个小时(0—720)。默认值:24。设置为 0 表示旧令牌立即到期。
使用流程
此轮换使用单密架构。该密钥包含密钥对凭证(用于对轮换命令进行身份验证)和 PAT 值(轮换后的凭证)。
您可以使用CreateSecret调用来创建您的密钥,其密钥值包含上述字段,密钥类型为 SnowflakePat。可以使用RotateSecret呼叫来设置轮换配置。旋转元数据字段可以留空以使用默认值。您必须在RotateSecret调用中提供角色 ARN,以向服务授予轮换密钥所需的权限。有关权限策略的示例,请参阅安全和权限。
在轮换期间,驱动程序通过密钥对身份验证连接到 Snowflake 并执行ALTER USER ... ROTATE PAT命令,该命令以原子方式生成新令牌,并在配置的宽限期内使旧令牌过期。然后,通过将新令牌作为密码进行连接,对其进行验证。