View a markdown version of this page

Snowflake プログラムによるアクセストークン - AWS Secrets Manager

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

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 URL .snowflakecomputing.comの より前の部分です。

ユーザー

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

privateKey

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

パスフレーズ

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

patTokenName

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

patTokenValue

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

シークレットメタデータフィールド

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

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

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

expireOldTokenAfterHours

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

使用フロー

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

上記のフィールドと SnowflakePat としてのシークレットタイプを含むシークレット値を使用してCreateSecret 呼び出しを使用してシークレットを作成できます。ローテーション設定は、RotateSecret 呼び出しを使用して設定できます。デフォルト値を使用するには、ローテーションメタデータフィールドを空のままにすることができます。RotateSecret 呼び出しでロール ARN を指定する必要があります。これにより、シークレットをローテーションするために必要なアクセス許可がサービスに付与されます。アクセス許可ポリシーの例については、「セキュリティとアクセス許可」を参照してください。

ローテーション中、ドライバーはキーペア認証を介して Snowflake に接続し、 ALTER USER ... ROTATE PAT コマンドを実行します。これにより、新しいトークンがアトミックに生成され、設定された猶予期間で古いトークンが期限切れになります。次に、新しいトークンをパスワードとして接続して検証します。