GRANT ROLE¶
ユーザーまたは別のロールにロールを割り当てます。
ロールを別のロールに付与すると、ロール間に「親子」関係が作成されます(ロール階層 とも呼ばれます)。
ユーザーにロールを付与すると、ユーザーはロールに許可されたすべての操作を(ロールに付与されたアクセス権を介して)実行できます。
詳細については、 アクセス制御の概要 をご参照ください。
- こちらもご参照ください。
構文¶
GRANT ROLE <name> TO { ROLE <parent_role_name> | USER <user_name> }
パラメーター¶
name
付与するロールの識別子を指定します。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
ROLE parent_role_name
指定されたロールにロールを付与します。
USER user_name
指定されたユーザーにロールを付与します。
アクセス制御の要件¶
この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
メモ |
---|---|---|
OWNERSHIP |
ロール |
ユーザーまたは別のロールに付与されるロール。 |
または、MANAGE GRANTS グローバル権限を持つロールを使用します。 Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.
スキーマ内の任意のオブジェクトを操作するには、親データベースとスキーマに対する USAGE 権限も必要であることに注意してください。
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
これらのロールのロール階層はSnowflakeによって定義および維持されるため、 PUBLIC を含むシステム定義のロールを他のロールに付与する必要はありません。
例¶
GRANT ROLE analyst TO ROLE SYSADMIN;
GRANT ROLE analyst TO USER user1;