アクセス制御リスト
出典: フリー百科事典『ウィキペディア(Wikipedia)』
アクセス制御リスト(アクセスせいぎょリスト Access Control List、ACL)とは、コンピュータセキュリティの概念の一種で、「特権分離; Privilage Separation」を実施するものである(特権分離とは、権限レベルを分け、低特権レベルへの攻撃を受けてもシステムとしては問題が発生しないようにする考え方)。それは任意のオブジェクトへの適切なアクセス権を決定する手段であり、アクセスを要求するプロセスにある部分(主にプロセスのユーザー識別、つまりPOSIXでの実効UID)の情報を元に決定する。
アクセス制御リストはデータ構造(通常は配列)であり、特定のシステムオブジェクト(プログラム、プロセス、ファイル)への個々のユーザーやグループの権利を示すエントリから構成される。これらエントリは、Microsoft WindowsやOpenVMSオペレーティングシステムではアクセス制御エントリ(ACE)と呼ばれている。アクセス可能なオブジェクトはACLへの識別子を持っている。特権またはパーミッションは、あるユーザーがそのオブジェクトについて何が出来るか(リード、ライト、実行)を決定する。実装によっては、ACEは所有者かどうか、あるいは所有者のグループかどうかに関わらずオブジェクトのACLを制御できる。
ACLは概念であり、その実装はオペレーティングシステムによって異なるが、POSIXの「標準」が存在する(POSIX security drafts の .1e と .2c は対象範囲を広げすぎたため標準策定が完了しないとして破棄された。しかし、ACLについてよく書かれた部分は広く実装され「POSIX ACL」として知られるようになった)。
ACLの実装は非常に複雑になる可能性がある。ACLは様々なオブジェクト、ディレクトリや他のコンテナ、コンテナ内のコンテナなどに適用できる。ACLは要求される全てのセキュリティ対策を実現できるわけではなく、きめ細かいケイパビリティベースのアクセス制御システムの方が良いだろう(その場合、アクセスしようとするオブジェクトに対してアクセス対象のオブジェクトから権限が譲渡され、もっと細かい制御が可能となる)。
ネットワークでは、Access Control List(ACL) はTCP/IPのポート番号とそのホスト上で使えるデーモンのリストを意味する。つまり、ホストがネットワークに対して提供しているサービスのリストである。個々のサーバだけでなくルーターもネットワークACLを持っている。この場合のアクセス制御リストは双方向のトラフィックを制御するもので、例えばファイアーウォールと深い関係がある。
この記述は GNU Free Documentation License のもとに公開されているコンピュータ用語辞典『 Free On-line Dictionary of Computing (FOLDOC) 』に基づいています。
[編集] 関連項目
- コンピュータセキュリティ
- アクセス制御マトリクス
- 任意アクセス制御 (DAC)
- 強制アクセス制御 (MAC)
- ロールベースアクセスコントロール (RBAC)
- Capability-based security
- TCPラッパー
[編集] 外部リンク
- Manpage of ACL Linux JM プロジェクト
以下、英文
- POSIX Access Control Lists on Linux
- RSBAC Access Control Lists on Linux
- C2-Wiki Discussion and Relational Implementation
- Generic Access Control Lists (PHP based)
- Easy and detailed ACL howto for linux
- 記事 "Security Briefs: Access Control List Editing in .NET" キース・ブラウン
- MS Windows .NET ACL Technology
- What could have been IEEE 1003.1e/2c