アクセス制御リスト

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

アクセス制御リスト(アクセスせいぎょリスト、Access Control ListACL)とは、オブジェクト(受動体)に付属する許可属性のリスト。コンピュータセキュリティにおけるアクセス制御を実現するために、あるリソース(受動体)に対する誰からのどの操作を許可するかを列挙したもの。例えば、ファイル X についてのアクセス制御リストに要素 (Alice, delete) があれば、Alice はファイル X を削除することができる。

アクセス制御リストに基づくセキュリティモデル[編集]

アクセス制御リストに基づくセキュリティモデルでは、能動体(subject, 人間やプロセス)が受動体(object, システムやファイル)への操作を要求したとき、システムは許可属性のリストを検査して、その操作を実行してよいかどうかを決定する。アクセス制御リスト (ACL) に基づくセキュリティモデルの定義の鍵となるのは、ACLがどう修整されるかである。つまり、各受動体のACLに対して誰がどんな修整をすることが許されているかである。

ACLを用いる制御には2種類ある。任意アクセス制御強制アクセス制御である。任意アクセス制御とは、受動体の作成者か所有者がその受動体へのアクセスを完全に制御できるものをいう(その受動体を他人がアクセスできるようにACLを変更することを含む)。強制アクセス制御とは、ACLに記載されている許可属性を書き換えるときにシステム全体からの制限を受けるものをいう。

伝統的なACLシステムでは各利用者に許可を与えてしまい、その結果、多数の利用者をもつシステムにおいてはやっかいなことになる。現代的なロールベースアクセス制御と呼ばれる方法では、許可はいったんロール(役割)に対して割り当てられ、それが利用者に割り当てられる。

ファイルシステムのアクセス制御リスト[編集]

ファイルシステムにおいては、プロセスの利用者識別子POSIXでは実効UID)が制御の主な手段となる。 アクセス制御リスト (ACL) はデータ構造(通常は配列)をもち、特定のシステムオブジェクト(プログラム、プロセス、ファイル)への個々のユーザーやグループの権利を示す要素から構成される。これらの要素は、Microsoft Windows[1]OpenVMSUnix系Mac OS X といったオペレーティングシステム (OS) ではアクセス制御エントリ (ACE) と呼ばれている。アクセス可能なオブジェクトはACLへの識別子をもっている。特権またはパーミッションは、あるユーザーがそのオブジェクトについて何ができるか(読み、書き、実行)を決定する。実装によっては、ACEは所有者かどうか、または所有者のグループかどうかにかかわらずオブジェクトのACLを制御できる。

アクセス制御リストは概念であり、その実装はOSによって異なるが、POSIXの「標準」がある(POSIX security drafts の .1e と .2c は対象範囲を広げすぎたため標準策定が完了しないとして破棄された。しかし、ACLについてよく書かれた部分は広く実装され「POSIX ACL」として知られるようになった)。多くのUNIXおよびUnix系OS(例えば、Linux[2]BSDSolaris)はドラフト版の POSIX.1e ACL をサポートしている。また、AIXFreeBSD[3]Mac OS X 10.4 ("Tiger") 以降、SolarisZFS[4] では NFSv4 ACL をサポートしている。Linuxでもext3ファイルシステム向け[5]Richaclsというext4向け[6]の NFSv4 ACL の実験的実装が2つある。

ACLの実装は非常に複雑になる可能性がある。ACLは様々なオブジェクト、ディレクトリや他のコンテナ、コンテナ内のコンテナなどに適用できる。ACLは要求されるすべてのセキュリティ対策を実現できるわけではないので、きめ細かいケイパビリティに基づくアクセス制御システムのほうがよいこともある(その場合、アクセスしようとするオブジェクトに対してアクセス対象のオブジェクトから権限が譲渡され、もっと細かい制御が可能となる)。

ネットワークにおけるアクセス制御リスト[編集]

ネットワークでは、Access Control List (ACL) はTCP/IPのポート番号とそのホスト上で使えるデーモンのリストを意味する。つまり、ホストがネットワークに対して提供しているサービスのリストである。個々のサーバだけでなくルーターもネットワークACLをもっている。この場合のアクセス制御リストは双方向のトラフィックを制御するもので、例えばファイアーウォールと深い関係がある。PCI DSS のようなセキュリティの規約や標準の対象ともなっている。

脚注[編集]

[ヘルプ]
  1. ^ Managing Authorization and Access Control”. Microsoft Technet. 2012年7月11日閲覧。
  2. ^ 2003年10月にリリースされた RHEL-3[1] でACLとEAをサポートしている。パッチはそれ以前から存在していたが、Linuxカーネルが公式にサポートしたのは2003年12月リリースの 2.6 からである。
  3. ^ NFSv4_ACLs FreeBSD
  4. ^ 8. Using ACLs to Protect ZFS Files (Solaris ZFS Administration Guide) - Oracle”. Docs.oracle.com (2009年10月1日). 2012年7月11日閲覧。
  5. ^ Native NFSv4 ACLs on Linux”. Suse.de. 2010年5月4日閲覧。
  6. ^ Richacls - Native NFSv4 ACLs on Linux”. bestbits.at (2011年9月1日). 2011年1月4日閲覧。

関連項目[編集]

外部リンク[編集]

この記述は GNU Free Documentation License のもとに公開されているコンピュータ用語辞典『 Free On-line Dictionary of Computing (FOLDOC) 』に基づいています。