ORACLE MASTER Silver SQL 26ai付与済み権限とセッションの有効状態オリジナル・公式資料照合難易度★★★☆☆
Oracle AI Database 26aiで、READERは通常の対話SQLセッションで、付与済み・パスワードなしのapp_readロールを有効にしてapp.ordersをSELECTできる。このロール以外からの表参照権限はない。SET ROLE NONEの後に新たにSELECTし、その後SET ROLE app_readで再び有効にする説明として正しいのはどれか。
A
NONEはapp_readが持つSELECT権限自体を取り消すので、同ロールの他ユーザーも参照不能になる
SET ROLE NONEの作用は当該セッションの有効状態であり、ロールに付与された権限をREVOKEしない。
B
NONE中の新規SELECTは失敗するが、app_readを再有効化すると参照できる★ 正解
セッション中の有効状態と、ロールを付与されている事実を区別している。
C
NONEは何もしないため、ロール経由のSELECTは常に成功する
NONEはデフォルト・ロールを含め、当該セッションの全ロールを無効にする。
D
NONEによりロールの付与が永久に取り消され、管理者の再GRANTが必須になる
付与そのものを取り消す命令はREVOKEであり、SET ROLE NONEではない。
解説
SET ROLE NONEは現在のセッションのロールを無効にする。ロールの付与そのものを取り消すREVOKEではない。よって無効中の新規SELECTは権限不足になり、付与済みの当該ロールを再び有効にすれば参照できる。
根拠資料・確認情報
対応範囲:ORACLE MASTER Silver SQL 26ai(1Z0-171-JPN)
資料確認日:2026-10-30
同じレッスンの問題
問題 1
Oracle AI Database 26aiで所有者APPがREADERにGRANT READ ON app.orders TO readerを実行した。READERにこの表の別の権限やANY・スキーマ権限はなく、ロールやPUBLIC経由の代替権限もない。READERが通常SQLでSELECT * FROM app.ordersとSELECT * FROM app.orders FOR UPDATEを別々に実行する結果はどれか。
問題 3
Oracle AI Database 26aiで、APPは自分の表tのSELECTをREADERへ直接付与した唯一の付与者である。READERにREAD・ANY・スキーマ権限、ロール・PUBLIC等の代替権限はない。APPがREVOKE SELECT ON app.t FROM readerを成功させた後、READERが新たにSELECT * FROM app.tを実行する。結果はどれか。既に開いているカーソルは考えない。