アクセス制御 【access control】 アクセスコントロール
概要
アクセス制御(access control)とは、情報システムが利用者などを識別して、あらかじめ設定された権限に基づいて対象への接触や操作を許可あるいは禁止する仕組み。何らかの主体(人間や機器、ソフトウェアなど)が、システムの管理下にある対象(装置や回線、データ、プログラム、ファイルなど)に対して、どのような操作が許されているかを登録・管理し、権限外の操作を実行しようとした時にはこれを拒否する。
例えば、ファイルシステムによるアクセス制御であれば、各ユーザーアカウントやユーザーのグループに対して、ファイルやディレクトリに対する読み込み、書き込み、削除、プログラムファイルの実行といった権限を付与し、操作主体と権限を確認して許可や拒否を行う。
認証・認可・監査
アクセス制御は「認証」(authentication)、「認可」(aurhorization)、「監査」(audit)といったプロセスから成る。認証は主体を識別して本物であることを確認するプロセスで、利用者にアカウント名を入力させ、パスワードなどの確認手段で本院であることを確かめる活動などが該当する。
認可は権限に基づいて操作の可否を判断するプロセスで、アカウント情報や管理者の定義したポリシー設定、アクセス制御リスト(ACL)などを参照して対象者の資格や権限を確認し、対象者が行おうとしている操作を許可したり拒絶したりする。
監査は、認証や認可、および利用主体による対象へのアクセスの履歴(ログ)を記録・蓄積し、後から「いつ誰が何を試みて結果がどうなったか」を管理者が追跡できるようにするプロセスである。システムやデータの安全を脅かす不審な試みや、不正な行為による被害などを確かめることができるようにする。
モデル
アクセス制御を適用する手法にはいくつかの典型的なモデルがあり、実際のシステムはモデルに基づいてアクセス制御の仕組みを実装している。
古くからありよく知られるのは、操作対象(オブジェクト)の所有者がアクセス許可の指定を行う「任意アクセス制御」(DAC:Discretionary Access Control)で、一般的なオペレーティングシステム(OS)のセキュリティ機能などで採用されている。
これに対して、「強制アクセス制御」(MAC:Mandatory Access Control)は管理者およびシステムが権限を設定し、所有者と言えどこれを変更できない仕組みである。軍用システムなど高度なセキュリティが要求される一部のシステムで実装されている。
他にも、利用者の役割(ロール)ごとに権限を設定する「ロールベースアクセス制御」(RBAC:Role-Based Access Control)や、利用者や操作対象の持つ様々な属性情報を収集し、どの属性のユーザーがどの環境でどの対象にアクセス可能かといった設定を記述していく「属性ベースアクセス制御」(ABAC:Attribute-Based Access Control)などの手法も提唱されている。