GRANT (サーバー特権) ステートメント

この形式の GRANT ステートメントは、 指定したデータ・ソースにパススルー・モードでアクセスおよび使用する特権を付与します。

呼び出し

このステートメントは、アプリケーション・プログラムに組み込んだり、動的 SQL ステートメントを使用して発行したりすることができます。 これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。

許可

このステートメントの許可 ID が持つ特権には、ACCESSCTRL または SECADM 権限が 含まれている必要があります。

構文

Read syntax diagramSkip visual syntax diagramGRANT PASSTHRU ON SERVERserver-name TO,USERGROUPROLEauthorization-namePUBLIC

説明

server-name
パススルー・モードで使用する特権が与えられるデータ・ソースを指定します。 server-name (サーバー名) は、 カタログに記述されているデータ・ソースを指定していなければなりません。
今後
特権を誰に付与するかを指定します。
ユーザー
authorization-name がユーザーであることを指定します。
GROUP
authorization-name がグループ名であることを指定します。
ROLE
authorization-name がロール名であることを指定します。 ロール名は、現行サーバーに存在するものでなければなりません (SQLSTATE 42704)。
権限名
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 であるユーザーも存在しています。
       GRANT PASSTHRU ON SERVER EASTWING TO GROUP D024
    GROUP キーワードの指定は必須です。 この指定がない場合、D024 という名前のユーザーとグループが両方とも存在しているので、 エラーになります (SQLSTATE 56092)。 グループ D024 のメンバーはすべて、EASTWING にパススルーすることができます。 また、ユーザー D024 がこのグループに所属する場合、 このユーザーは EASTWING にパススルーすることができます。