ALTER USER ... ROTATE PROGRAMMATIC ACCESS TOKEN (PAT)¶
プログラムによるアクセストークン をローテートし、有効期限を延長した新しいトークンシークレットを生成し、既存のトークンシークレットを失効させます。新しいシークレットは、トークンが最初に作成されたときに設定されたのと同じ DAYS_TO_EXPIRY プロパティを使用して生成されます。
- こちらもご参照ください。
ALTER USER ... ADD PROGRAMMATIC ACCESS TOKEN (PAT)、 ALTER USER ... MODIFY PROGRAMMATIC ACCESS TOKEN (PAT)、 ALTER USER ... REMOVE PROGRAMMATIC ACCESS TOKEN (PAT)、 SHOW USER PROGRAMMATIC ACCESS TOKENS
構文¶
ALTER USER [ IF EXISTS ] [ <username> ] ROTATE { PROGRAMMATIC ACCESS TOKEN | PAT } <token_name>
[ EXPIRE_ROTATED_TOKEN_AFTER_HOURS = <integer> ]
パラメーター¶
username
トークンが関連付けられているユーザーの名前。
このパラメーターを省略すると、コマンドは現在ログインしているユーザー(現在のセッションでアクティブなユーザー)のトークンをローテートします。
ROTATE { PROGRAMMATIC ACCESS TOKEN | PAT } token_name
指定された名前のプログラムによるアクセストークンをローテートします。
キーワード PROGRAMMATIC ACCESS TOKEN を指定する短い方法として、キーワード PAT を使うことができます。
EXPIRE_ROTATED_TOKEN_AFTER_HOURS = integer
既存のトークンシークレットの有効期限を、指定した時間後に切れるように設定します。
この値を
0
に設定すると、現在のトークンシークレットをすぐに失効させることができます。この値は、
0
から、現在のシークレットの有効期限が切れるまでの残り時間数までの範囲で設定できます。デフォルト:
24
アクセス制御の要件¶
この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
注意 |
---|---|---|
MODIFY PROGRAMMATIC AUTHENTICATION METHODS |
ユーザー |
自分自身またはサービスユーザー以外の人間のユーザーに対してプログラムによるアクセストークンをローテートする場合にのみ必要です。 |
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
出力¶
コマンド出力は、以下の列にあるローテートされたプログラムによるアクセストークンに関する情報を提供します。
列 |
説明 |
---|---|
|
ローテートされたトークンの名前。 |
|
トークン自体。エンドポイントへの認証にこれを使用します。 注釈 トークンは ALTER USER ... ROTATE PROGRAMMATIC ACCESS TOKEN コマンドの出力にのみ表示されます。他の SQL コマンドや関数は、トークンを出力したり返したりしません。 このトークンにプログラムでアクセスする必要がある場合は、 Snowflake Scripting を使用してこのコマンドを実行し、 RESULTSET からトークンを取得することができます。 |
|
前のシークレットを表すトークンの名前。 このトークンオブジェクトを使って、前のシークレットがいつまで有効かを判断することができます。必要に応じて、トークンを失効させることもできます。このトークンに他のタイプの変更を加えることはできません。 このトークンオブジェクトは、ユーザーごとに許可されているトークンの最大数にカウントされることに注意してください。 |
使用上の注意¶
認証にプログラムによるアクセストークンを使用したセッションで、プログラムによるアクセストークンをローテートすることはできません。
例¶
ユーザー example_user
に関連付けられたプログラムによるアクセストークンをローテートします。
ALTER USER IF EXISTS example_user ROTATE PROGRAMMATIC ACCESS TOKEN token_name;
ユーザー example_user
に関連付けられたプログラムによるアクセストークンをローテートし、既存のトークンシークレットを直ちに失効させます。
ALTER USER IF EXISTS example_user ROTATE PROGRAMMATIC ACCESS TOKEN token_name
EXPIRE_ROTATED_TOKEN_AFTER_HOURS=0;