GRANT (サーバー特権) ステートメント
この形式の GRANT ステートメントは、 指定したデータ・ソースにパススルー・モードでアクセスおよび使用する特権を付与します。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込んだり、動的 SQL ステートメントを使用して発行したりすることができます。 これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。
許可
このステートメントの許可 ID が持つ特権には、ACCESSCTRL または SECADM 権限が 含まれている必要があります。
構文
>>-GRANT PASSTHRU ON SERVER--server-name--TO--------------------> .-,---------------------------------. V | >----+-+-------+--authorization-name-+-+----------------------->< | +-USER--+ | | +-GROUP-+ | | '-ROLE--' | '-PUBLIC------------------------'
説明
- server-name
- パススルー・モードで使用する特権が与えられるデータ・ソースを指定します。 server-name (サーバー名) は、 カタログに記述されているデータ・ソースを指定していなければなりません。
- TO
- 特権を誰に付与するかを指定します。
- USER
- authorization-name がユーザーであることを指定します。
- GROUP
- authorization-name がグループ名であることを指定します。
- ROLE
- authorization-name がロール名であることを指定します。 ロール名は、現行サーバーに存在するものでなければなりません (SQLSTATE 42704)。
- authorization-name,...
- 1 つ以上のユーザー、グループ、またはロールの許可 ID のリストを指定します。
この許可 ID のリストに、このステートメントを発行するユーザーの許可 ID を含めることはできません (SQLSTATE 42502)。
- PUBLIC
- server-name にパススルーする特権を一連のユーザー (許可 ID) に付与します。 詳細は、『許可、特権、およびオブジェクト所有権』を参照してください。
規則
- 指定したそれぞれの authorization-name に関して、USER、GROUP、ROLE のいずれも指定されていない場合には、次のようになります。
- インスタンスに対して有効なセキュリティー・プラグインによって authorization-name の状況を判別できなければ、エラーが戻されます (SQLSTATE 56092)。
- authorization-name がデータベースでは ROLE として定義され、有効なセキュリティー・プラグインでは GROUP または USER のいずれかとして定義されている場合には、エラーが戻されます (SQLSTATE 56092)。
- 有効になっているセキュリティー ・プラグインに従って authorization-name が USER と GROUP の両方として定義されている場合、 エラーが戻されます (SQLSTATE 56092)。
- 有効になっているセキュリティー ・プラグインに従って authorization-name が USER としてのみ定義されている場合、または未定義の場合、USER であると見なされます。
- 有効になっているセキュリティー ・プラグインに従って authorization-name が GROUP としてのみ定義されている場合、GROUP であると見なされます。
- authorization-name がデータベースで ROLE としてのみ定義されている場合には、ROLE であると見なされます。
例
- 例 1: R. Smith および J. Jones に、データ・ソース SERVALL にパススルーする特権を付与します。
この 2 人の許可 ID は RSMITH および JJONES です。
GRANT PASSTHRU ON SERVER SERVALL TO USER RSMITH, USER JJONES - 例 2: データ・ソース EASTWING にパススルーする特権を、許可 ID が D024 のグループに付与します。
許可 ID が D024 であるユーザーも存在しています。
GROUP キーワードの指定は必須です。 この指定がない場合、D024 という名前のユーザーとグループが両方とも存在しているので、 エラーになります (SQLSTATE 56092)。 グループ D024 のメンバーはすべて、EASTWING にパススルーすることができます。 また、ユーザー D024 がこのグループに所属する場合、 このユーザーは EASTWING にパススルーすることができます。GRANT PASSTHRU ON SERVER EASTWING TO GROUP D024
