ALTER SESSION POLICY

既存のセッションポリシーのプロパティを変更します。

セッションポリシープロパティに加えられた変更は、セッションポリシーを使用する次の SQL クエリが実行されるときに有効になります。

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

セッションポリシー DDL 参照

構文

ALTER SESSION POLICY [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER SESSION POLICY [ IF EXISTS ] <name> SET
  [ SESSION_IDLE_TIMEOUT_MINS = <integer> ]
  [ SESSION_UI_IDLE_TIMEOUT_MINS = <integer> ]
  [ ALLOWED_SECONDARY_ROLES = ( [ { 'ALL' | <role_name> [ , <role_name> ... ] } ] ) ]
  [ BLOCKED_SECONDARY_ROLES = ( [ { 'ALL' | <role_name> [ , <role_name> ... ] } ] ) ]
  [ COMMENT = '<string_literal>' ]

ALTER SESSION POLICY [ IF EXISTS ] <name> SET
  TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER SESSION POLICY [ IF EXISTS ] <name> UNSET TAG <tag_name> [ , <tag_name> ... ]

ALTER SESSION POLICY [ IF EXISTS ] <name> UNSET
  [ SESSION_IDLE_TIMEOUT_MINS ]
  [ SESSION_UI_IDLE_TIMEOUT_MINS ]
  [ ALLOWED_SECONDARY_ROLES ]
  [ BLOCKED_SECONDARY_ROLES ]
  [ COMMENT ]
Copy

パラメーター

name

セッションポリシーの識別子。アカウントに対して一意である必要があります。

識別子の値はアルファベットで始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例: "My object")。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

詳細については、 識別子の要件 をご参照ください。

RENAME TO new_name

セッションポリシーの新しい識別子を指定します。アカウントに対して一意である必要があります。

詳細については、 識別子の要件 をご参照ください。

オプションでオブジェクトの名前を変更して、オブジェクトを別のデータベースやスキーマに移動できます。これを実行するには、新しいデータベース名やスキーマ名をそれぞれ db_name.schema_name.object_name または schema_name.object_name の形式で含む、修飾された new_name 値を指定します。

注釈

  • 宛先データベースやスキーマはすでに存在している必要があります。また、同じ名前のオブジェクトが宛先データベースにすでに存在することはできません。存在する場合、ステートメントはエラーを返します。

  • オブジェクトを管理アクセススキーマに移動することは、オブジェクトの所有者(つまり、オブジェクトに対して OWNERSHIP 権限を持つロール)がターゲットスキーマも所有している場合を 除き 禁止されています。

SET ...

セッションに設定する1つ、または空白、コンマ、または改行で区切られた複数のパラメーターを指定します。

SESSION_IDLE_TIMEOUT_MINS = integer

Snowflakeクライアントおよびプログラムクライアントの場合は、ユーザーがSnowflakeに対して再度認証する必要があるまでにセッションがアイドル状態になる分数。値が指定されていない場合、Snowflakeはデフォルト値を使用します。

分数には、 5 から 240 までの任意の整数を指定できます。

デフォルト: 240 (4時間)

SESSION_UI_IDLE_TIMEOUT_MINS = integer

Snowsight で、ユーザーがSnowflakeに対して再度認証する必要があるまでにセッションがアイドル状態になる分数。値が指定されていない場合、Snowflakeはデフォルト値を使用します。

分数には、 5 から 240 までの任意の整数を指定できます。

デフォルト: 240 (4時間)

ALLOWED_SECONDARY_ROLES = ( [ { 'ALL' | role_name [ , role_name ... ] } ] )

セッション ポリシーのセカンダリ ロールがある場合は、それを指定します。

このプロパティに設定可能な値は以下の通りです:

()

セカンダリロールを許可しません。

('ALL')

すべてのセカンダリロールを許可します。

( role_name [ , role_name ... ] )

