

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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`の より前の部分です。

ユーザー  
PAT を所有する Snowflake ユーザー名。このユーザーには、キーペア認証が設定されている必要があります。

privateKey  
キーペア認証用の PEM エンコードされたプライベートキー。このキーはローテーションされません。これは ROTATE PAT コマンドの認証に使用されます (PAT 自体はローテーションできません）。

パスフレーズ  
(オプション) 暗号化されたプライベートキーのパスフレーズ。プライベートキーが暗号化されていない場合は空のままにします。

patTokenName  
ローテーションするプログラムによるアクセストークンの名前。Snowflake のトークン名と一致する必要があります。

patTokenValue  
プログラムによるアクセストークンのシークレット値。これはローテーションされるフィールドです。

## シークレットメタデータフィールド
<a name="w2aac25c11c31b5"></a>

以下は、Snowflake プログラムによるアクセストークンのメタデータフィールドです。

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

daysToExpiry  
(オプション) 作成時 (1～365) に設定された PAT の DAYS\_TO\_EXPIRY 値。デフォルト: 15。Snowflake 設定と一致する必要があります。ローテーションスケジュールがトークンの TTL よりも短いことを検証するために使用されます。

expireOldTokenAfterHours  
(オプション) 前のトークンがローテーション後に期限切れになるまでの時間 (0～720)。デフォルト: 24。古いトークンをすぐに期限切れにするには、 を 0 に設定します。

## 使用フロー
<a name="w2aac25c11c31b7"></a>

このローテーションでは、単一シークレットアーキテクチャを使用します。シークレットには、キーペア認証情報 (ローテーションコマンドの認証用) と PAT 値 (ローテーションされた認証情報) の両方が含まれます。

上記のフィールドと SnowflakePat としてのシークレットタイプを含むシークレット値を使用して[CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html) 呼び出しを使用してシークレットを作成できます。ローテーション設定は、[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` コマンドを実行します。これにより、新しいトークンがアトミックに生成され、設定された猶予期間で古いトークンが期限切れになります。次に、新しいトークンをパスワードとして接続して検証します。