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> ]
Copy

パラメーター

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 アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

出力

コマンド出力は、以下の列にあるローテートされたプログラムによるアクセストークンに関する情報を提供します。

説明

token_name

ローテートされたトークンの名前。

token_secret

トークン自体。エンドポイントへの認証にこれを使用します。

注釈

トークンは ALTER USER ... ROTATE PROGRAMMATIC ACCESS TOKEN コマンドの出力にのみ表示されます。他の SQL コマンドや関数は、トークンを出力したり返したりしません。

このトークンにプログラムでアクセスする必要がある場合は、 Snowflake Scripting を使用してこのコマンドを実行し、 RESULTSET からトークンを取得することができます。

rotated_token_name

前のシークレットを表すトークンの名前。

このトークンオブジェクトを使って、前のシークレットがいつまで有効かを判断することができます。必要に応じて、トークンを失効させることもできます。このトークンに他のタイプの変更を加えることはできません。

このトークンオブジェクトは、ユーザーごとに許可されているトークンの最大数にカウントされることに注意してください。

使用上の注意

認証にプログラムによるアクセストークンを使用したセッションで、プログラムによるアクセストークンをローテートすることはできません。

ユーザー example_user に関連付けられたプログラムによるアクセストークンをローテートします。

ALTER USER IF EXISTS example_user ROTATE PROGRAMMATIC ACCESS TOKEN token_name;
Copy

ユーザー example_user に関連付けられたプログラムによるアクセストークンをローテートし、既存のトークンシークレットを直ちに失効させます。

ALTER USER IF EXISTS example_user ROTATE PROGRAMMATIC ACCESS TOKEN token_name
  EXPIRE_ROTATED_TOKEN_AFTER_HOURS=0;
Copy