対策する資格
Java Silver ・ 近日ORACLE Silver ・ 近日
Gold 保有者 監修1Z0-083 対応
権限(REVOKE の連鎖)難易度 高無料

次の順で権限を付与した後、USER_A から権限を REVOKE する。挙動として正しいものを選べ。(単一選択)

-- ① システム権限(管理オプション付き)
GRANT CREATE TABLE TO user_a WITH ADMIN OPTION;
-- user_a が user_b へ再付与
CONNECT user_a/pw
GRANT CREATE TABLE TO user_b;

-- ② オブジェクト権限(付与オプション付き)
CONNECT scott/pw
GRANT SELECT ON scott.emp TO user_a WITH GRANT OPTION;
-- user_a が user_b へ再付与
CONNECT user_a/pw
GRANT SELECT ON scott.emp TO user_b;

-- 取消
CONNECT system/pw
REVOKE CREATE TABLE FROM user_a;            -- 取消(1)
CONNECT scott/pw
REVOKE SELECT ON scott.emp FROM user_a;     -- 取消(2)
  1. A取消(1) も取消(2) も user_b の権限まで連鎖的に取り消される
  2. B取消(1)(システム権限)では user_bCREATE TABLE残るが、取消(2)(オブジェクト権限)では user_bSELECT連鎖的に取り消される
  3. C取消(1)(システム権限)では user_b も連鎖取消され、取消(2)(オブジェクト権限)では user_b は残る
  4. D取消(1) も取消(2) も user_b の権限はどちらも残る(連鎖しない)
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:BGold監修

解説

システム権限オブジェクト権限で、再付与した相手への取消の連鎖(cascade)挙動が異なる。

  • システム権限(WITH ADMIN OPTION): 付与者から取り消しても、その付与者が他者へ与えた権限は連鎖して取り消されない(NO CASCADE)。 よって取消(1) で user_aCREATE TABLE は消えるが、user_bCREATE TABLE残る
  • オブジェクト権限(WITH GRANT OPTION): 付与者から取り消すと、その付与者が GRANT OPTION を使って他者へ与えた権限も連鎖して取り消される(CASCADE)。 よって取消(2) で user_aSELECT が消えると、user_bSELECT連鎖して消える

この「システム権限は連鎖しない/オブジェクト権限は連鎖する」という非対称が本問の核心。

各誤答が違う理由
  • Aシステム権限(取消1)は連鎖しないので user_bCREATE TABLE は残る。両方連鎖は誤り。
  • C連鎖の向きが逆。連鎖するのはオブジェクト権限の方で、システム権限は連鎖しない。
  • Dオブジェクト権限(取消2)は連鎖するので user_bSELECT は残らない。両方残るは誤り。
ひっかけ: WITH ADMIN OPTION(システム権限)と WITH GRANT OPTION(オブジェクト権限)を「どちらも再付与可・取消も同じ」と思い込む。 再付与できる点は同じでも、取消時の連鎖はオブジェクト権限だけ。さらに付与オプションの名称自体も別物(ADMIN ↔ GRANT)。
Gold 保有者による書き下ろし解説・実機で検証済
この分野をもっと解いて、得点源に
権限 を含む全問を分野別に演習できます(無料)。
演習する →