最小権限の原則について解説します。情報処理試験で出された問題もまとめました

情報処理技術者試験

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。

この記事では、試験ではセキュリティ系の問題でよく出題される最小権限の原則について

  • ITパスポート
  • 基本情報
  • 応用情報

に合格した私が、多くの画像を使って丁寧に解説します。
また、情報処理技術者試験で実際に出題された問題もまとめました。

最小権限の原則とは

最小権限の原則とは、ユーザーに権限を与える場合は、そのユーザーの使用目的に沿った必要な分だけの権限を与える、ということです。

たとえばシステムマネージャーのユーザーには全権限を与えますが、メンバークラスのユーザーにはシステムの参照権限しか与えない、という感じです。

最小権限の原則の目的は、セキュリティを高めることです。
必要な分の権限しか与えないことによって

  • 操作ミス
  • 悪意ある不正アクセス

を防ぐためです。

たとえば、まだ経験や知識が不足している新人エンジニアにとあるシステムの全権限が与えられている、とします。
新人はシステムに対して

  • SELECT
  • INSERT
  • UPDATE
  • DELETE

もできてしまう立場です。
判定条件を誤ってDELETEを実行してしまい、大切なデータが消えてしまってシステムに多大な影響を与えてしまう、ということが起こる可能性があります。

そのような不慮の事故を防いだり、大切な顧客データを守るためにも、ユーザーに与える権限は

  • 作業内容
  • 業務を担当する範囲
  • リーダークラスなのか、メンバークラスなのか

を見極めて、必要最小限にすることでセキュリティを高めよう、というのが最小権限の原則です。

最小権限の原則の具体例

最小権限の原則について具体例を使って解説します。

株式会社田中システムは、とある商品販売サービスシステムを運営しています。
この商品販売サービスシステムには以下の業務があり、担当者は右に書かれている人が担当しています。

業務 担当者
問い合わせ受付業務 佐藤さん
商品の発送業務 鈴木さん
システム・ユーザー管理業務 田中さん

問い合わせ管理システムで使われているテーブルは

  • 問い合わせ
  • 商品
  • 商品発送
  • ユーザー

の4つとします。
最小権限の原則に基づいて、それぞれの担当者に与えるべき権限を考えていきます。

1つずつ業務内容から考えると考えやすいと思います。
問い合わせ受付業務の内容は、以下にまとめることができます。

業務内容 必要なテーブル
客からの問い合わせを確認する 問い合わせ
必要に応じて問い合わせ内容を更新する 問い合わせ
今商品がどれくらい在庫があるのかを確認する(更新はしない) 商品

なので

  • 問い合わせ
  • 商品

の2つのテーブルへの権限は必要だと分かります。
業務内容からテーブルへの権限は

テーブル名 権限
問い合わせ SELECT
UPDATE
商品 SELECT

があれば必要最小限である、と言えます。

次に商品の発送業務の内容は、以下にまとめることができます。

業務内容 必要なテーブル
今ある商品を参照する 商品
商品の在庫を管理し、都度更新する 商品
新しい商品を入荷した場合、新規登録する 商品
販売しない商品は削除する 商品
商品発送を新規登録する 商品発送
商品発送の状況が変わり次第、都度更新する 商品発送
商品発送が完了した場合、そのデータを削除する 商品発送

なので

  • 商品
  • 商品発送

の2つのテーブルへの権限は必要です。
業務内容からテーブルへの権限は

テーブル名 権限
商品 SELECT
UPDATE
INSERT
DELETE
商品発送 SELECT
UPDATE
INSERT
DELETE

があれば必要最小限である、と言えます。

最後にシステム・ユーザー管理業務は

業務内容 必要なテーブル
問い合わせ受付業務、商品の発送業務を実施することが可能 問い合わせ
商品
商品発送
客からの問い合わせを新規登録する 問い合わせ
不要と判断した場合、問い合わせを削除する 問い合わせ
現在のユーザーを確認する ユーザー
新たにユーザーを新規追加する ユーザー
担当者の情報に変更があった場合更新する ユーザー
退職したユーザーを削除する ユーザー

です。
なので

  • 問い合わせ
  • 商品
  • 商品発送
  • ユーザー

すべてのテーブルの権限が必要でテーブルへの権限は

テーブル名 権限
問い合わせ SELECT
UPDATE
INSERT
DELETE
商品 SELECT
UPDATE
INSERT
DELETE
商品発送 SELECT
UPDATE
INSERT
DELETE
ユーザー SELECT
UPDATE
INSERT
DELETE

と、すべてのテーブルに対してすべての権限が必要最小限です。

まとめると各ユーザーには

テーブル名/ユーザー名 佐藤さん 鈴木さん 田中さん
問い合わせ SELECT
UPDATE
SELECT
UPDATE
INSERT
DELETE
商品 SELECT SELECT
UPDATE
INSERT
DELETE
SELECT
UPDATE
INSERT
DELETE
商品発送 SELECT
UPDATE
INSERT
DELETE
SELECT
UPDATE
INSERT
DELETE
ユーザー SELECT
UPDATE
INSERT
DELETE

を与えれば最小権限の原則に則っている、と言えます。

情報処理技術者試験で実際に出題された最小権限の原則問題のまとめ

最小権限の原則について解説しました。
この章では情報処理試験で、実際に出題された問題を試験ごとにまとめます。

ITパスポート

ITパスポート平成26年春期 問76

基本情報

基本情報技術者平成25年秋期 午前問44

基本情報技術者平成30年春期 午前問43

情報セキュリティマネジメント

情報セキュリティマネジメント平成28年春期 午前問15

情報セキュリティマネジメント平成29年秋期 午前問25

まとめ:最小権限の原則は、使用目的に沿った必要な分だけの権限を与える

以上が最小権限の原則の解説です。
あなたの勉強に少しでもお役に立てれば幸いです。
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました