Skip to the content.

最終更新日:2026年7月18日

まず結論

最小権限の原則とは、利用者やプログラムに、処理に必要な最低限の権限だけを与える考え方です。

データベースを検索して結果を表示するだけのアプリケーションなら、必要なのは参照権限だけです。

アプリケーションの処理 必要な権限
検索・表示 参照権限
登録・変更・削除 更新権限
テーブル全体の管理 管理者権限

試験では、次の一文を判断軸にします。

検索・表示だけなら参照権限。使わない更新・削除権限は与えない。

直感的な説明

最小権限の原則は、仕事に必要な鍵だけを渡す考え方です。

資料を読むだけの担当者に、書き換えや廃棄までできる鍵を渡す必要はありません。

資料を読む
→ 閲覧用の鍵だけ

資料を追加・変更する
→ 編集用の鍵も必要

すべて管理する
→ 管理者用の鍵が必要

データベースでも同じです。

検索アプリケーションの目的が、利用者情報を検索して画面へ表示することだけなら、データを変更する権限は不要です。

検索する
+
表示する
↓
データを読むだけ
↓
参照権限

定義・仕組み

最小権限の原則は、英語で Principle of Least Privilege といいます。

利用者、アプリケーション、プロセスなどに対し、業務や処理を実行するために必要な範囲だけ権限を与えます。

参照権限

データベースのレコードを読み出すための権限です。

SQLでは、主に SELECT に対応します。

SELECT 利用者名, メールアドレス
FROM 利用者
WHERE 利用者ID = 'A001';

この処理はデータを検索するだけで、内容を書き換えません。

読む
検索する
表示する
→ 参照権限

更新権限

レコードの登録、変更、削除を行う権限です。

SQLでは、主に次の命令に対応します。

INSERT
→ 登録

UPDATE
→ 変更

DELETE
→ 削除

例えば、利用者情報を変更するアプリケーションでは更新権限が必要です。

UPDATE 利用者
SET メールアドレス = 'new@example.com'
WHERE 利用者ID = 'A001';

管理者権限

参照や更新に加え、テーブルの作成・変更・削除、権限設定など、より広い操作を行える権限です。

データを読む
データを書き換える
テーブルを管理する
権限を設定する
→ 管理者権限

管理者権限は便利ですが、通常のアプリケーションへ安易に与えると、事故や攻撃が起きたときの被害が大きくなります。

科目Aでどう出る?

科目Aでは、アプリケーションの目的を読んで、どの権限を与えるべきか選ぶ問題が出ます。

判断するときは、問題文に書かれた動詞を確認します。

検索する・表示する
→ 参照権限

登録する・追加する
→ 更新権限

変更する・修正する
→ 更新権限

削除する
→ 更新権限

テーブルや権限を管理する
→ 管理者権限

典型的な切り分け

検索結果を表示するだけのアプリケーションについて考えます。

選択肢 判断
管理者権限 権限が強すぎる
更新権限 登録・変更・削除は不要
参照権限 必要な操作と一致する
参照権限と更新権限 不要な更新権限を含む

正しいのは、参照権限だけです。

「できる」ではなく「必要最小限」で選ぶ

管理者権限を与えても、検索処理自体は実行できます。

しかし、問題で問われているのは、単に動作するかではなく、セキュリティ管理上適切かです。

処理できる
≠
セキュリティ上適切

試験では、必要な権限を含む選択肢ではなく、不要な権限を含まない選択肢を選びます。

どんな場面で使う?

検索専用アプリケーション

利用者情報や商品情報を検索して表示するアプリケーションには、参照権限だけを与えます。

検索画面
↓
SELECTだけ実行
↓
参照権限だけ付与

登録・変更機能を持つアプリケーション

利用者登録や住所変更などを行うアプリケーションでは、必要なテーブルと操作に限って更新権限を付与します。

利用者登録
→ INSERT

住所変更
→ UPDATE

更新できる対象も、必要なテーブルや列へ絞ることが重要です。

バッチ処理

定期的にデータを集計するバッチ処理は、集計結果を読み出すだけなら参照権限で足ります。

結果を別のテーブルへ保存する場合は、保存先に対する登録権限が必要です。

集計だけ
→ 参照権限

集計結果を保存
→ 参照権限+必要な登録権限

管理ツール

テーブルの構造変更や権限設定を行う管理ツールには、管理者権限が必要になる場合があります。

ただし、通常利用するアプリケーションとはアカウントを分けるのが基本です。

通常アプリ
→ 必要最小限の権限

管理ツール
→ 管理作業に必要な権限

よくある誤解・混同

参照権限と更新権限を両方与えた方が便利?

便利に見えても、不要な権限を与えることになります。

現在必要な操作
→ 検索・表示だけ

将来必要になるかもしれない操作
→ 今は付与しない

将来、更新機能が追加された時点で、必要な権限を追加します。

画面に表示するのは「更新」ではない?

画面への表示は、データベースの内容を書き換える操作ではありません。

データベースから読み出す
→ 参照

画面に表示する
→ アプリケーション側の処理

したがって、検索結果を表示するだけなら参照権限で十分です。

管理者権限ならすべてできるので正しい?

実行できるかどうかだけなら、管理者権限でも処理できます。

しかし、権限が強すぎるため、最小権限の原則に反します。

必要な権限
→ 参照だけ

付与した権限
→ 参照・登録・変更・削除・管理

結論
→ 過剰な権限

権限が強いと何が危険?

アプリケーションに脆弱性があった場合、攻撃者はそのアプリケーションが持つ権限を悪用できる可能性があります。

参照権限だけ
→ 情報を読まれる危険

更新権限もある
→ 情報を書き換えられる危険

削除権限もある
→ 情報を消される危険

権限を絞ることで、問題が起きたときの影響範囲を小さくできます。

認証と認可の違い

権限の問題では、認証と認可も混同しやすいです。

認証
→ 誰なのかを確認する

認可
→ 何をしてよいか決める

データベースの参照権限や更新権限を設定することは、認可に当たります。

まとめ(試験直前用)

  • 最小権限の原則は、必要最低限の権限だけを与える考え方
  • 検索・表示だけなら参照権限
  • 登録・変更・削除を行う場合に更新権限が必要
  • 管理者権限は通常のアプリケーションには強すぎる
  • 必要な権限が含まれるだけでなく、不要な権限を含まないことを確認する

試験直前には、次の順で考えます。

何をするアプリか確認
↓
必要な操作を特定
↓
不要な権限を除外
↓
最小の権限を選ぶ

検索・表示だけなら参照権限。使わない更新・削除権限は与えない。

© 2024-2026 stemtazoo. All rights reserved.