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

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

呼び出し

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

許可

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

構文

構文図を読む構文図をスキップするREVOKE PASSTHRU ON SERVERserver-name FROM,USERGROUPROLEauthorization-namePUBLICBY ALL

説明

SERVER server-name
パススルー・モードで使用する特権が取り消されるデータ・ソースを指定します。 server-name (サーバー名) は、 カタログに記述されているデータ・ソースを指定していなければなりません。
FROM
特権を誰から取り消すかを指定します。
USER
authorization-name がユーザーであることを指定します。
GROUP
authorization-name がグループ名であることを指定します。
ROLE
authorization-name がロール名であることを指定します。
authorization-name,...
1 つ以上のユーザー、グループ、またはロールの許可 ID のリストを指定します。

この許可 ID のリストに、このステートメントを発行するユーザーの許可 ID を含めることはできません (SQLSTATE 42502)。

PUBLIC
server-name にパススルーする特権を PUBLIC から取り消します。
BY ALL
特権の付与者にかかわらず、 その特権を明示的に付与されたユーザーのうち指定された人から取り消します。 これがデフォルトの動作です。

規則

  • 指定したそれぞれの authorization-name に関して、USER、GROUP、ROLE のいずれも指定されていない場合には、次のようになります。
    • 被認可者が authorization-name である SYSCAT.PASSTHRUAUTH カタログ・ビュー内の指定されたオブジェクトのすべての行について、以下が該当します。
      • すべての行の GRANTEETYPE が「U」の場合、USER であると見なされます。
      • すべての行の GRANTEETYPE が「G」の場合、GROUP であると見なされます。
      • すべての行の GRANTEETYPE が「R」の場合、ROLE であると見なされます。
      • すべての行の GRANTEETYPE の値が同じでない場合、エラーが戻されます (SQLSTATE 56092)。

  • 例 1: USER6 が持っているデータ・ソース MOUNTAIN にパススルーする特権を取り消します。
       REVOKE PASSTHRU ON SERVER MOUNTAIN FROM USER USER6
  • 例 2: グループ D024 が持っている、 データ・ソース EASTWING にパススルーする特権を取り消します。
       REVOKE PASSTHRU ON SERVER EASTWING FROM GROUP D024
    グループ D024 のメンバーは、 このグループ ID を使って EASTWING にパススルーすることはできなくなります。 しかし、EASTWING にパススルーする特権をユーザー ID に持っているメンバーがいれば、 それらのメンバーはこの特権を保持することができます。