

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Snowflake 程式設計存取字符
<a name="mes-partner-SnowflakePat"></a>

## 秘密值欄位
<a name="w2aac25c11c31b3"></a>

以下是必須包含在 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 URL `.snowflakecomputing.com`中 之前的 部分。

user  
擁有 PAT 的 Snowflake 使用者名稱。此使用者必須設定金鑰對身分驗證。

privateKey  
金鑰對身分驗證的 PEM 編碼私有金鑰。此金鑰不會輪換 – 用於驗證 ROTATE PAT 命令 (PAT 無法自行輪換）。

Passphrase (密碼短語)  
（選用） 加密私有金鑰的密碼短語。如果私有金鑰未加密，請保留空白。

patTokenName  
要輪換的程式設計存取權杖名稱。必須符合 Snowflake 中的字符名稱。

patTokenValue  
程式設計存取字符秘密值。這是要輪換的欄位。

## 秘密中繼資料欄位
<a name="w2aac25c11c31b5"></a>

以下是 Snowflake 程式設計存取字符的中繼資料欄位：

```
{
  "daysToExpiry": "{{15}}",
  "expireOldTokenAfterHours": "{{24}}"
}
```

daysToExpiry  
（選用） 建立時設定的 PAT DAYS\_TO\_EXPIRY 值 (1–365)。預設：15。必須符合 Snowflake 設定。用來驗證輪換排程是否短於字符的 TTL。

expireOldTokenAfterHours  
（選用） 上一個權杖在輪換後過期之前的小時數 (0–720)。預設：24。將舊字符的立即過期設定為 0。

## 用量流程
<a name="w2aac25c11c31b7"></a>

此輪換使用單一秘密架構。秘密同時包含金鑰對登入資料 （用於驗證輪換命令） 和 PAT 值 （輪換的登入資料）。

您可以使用 [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html) 呼叫來建立秘密，其秘密值包含上述欄位，且秘密類型為 SnowflakePat。您可以使用 [RotateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_RotateSecret.html) 呼叫來設定輪換組態。輪換中繼資料欄位可以保留空白，以使用預設值。您必須在 [RotateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_RotateSecret.html) 呼叫中提供角色 ARN，授予服務輪換秘密所需的許可。如需許可政策的範例，請參閱 [安全與許可](mes-security.md)。

在輪換期間，驅動程式會透過金鑰對身分驗證連線至 Snowflake，並執行 `ALTER USER ... ROTATE PAT`命令，以原子方式產生新的權杖，並使用設定的寬限期來過期舊權杖。然後，新的字符會以密碼的形式與其連線來驗證。