情報処理安全確保支援士試験 2017年 春期 午前221


次のSQL文をA表の所有者が発行した場合を説明したものはどれか。  
 GRANT ALL PRIVILEGES ON A TO B WITH GRANT OPTION
利用者Bに対して,A表に関するSELECT権限,UPDATE権限,INSERT権限,DELETE権限などの全ての権限,及びそれらの付与権を付与する。(正解)
利用者Bに対して,A表に関するSELECT権限,UPDATE権限,INSERT権限,DELETE権限などの全ての権限を付与するが,それらの付与権は付与しない。
利用者Bに対して,A表に関するSELECT権限,UPDATE権限,INSERT権限,DELETE権限は付与しないが,それらの全ての付与権だけを付与する。
利用者Bに対して,A表に関するSELECT権限,及びSELECT権限の付与権を付与するが,UPDATE権限,INSERT権限,DELETE権限,及びそれらの付与権は付与しない。

解説

次のSQL文をA表の所有者が発行した場合を説明したものはどれか。【午前2 解説】

要点まとめ

  • 結論:GRANT ALL PRIVILEGES ON A TO B WITH GRANT OPTIONは、BにA表の全権限とその権限を他者に付与する権利を与える。
  • 根拠:ALL PRIVILEGESは全ての操作権限を意味し、WITH GRANT OPTIONは付与権限も含むことを示す。
  • 差がつくポイント:WITH GRANT OPTIONの有無で、付与権限があるかどうかが決まる点を正確に理解すること。

正解の理由

選択肢アは、Bに対してA表に関するSELECT、UPDATE、INSERT、DELETEなどの全ての権限を付与し、さらにそれらの権限を他者に付与できる「付与権」も与えると説明しています。これはSQL文の意味と完全に一致します。ALL PRIVILEGESは全権限を示し、WITH GRANT OPTIONは付与権限を付与するため、アが正解です。

よくある誤解

「WITH GRANT OPTION」は単に権限を付与するだけでなく、その権限を他者に再付与できる権利を意味する点を見落としがちです。

解法ステップ

  1. SQL文のGRANT ALL PRIVILEGES ON A TO B部分で、BにA表の全権限を付与することを確認。
  2. WITH GRANT OPTIONが付いているため、Bは付与された権限を他者に再付与できることを理解。
  3. 選択肢の説明とSQL文の意味を照合し、全権限+付与権限がある選択肢を選ぶ。

選択肢別の誤答解説

  • ア: 正解。全権限と付与権限を付与する説明が正確。
  • イ: 付与権限がないと説明しており、WITH GRANT OPTIONの意味を誤解している。
  • ウ: 操作権限を付与せず付与権だけ与えるのは誤り。ALL PRIVILEGESは操作権限も含む。
  • エ: SELECT権限とその付与権のみ付与し、他の権限を除外しているため誤り。

補足コラム

GRANT文はデータベースのアクセス制御の基本です。ALL PRIVILEGESは一般的にSELECT、INSERT、UPDATE、DELETE、INDEX、REFERENCESなどの権限を含みます。WITH GRANT OPTIONを付けると、付与されたユーザーはさらに他のユーザーに同じ権限を付与可能となり、権限管理の連鎖が発生します。権限の過剰付与はセキュリティリスクになるため注意が必要です。

FAQ

Q: WITH GRANT OPTIONがない場合はどうなりますか?
A: 付与されたユーザーは権限を使えますが、他者に権限を付与することはできません。
Q: ALL PRIVILEGESに含まれる権限は何ですか?
A: 一般的にSELECT、INSERT、UPDATE、DELETEなどの基本的な操作権限を含みますが、DBMSによって若干異なる場合があります。

関連キーワード: GRANT文, 権限付与, WITH GRANT OPTION, SQL権限管理, データベースセキュリティ
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