GRANT APPLICATION ROLE¶
アプリケーションロールをアカウントロールまたは別のアプリケーションロールに割り当てます。
このコマンドは、アプリケーションロールとそれが付与されるロールの間に「親子」関係を作成します。
アプリケーションロールは、ユーザーに直接付与できないことに注意してください。
詳細については、 アクセス制御の概要 をご参照ください。
- こちらもご参照ください。
ALTER APPLICATION ROLE、 CREATE APPLICATION ROLE、 REVOKE APPLICATION ROLE、 SHOW APPLICATION ROLES
構文¶
GRANT APPLICATION ROLE <name> TO { ROLE <parent_role_name> | APPLICATION ROLE <application_role> | APPLICATION <application_name>}
パラメーター¶
name
付与するアプリケーションロールの識別子を指定します。識別子にスペースまたは特殊文字が含まれる場合は、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
ROLE parent_role_name
指定されたアカウントロールにアプリケーションロールを付与します。
APPLICATION ROLE application_role
指定されたアプリケーションロールにアプリケーションロールを付与します。この付与により、アプリケーションロールのロール階層が作成されます。
アプリケーションロールは、同じアプリケーション内のアカウントロールまたは別のアプリケーションロールに付与できます。親ロールがアプリケーションロールであり、識別子が
application_name.application_role_name
の形式で完全修飾されていない場合、コマンドはセッションの現在のアプリケーションでアプリケーションロールを検索します。APPLICATION ROLE application_name
指定したアプリケーションにアプリケーションロールを付与します。
アクセス制御の要件¶
この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限またはロール |
オブジェクト |
メモ |
---|---|---|
ACCOUNTADMIN |
アプリケーションロール |
このロールを持つユーザーは、 Budgetsアプリケーションロール をカスタムロールに付与することができます。 |
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). |
アプリケーションロールを他のロールに付与できるのは、アプリケーション所有者のみです。 Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
アプリケーションロールを別のアプリケーションロールに付与することは、アプリケーションセットアップスクリプト内など、インストールされたアプリケーションのコンテキスト内でのみ実行できます。
例¶
GRANT APPLICATION ROLE app_role to APPLICATION ROLE other_app_role;