ALTER USER ... ADD PROGRAMMATIC ACCESS TOKEN (PAT)

ユーザー用の プログラムによるアクセストークン を作成します。

こちらもご参照ください。

ALTER USER ... MODIFY PROGRAMMATIC ACCESS TOKEN (PAT)ALTER USER ... ROTATE PROGRAMMATIC ACCESS TOKEN (PAT)ALTER USER ... REMOVE PROGRAMMATIC ACCESS TOKEN (PAT)SHOW USER PROGRAMMATIC ACCESS TOKENS

構文

ALTER USER [ IF EXISTS ] [ <username> ] ADD { PROGRAMMATIC ACCESS TOKEN | PAT } <token_name>
  [ ROLE_RESTRICTION = '<string_literal>' ]
  [ DAYS_TO_EXPIRY = <integer> ]
  [ MINS_TO_BYPASS_NETWORK_POLICY_REQUIREMENT = <integer> ]
  [ COMMENT = '<string_literal>' ]
Copy

必須パラメーター

ADD { PROGRAMMATIC ACCESS TOKEN | PAT } token_name

指定された名前のプログラムによるアクセストークンを作成します。

キーワード PROGRAMMATIC ACCESS TOKEN を指定する短い方法として、キーワード PAT を使うことができます。

オプションのパラメーター

username

トークンが関連付けられているユーザーの名前。ユーザーは、他のユーザーのプログラムによるアクセストークンを使用して認証することはできません。

ユーザーに代わってプログラムによるアクセストークンを作成するには、管理者は ALTER USER コマンドでそのユーザーの名前を指定する必要があります。

username が省略された場合、コマンドは現在ログインしているユーザー(このセッションのアクティブユーザー)のプログラムによるアクセストークンを生成します。

ROLE_RESTRICTION = 'string_literal'

権限の評価とオブジェクトの作成に使用されるロールの名前。これは、ユーザーに既に付与されているロールのいずれかでなければなりません。

注釈

このパラメーターは、ユーザーがサービスユーザーの場合(USER オブジェクトが TYPE=SERVICE の場合)に必要です。

認証にこのトークンを使用すると、作成したオブジェクトはすべてこのロールが所有し、権限評価にはこのロールが使用されます。

注釈

ユーザーの DEFAULT_SECONDARY_ROLES が('ALL')に設定されていても、セカンダリロールは使用されません。

このロールがプログラムによるアクセストークンに関連付けられたユーザーから取り消された場合、トークンを認証に使用しようとすると失敗します。

注釈

ROLE_RESTRICTION の値としてロールを指定しても、指定されたロールはプログラムによるアクセストークンに付与されません。ユーザーは既にこのロールを付与されている必要があります。

ROLE_RESTRICTION を省略した場合、プライマリロールが所有するオブジェクトを作成し、権限がプライマリロールとセカンダリロールに対して評価されます(プライマリ・ロールとセカンダリ・ロールによる権限付与 で説明しています)。

DAYS_TO_EXPIRY = integer

プログラムによるアクセストークンを認証に使用できる日数。

1 から 最大有効期限 までの値を指定できます。

デフォルト: 15

MINS_TO_BYPASS_NETWORK_POLICY_REQUIREMENT = integer

ユーザーがこのトークンを使用して、アクティブな ネットワークポリシー の適用を受けることなくSnowflakeにアクセスできる時間(分)。

その人がネットワークポリシーの対象ではないけれども、認証のためにプログラムによるアクセストークンを使用する必要がある場合、その人のトークンにこれを設定することができます(USER オブジェクトが TYPE=PERSON の場合)。 ネットワークポリシー要件 をご参照ください。

注釈

MINS_TO_BYPASS_NETWORK_POLICY_REQUIREMENT を設定しても、ユーザーはネットワークポリシー自体をバイパスすることはできません。

1 から 1440 (1日)までの範囲で値を設定できます。

デフォルト: 0

COMMENT = 'string_literal'

プログラムによるアクセストークンに関する説明的なコメント。このコメントは、 Snowsight の プログラムによるアクセストークンのリスト に表示されます。

アクセス制御の要件

この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。

権限

オブジェクト

注意

MODIFY PROGRAMMATIC AUTHENTICATION METHODS

ユーザー

自分以外のユーザーのプログラムによるアクセストークンを生成する場合にのみ必要です。

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

出力

コマンド出力には、新しく生成されたプログラムによるアクセストークンに関する情報が以下の列に表示されます。

説明

token_name

生成されたトークンの名前。

token_secret

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

注釈

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

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

使用上の注意

  • 各ユーザーは最大15個のプログラムによるアクセストークンを持つことができます。

    • この数には、 無効化されたトークン も含まれます。

    • この数には、有効期限が切れたトークンは含まれていません。

ユーザー example_user に関連付けられ、関連付けられたユーザーからすべての権限を継承する。 example_token という名前のプログラムによるアクセストークンを作成します。

ALTER USER IF EXISTS example_user ADD PROGRAMMATIC ACCESS TOKEN example_token
  COMMENT = 'a reference example';
Copy

ユーザー example_user に関連付けられ、ロール example_role からすべての権限を継承し、15日後に失効する example_token という名前のプログラムによるアクセストークンを作成します。

ALTER USER IF EXISTS example_user ADD PROGRAMMATIC ACCESS TOKEN example_token
  ROLE_RESTRICTION = 'example_role'
  DAYS_TO_EXPIRY = 15;
Copy