CREATE SESSION POLICY

新しいセッションポリシーを作成するか、既存のセッションポリシーを置き換えます。

セッションポリシーは、アイドルセッションのタイムアウト期間を分単位で定義します。管理者は、オプションで、Snowflakeウェブインターフェイスと他のSnowflakeクライアントに異なるタイムアウト値を設定できます。

セッションポリシーを作成したら、 ALTER ACCOUNT ステートメントを使用してSnowflakeアカウントに、または ALTER USER ステートメントを使用してユーザーにセッションポリシーを適用します。

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

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

構文

CREATE [OR REPLACE] SESSION POLICY [IF NOT EXISTS] <name>
  [ 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>' ]
Copy

必須パラメーター

name

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

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

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

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

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')。新しいセッション・ポリシーを作成するときにこのプロパティを設定しないと、すべてのセカンダリ・ロールが許可されます。

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

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

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

()

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

('ALL')

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

( role_name [ , role_name ... ] )

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

デフォルト: ()。新しいセッション・ポリシーを作成するときにこのプロパティを設定しないと、すべてのセカンダリ・ロールが許可されます。

COMMENT = 'string_literal'

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

アクセス制御の要件

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

権限

オブジェクト

注意

CREATE SESSION POLICY

スキーマ

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

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

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

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

使用上の注意

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

  • メタデータについて:

    注意

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

  • OR REPLACEIF NOT EXISTS 句は互いに排他的です。両方を同じステートメントで使うことはできません。

  • CREATE OR REPLACE <オブジェクト> ステートメントはアトミックです。つまり、オブジェクトが置き換えられると、単一のトランザクションで、古いオブジェクトが削除されて新しいオブジェクトが作成されます。

現在のアカウントのセッションポリシーを作成します。

CREATE SESSION POLICY session_policy_prod_1
  SESSION_IDLE_TIMEOUT_MINS = 30
  SESSION_UI_IDLE_TIMEOUT_MINS = 30
  COMMENT = 'session policy for use in the prod_1 environment'
;
Copy