SC情報処理安全確保支援士試験 午前Ⅱ

平成21年度春期 情報処理安全確保支援士 午前Ⅱ 問16

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

RDBMSの表へのアクセスにおいて、 特定の利用者だけにアクセス権を与える方法として、 適切なものはどれか。

選択肢

  1. ア
    CONNECT文で接続を許可する。
  2. イ
    CREATE ASSERTION文で表明して制限する。
  3. ウ
    CREATE TABLE文の参照制約で制限する。
  4. エ
    GRANT文で利用を許可する。
解き方のヒントを見る

データベースのテーブルに「アクセスする許可証(権限)」を与えるコマンド

SQLで、特定のユーザーに対して「このテーブルからデータを読み取って(SELECT)いいよ」「書き換えて(UPDATE)いいよ」といったアクセス権限を与えるコマンドは「GRANT(グラント)」だよ。奪うときは「REVOKE(リヴォーク)」を使うよ。

この問題で問われていること

制約を作る「CHECK」や、整合性を調べる「ASSERTION」とは違って、「権限(アクセス権)を与える=GRANT」という言葉の役割を一致させよう。

権限付与の SQL

SQL では権限管理を DCL で行い、GRANT で付与、REVOKE で取り消します。テーブル制約や接続許可は別機能です。

GRANT SELECT / UPDATE ON 表 TO 利用者\n-> アクセス権を付与

確認ポイント

  • CONNECT は接続権限の文脈で、表権限そのものではありません。
  • 参照制約はデータ整合性の定義です。
  • 権限付与の基本は GRANT です。
正解と解説を見る

正解

エ

出典

問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。

選択肢ア

不正解だよ。CONNECT文は、データベースに接続するための入口を開くようなものなんだ。建物の玄関に入れることと、金庫を開けたり書類を書き換えたりできることは別だよね。表を更新する権限を与える命令ではないよ。

選択肢イ

不正解だよ。CREATE ASSERTIONは、データベース全体に「この条件は必ず守ってね」と約束事を置くためのものなんだ。たとえるなら、お店のルールブックを作る感じで、誰をレジの中に入れてよいかを決める入館証ではないよ。

選択肢ウ

不正解だよ。参照制約は、例えば「注文表の商品コードは、商品表にある商品コードだけにしてね」というように、表同士のつじつまを守るルールなんだ。合鍵を誰に渡すかを決める話ではなく、帳簿の記入ミスを防ぐ話なので、特定の利用者だけに更新権限を与える方法としては違うよ。

選択肢エ(正解)

正解だよ。GRANT文は、特定の利用者に「この表を読んでいいよ」「更新していいよ」と権限を渡すための命令なんだ。たとえるなら、必要な人だけに合鍵や入館証を渡す感じだね。だから、特定の利用者だけに表の更新を許可したいときはGRANTを使うよ。

出典:独立行政法人 情報処理推進機構(IPA)平成21年度春期 情報処理安全確保支援士試験 午前Ⅱ 問16(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針