USE SECONDARY ROLES¶
セッションのアクティブ/現在のセカンダリロールを指定します。現在アクティブなセカンダリロールは、現在のユーザーが SQL アクションを実行するために必要な権限を持っているかどうかを決定するコンテキストを設定します。
オブジェクトを作成するために CREATE <オブジェクト> ステートメントを実行する認証は、プライマリロールによって提供されることに注意してください。
詳細については、 セカンダリロールの強制 をご参照ください。
- こちらもご参照ください。
構文¶
USE SECONDARY ROLES {
ALL
| NONE
| <role_name> [ , <role_name> ... ]
}
パラメーター¶
ALL
現在アクティブなプライマリロールに 加えて、ユーザーに付与されているすべてのロール。
各 SQL ステートメントが実行されると、ロールのセットが再評価されることに注意してください。追加のロールがユーザーに付与され、そのユーザーが新しい SQL ステートメントを実行する場合、新しく付与されたロールは、新しい SQL ステートメントのアクティブなセカンダリロールです。同じロジックが、ユーザーから取り消されたロールにも適用されます。
NONE
セカンダリロールを無効にします。すべての SQL アクションの認証は、プライマリロールを介して提供されます。
role_name [ , role_name ... ]
指定されたロールをセカンダリロールとして許可します。セカンダリロールは、ユーザ定義のアカウントロールまたはシステムロールとすることができます。Snowflakeに保存されているロール名を指定します。
識別子にスペースまたは特殊文字が含まれる場合は、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
詳細については、 識別子の要件 をご参照ください。
使用上の注意¶
ロールを使用するには、ロールがユーザーに付与されている必要があります。
コンテキストドロップダウンでは、複数のロールを選択できないことに注意してください。
セッションポリシー が
ALLOWED_SECONDARY_ROLES = ()
を指定し、セッションポリシーがアカウントまたはアカウント内のユーザーに設定されている場合、エラーメッセージが発生します。No secondary roles are activated due to the session policy associated with the user or account.