ホーム > 情報処理安全確保支援士試験 > 2017年 春期
情報処理安全確保支援士試験 2017年 春期 午前2 問21
次の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」は単に権限を付与するだけでなく、その権限を他者に再付与できる権利を意味する点を見落としがちです。
解法ステップ
- SQL文の
GRANT ALL PRIVILEGES ON A TO B
部分で、BにA表の全権限を付与することを確認。 WITH GRANT OPTION
が付いているため、Bは付与された権限を他者に再付与できることを理解。- 選択肢の説明とSQL文の意味を照合し、全権限+付与権限がある選択肢を選ぶ。
選択肢別の誤答解説
- ア: 正解。全権限と付与権限を付与する説明が正確。
- イ: 付与権限がないと説明しており、
WITH GRANT OPTION
の意味を誤解している。 - ウ: 操作権限を付与せず付与権だけ与えるのは誤り。
ALL PRIVILEGES
は操作権限も含む。 - エ: SELECT権限とその付与権のみ付与し、他の権限を除外しているため誤り。
補足コラム
GRANT
文はデータベースのアクセス制御の基本です。ALL PRIVILEGES
は一般的にSELECT、INSERT、UPDATE、DELETE、INDEX、REFERENCESなどの権限を含みます。WITH GRANT OPTION
を付けると、付与されたユーザーはさらに他のユーザーに同じ権限を付与可能となり、権限管理の連鎖が発生します。権限の過剰付与はセキュリティリスクになるため注意が必要です。FAQ
Q:
A: 付与されたユーザーは権限を使えますが、他者に権限を付与することはできません。
WITH GRANT OPTION
がない場合はどうなりますか?A: 付与されたユーザーは権限を使えますが、他者に権限を付与することはできません。
Q:
A: 一般的にSELECT、INSERT、UPDATE、DELETEなどの基本的な操作権限を含みますが、DBMSによって若干異なる場合があります。
ALL PRIVILEGES
に含まれる権限は何ですか?A: 一般的にSELECT、INSERT、UPDATE、DELETEなどの基本的な操作権限を含みますが、DBMSによって若干異なる場合があります。
関連キーワード: GRANT文, 権限付与, WITH GRANT OPTION, SQL権限管理, データベースセキュリティ