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