指定されたロールをセカンダリロールとして許可します。セカンダリロールは、ユーザ定義のアカウントロールまたはシステムロールとすることができます。Snowflakeに保存されているロール名を指定します。詳細については、 識別子の要件 をご参照ください。

デフォルト: ('ALL')。このプロパティの設定を解除すると、DESCRIBE SESSION POLICY コマンドの出力におけるその値は 'ALL' になります。

BLOCKED_SECONDARY_ROLES = ( [ { 'ALL' | role_name [ , role_name ... ] } ] )

セッションポリシーでブロックされたセカンダリロールがある場合は、それを指定します。ブロックされたセカンダリロールは、許可されたセカンダリロールよりも優先順位が上です。

このプロパティに設定可能な値は以下の通りです:

()

すべてのセカンダリロールを許可します。

('ALL')

セカンダリロールを許可しません。

( role_name [ , role_name ... ] )

指定されたロールをセカンダリロールとしてブロックします。指定されたロール、およびそれらのロールに付与されたロールは、セカンダリロールとしてアクティブ化することができません。ブロックされたこれらのロールは、ユーザー定義のアカウントロールまたはシステムロールである場合があります。Snowflakeに保存されているロール名を指定します。詳細については 識別子の要件 をご参照ください。

デフォルト: ()。このプロパティの設定を解除すると、DESCRIBE SESSION POLICY コマンドの出力におけるその値は '()' になります。

COMMENT = 'string_literal'

セッションポリシーにコメントを追加するか、既存のコメントを上書きします。

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

タグ の名前とタグ文字列の値を指定します。

タグ値は常に文字列であり、タグ値の最大文字数は256です。

ステートメントでのタグの指定に関する情報については、 オブジェクトのタグクォータ をご参照ください。

UNSET ...

セッションポリシーの設定を解除する1つ以上のパラメーターを指定します。これにより、パラメーターはシステムデフォルトにリセットされます。

単一の ALTER ステートメントで複数のプロパティをリセットできます。各プロパティはコンマで区切る 必要があります。プロパティをリセットするときは、名前のみを指定します。プロパティに値を指定すると、エラーが返されます。

アクセス制御の要件

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

権限

オブジェクト

注意

OWNERSHIP

セッションポリシー

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege).

スキーマ内のオブジェクトに対して操作を実行するには、親データベースとスキーマに対する USAGE 権限が必要です。スキーマについての権限を付与されたロールは、そのスキーマ名を解決できるようになります。たとえば、スキーマに対する CREATE 権限を付与されたロールは、そのスキーマにオブジェクトを作成でき、そのスキーマに対する USAGE *も*付与されている必要はありません。

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

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

セッションポリシー DDL と権限の詳細については、 セッションポリシーの管理 をご参照ください。

使用上の注意

  • 既存のセッションポリシーを更新するために、ポリシーの現在の定義を確認する必要がある場合は、 GET_DDL 関数を呼び出すか、 DESCRIBE SESSION POLICY コマンドを実行します。

  • ALTER ステートメントを実行する前に、 DESCRIBE SESSION POLICY ステートメントを実行してポリシーの属性値を決定できます。

  • メタデータについて、

    注意

    Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。

次の例では、セッションポリシーを更新して、 Snowsight のセッションタイムアウト値を 15 分にします。

DESC SESSION POLICY session_policy_prod_1;
Copy
+---------------------------------+-----------------------+------------------------+--------------------------+--------------------------------------------------+
| createdOn                       | name                  | sessionIdleTimeoutMins | sessionUIIdleTimeoutMins | comment                                          |
+---------------------------------+-----------------------+------------------------+--------------------------+--------------------------------------------------+
| Mon, 11 Jan 2021 00:00:00 -0700 | session_policy_prod_1 | 30                     | 30                       | session policy for use in the prod_1 environment |
+---------------------------------+-----------------------+------------------------+--------------------------+--------------------------------------------------+
ALTER SESSION POLICY session_policy_prod_1 SET SESSION_UI_IDLE_TIMEOUT_MINS = 15;
Copy