はじめに
システムへログインできても、すべての情報や機能を自由に使えるわけではありません。一般の利用者が管理画面を操作できたり、担当外のファイルを閲覧・削除できたりする状態では、不正利用だけでなく誤操作による被害も起こりやすくなります。
アクセス制御は、「誰が、何に、どのような操作を行えるか」を決め、許可されていないアクセスを防ぐ仕組みです。本人であることを確認する認証だけでなく、ログイン後に必要な操作だけを許可することが重要です。
この記事では、アクセス制御の意味、認証・認可との違い、最小権限などの基本原則を解説します。読み終えると、各レイヤーで何を制限すべきか説明できるようになります。
アクセス制御とは
アクセス制御とは、利用者、端末、プログラムなどが、ファイル、機能、データ、ネットワーク上のサービスなどへアクセスするときに、その操作を許可するか拒否する仕組みです。
例えば、共有フォルダーを閲覧できる人や、業務システムで申請を承認できる人を制限します。接続の可否だけでなく、閲覧、作成、変更、削除、実行などの操作ごとに権限を分けます。
適切なアクセス制御は、許可されていない閲覧や変更を防ぎ、アカウントが不正利用された場合の被害も抑えます。必要以上に広い権限を与えると、認証が正常でも情報漏えいや改ざんにつながります。
認証・認可・アクセス制御の違い
認証・認可・アクセス制御は密接に関係しています。文脈によっては、アクセス制御が認証や認可を含む仕組み全体を指すこともありますが、ここでは役割を理解しやすいように次のように整理します。
| 用語 | 答える問い | 役割 | 例 |
|---|---|---|---|
| 認証 | 誰なのか | 利用者や端末の身元を確認する | パスワード、多要素認証 |
| 認可 | 何を許可するか | 確認した主体に与える権限を決める | 閲覧は許可、削除は不許可 |
| アクセス制御 | 許可をどう適用するか | 決めたルールに基づいてアクセスを許可・拒否する | ファイル権限、画面権限、通信の許可 |
一般的には、認証で利用者を確認し、認可で対象や操作を決め、アクセス制御の仕組みが要求を許可または拒否します。
パスワードは主に認証へ使う情報です。安全な認証情報の管理方法は「パスワード管理の基本|使い回しを防ぎ安全に管理する方法」で解説しています。強いパスワードを設定しても、全利用者へ管理者権限を与えていれば十分ではありません。
アクセス制御が必要な理由
アクセス制御は、情報セキュリティの3要素(CIA)のうち、特に機密性と完全性を守る対策です。閲覧できる人を制限すると情報漏えいを防ぎ、変更や削除ができる人を制限するとデータの改ざんや誤操作を防げます。
例えば、給与データを全社員が閲覧できる必要はありません。人事担当者には閲覧と更新を許可し、管理者には権限設定を許可し、それ以外の利用者にはアクセスを許可しないように分けます。役割に応じて必要な操作だけを許可することで、内部不正や操作ミスの影響も小さくできます。
アカウントが侵害されても権限が限定されていれば、攻撃者が利用できる情報や機能を減らせます。アクセス制御には、侵入や誤操作が起きた後の被害拡大を防ぐ役割もあります。攻撃や事故に備える対策全体は「サイバーセキュリティとは?守る対象・脅威・基本対策を解説」で整理しています。
アクセス制御の基本原則
最小権限
最小権限とは、利用者やプログラムへ、担当する作業に必要な最小限の権限だけを与える考え方です。通常業務で管理者権限が不要なら一般権限で作業し、必要な操作の間だけ管理者権限を使います。作業後は通常の権限へ戻します。
権限を広くすると管理は簡単に見えますが、誤操作や不正利用が起きたときに変更・削除できる範囲も広がります。便利さを理由に常時管理者権限を与えないことが重要です。
原則拒否
原則拒否とは、明示的に許可したアクセスだけを通し、それ以外は拒否する考え方です。「基本的に全員へ許可し、問題がある人だけ拒否する」方式では、新しい利用者や機能を追加したときに制限漏れが起こりやすくなります。
最初はアクセスできない状態にし、業務上必要な人、対象、操作を確認してから許可すると、設定漏れによる不要な公開を防ぎやすくなります。
権限を定期的に見直す
権限は一度設定して終わりではありません。入社、異動、担当変更、プロジェクト終了、退職などに合わせて、付与・変更・削除する必要があります。
以前の担当業務や一時作業の権限を残すと、不要な権限が蓄積します。現在の役割と一致しているかを確認し、不要な権限は速やかに削除します。
OS・ネットワーク・アプリケーション・データでの適用例
アクセス制御の考え方は共通していますが、レイヤーごとに保護する対象と操作が異なります。
| レイヤー | 主な保護対象 | 制限する操作の例 | 制御例 |
|---|---|---|---|
| OS | ファイル、設定、プログラム、デバイス | 閲覧、実行、変更、管理 | ユーザー・グループ権限、管理者権限 |
| ネットワーク | サーバー、通信先、ネットワーク区画 | 接続、通信 | ファイアウォール、アクセス制御リスト |
| アプリケーション | 画面、機能、業務データ | 閲覧、登録、承認、削除 | 利用者の役割、担当範囲、所有者による制限 |
| データ | ファイル、テーブル、項目、記録 | 読み取り、書き込み、出力 | 部署・プロジェクト・機密度に応じた権限 |
OSでは、一般利用者がシステム設定を変更できないようにします。ネットワークでは、業務上不要な端末や通信元からサーバーへ接続できないようにします。アプリケーションでは、一般利用者と承認者、管理者が使える機能を分けます。データでは、同じシステムを利用していても、担当外の顧客情報や機密ファイルを閲覧できないようにします。
一つのレイヤーだけでは十分ではありません。ネットワークへ接続できる端末でも、管理機能や機密データまで自由に利用できる必要はないため、各レイヤーで制御を重ねます。
アクセス権限の管理で起こりやすい失敗
アクセス制御では、設定を追加することよりも、必要な範囲へ絞り、継続して管理することが重要です。よくある失敗には次のものがあります。
- 管理を簡単にするため、全利用者へ管理者権限を与える
- 複数人で一つのアカウントを共有し、誰が操作したか分からなくなる
- 異動者や退職者、一時利用者の権限を削除しない
- 画面のボタンを隠すだけで、URLやAPIからの操作を制限していない
- OSだけ、ネットワークだけなど、一つのレイヤーの設定だけで安全だと考える
例えば、画面から削除ボタンを隠しても、削除処理が権限を確認していなければ別の方法で実行される可能性があります。操作を受け付ける箇所で権限を確認し、許可されていない要求を拒否する必要があります。
権限を付与した理由、対象者、期限を記録し、定期的な棚卸しと役割変更時の見直しを組み合わせると、不要な権限を残しにくくなります。
まとめ
アクセス制御とは、利用者、端末、プログラムなどが、情報や機能へどのような操作を行えるかを決め、許可されていないアクセスを拒否する仕組みです。
認証は「誰なのか」を確認し、認可は「何を許可するか」を決めます。アクセス制御では、そのルールをOS、ネットワーク、アプリケーション、データの各レイヤーへ適用します。
最小権限、原則拒否、権限の継続的な見直しを基本とし、利用者の役割に必要な範囲だけを許可することで、情報漏えい、改ざん、誤操作、不正利用が起きた場合の影響を抑えられます。