令和5年度 春期 情報処理安全確保支援士試験 午前 II 問題 問21

次のSQL文をA表の所有者が発行したときの,利用者BへのA表に関する権限の付与を説明したものはどれか。

図表
図の説明テキスト

SQL文のコードスニペット。
GRANT ALL PRIVILEGES ON A TO B WITH GRANT OPTION

解答・解説

正解: ア. SELECT権限,UPDATE権限,INSERT権限,DELETE権限などの全ての権限,及びそれらの付与権を付与する。

GRANT文とは

GRANT文は、データベースのオブジェクトに対する操作権限を他の利用者に付与するSQLのコマンドです。権限の種類や、その権限を他者に再付与できるかどうかを指定することができます。

正解の根拠

発行されたSQL文 GRANT ALL PRIVILEGES ON A TO B WITH GRANT OPTION の内容は以下のとおり構成されています。

  • ALL PRIVILEGES : 対象となる表に対して、全ての権限(SELECT権限、UPDATE権限、INSERT権限、DELETE権限など)を付与することを指定しています。
  • ON A TO B : 権限付与の対象が「A表」であり、それを「利用者B」に付与することを指定しています。
  • WITH GRANT OPTION : 付与された権限を、さらに他の利用者に付与できる権限(付与権)を与えることを指定しています。

したがって、利用者BにはA表に対する全ての権限と、それらの権限を他者に付与する付与権の両方が与えられます。

各選択肢の解説

  • ア: 正解です。ALL PRIVILEGES によって全ての権限が付与され、WITH GRANT OPTION によってそれらの付与権も付与されます。

  • イ: WITH GRANT OPTION が指定されているため、付与権も付与されます。付与権は付与しないとしている点が誤りです。

  • ウ: ALL PRIVILEGES は権限そのものを付与する指定です。操作権限は付与しないとしている点が誤りです。

  • エ: ALL PRIVILEGES によって全ての権限が付与されます。SELECT権限しか付与されないとしている点が誤りです。

Spineチーム