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

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

呼び出し

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

許可

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

構文

Read syntax diagramSkip visual syntax diagramREVOKE PASSTHRU ON SERVERserver-name FROM,USERGROUPROLEauthorization-namePUBLICBY ALL

説明

サーバー server-name
パススルー・モードで使用する特権が取り消されるデータ・ソースを指定します。 server-name (サーバー名) は、 カタログに記述されているデータ・ソースを指定していなければなりません。
FROM
特権を誰から取り消すかを指定します。
ユーザー
authorization-name がユーザーであることを指定します。
GROUP
authorization-name がグループ名であることを指定します。
ROLE
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 に持っているメンバーがいれば、 それらのメンバーはこの特権を保持することができます。