アクセスコントロールリスト: 定義、タイプ、用途

更新済み: 2026年08月31日 読了目安時間: ~

要約

アクセス制御リスト(ACL)は、ネットワークやファイルシステム内のリソースに誰がアクセスできるかを管理する、ルールベースの許可システムです。標準、拡張、ファイルシステム、ネットワーキングACLなど、いくつかの形式があり、アクセス制御エントリ(ACE)を評価してトラフィックを許可または拒否することで機能します。ベストプラクティスには、すべてのインターフェイスへのACLの適用、ルールの正しい順序付け、グループベースのルールの使用、すべての変更の文書化などがあります。より広範なロールベースのニーズに対応するために、ACLをロールベースアクセス制御(RBAC)と組み合わせることで、柔軟性とセキュリティをさらに強化できます。

アクセス制御リストの基本

アクセスコントロールリスト(ACL)には、特定のデジタル環境内でユーザーが実行できる操作と実行できない操作を指定する一連のルールがあります。ACLは、ユーザーが何にアクセスできるか、またそのアクセスによってどのようなタイプの操作を実行できるかを規定する許可のリストです。

ACLにはいくつかのタイプがあります。ネットワーク全体へのアクセス、ネットワーク内の特定のファイルやディレクトリへのアクセスをフィルタリングすることができます。ACLは、ネットワーク内のトラフィックのフローを決定する他のセキュリティテクノロジーとともによく使われます。

 ACL は、多くの場合、ITセキュリティの手順、ポリシー、テクノロジーの重要な構成要素です。

アクセス制御リスト(ACL)とは?

アクセスコントロールリスト(ACL)には、アクセスコントロールエントリ(ACE)が含まれており、デジタルネットワーク内のトラフィックをフィルタリングする方法をシステムに指示します。ACLは、どのユーザーに何を表示するのかをシステムに指示するだけでなく、誰があるいは何がネットワーク内で変更を加えることができるかを指示することができます。

ACLは、ファイルやディレクトリへのアクセス、さらにはネットワーク自体へのアクセスを決定することができます。ACLは、ユーザーへの読み取り権限と書き込み権限を指定することもできます。

一時は、ACLがファイアウォール保護の主要な方法でした。現在、 ファイアウォールには、それに代わるものや追加機能を備えたものがあります。

ACLは、仮想プライベートネットワーク(VPN)を含む他のセキュリティテクノロジーと組み合わせて使用することができ、どのトラフィックを暗号化し、それをどこに転送するかを決定することができます。

アクセスコントロールリストの種類

  • ファイルシステムACLとネットワークACL: アクセスコントロールリストは、ネットワーク全体へのアクセス(ネットワーキングACL)、またはファイルやディレクトリへのアクセス(ファイルシステムACL)をフィルタリングします。ネットワーキングACLは、ルーターやスイッチに、どのトラフィックがネットワークへのアクセスを許可され、どのような種類のアクティビティが許可されるかを伝えます。ファイルシステムACLは、オペレーティング・システムに、どのユーザーがシステムにアクセスできるか、どのような権限が与えられているかを指示します。
  • LinuxやWindowsを使ったACL:  ACLはLinuxまたはWindowsで設定できます。Linuxは、より柔軟に設定できますが、多くの場合、メンテナンスに高度な専門知識が必要です。Windowsは、使いやすく安定したプラットフォームを提供しますが、Linuxのようにカーネルを変更することはできません。
  • 標準ACL対拡張ACL: ACLには大きく分けて標準ACLと拡張ACLの2種類があります。標準ACLは、Internet Protocol(IP)トラフィックを区別しませんが、代わりにソースIPアドレスに基づいてトラフィックを許可またはブロックします。 拡張ACLは、ソースIPアドレスと宛先IPアドレスの両方を使用して、IPトラフィックを区別し、アクセスを許可または拒否する内容を規定することができます。
  • システムアクセスコントロールリスト(SACL)および裁量アクセスコントロールリスト(DACL): SACLは、特定のオブジェクトへのアクセス施行を記録します。これを使用することで、アクセスを許可する場合、アクセスを拒否する場合、またはその両方を判断するための監査記録を生成することができます。DACL は、保護されたオブジェクトへのアクセスが許可される人物と対象を特定します。システムは ACEを体系的にチェックして、アクセスを許可すべきか拒否すべきかを判断します。

ACLを使う理由とは?

ACLは、システム内でどのユーザーが何を実行できるか、誰がアクセスできるかを判断することにより、ネットワークセキュリティを提供できます。保護されたオブジェクトの周りのトラフィックを制限することで、システムの安全性を高め、ネットワークをスムーズに動かすのに役立ちます。トラフィックが減れば、ネットワークのパフォーマンスも向上します。

ACLはどのようにネットワークパフォーマンスを向上させますか?

ACLはトラフィックのフローを制御し、あるべきでないものを排除し、あるべきものを受け入れます。また、システムに出入りするトラフィックを監視するのにも役立ちます。

ACLは特定のものから広範囲のものまで設定できます。ACLは、特定のユーザーだけをシステムに受け入れるようにし、ユーザーがシステム内で持つ特権を決定することができます。ACLは、システム内で誰がアクセス権を持つかを決めることで、 セキュリティ侵害のリスクを最小限に抑えるのに 役立ちます。

アクセスコントロールリストの仕組み

ACLは、ACEを使用してトラフィックフローを指示、管理、監視します。

ネットワーキングACLはどのようにトラフィックをフィルタリングしますか?

ネットワークACLは、ルーターやスイッチにインストールされるトラフィックフィルターで、ネットワークへのパケットやルーティングアップデートのアクセスを許可または拒否するための事前に定義されたルールを含んでいます。ACLを使用しているルーターやスイッチは、パケットを拒否または転送するパケットフィルターとして機能するようにフィルタリング基準が設定されています。

ファイルシステムのACLはユーザー特権をどのように管理しますか?

ファイルシステムACLは、特定のファイルやディレクトリなどの特定のシステムオブジェクトに対してユーザーがどのようなアクセス権を持つかをオペレーティングシステムに指示します。これらのオブジェクトはそれぞれ、セキュリティプロパティとしてACLに接続されており、システムへのアクセス権を持つすべてのユーザーは、ACLにエントリを持っています。

ACL が指示できるユーザー権限には、ディレクトリ内の特定のファイルまたはすべてのファイルの読み取りアクセスを許可することが含まれます。ACLは、ユーザーがファイルまたはファイルへの実行または書き込みの権限を持っているかどうかを決定することもできます。ユーザーがオブジェクトへのアクセスのリクエストを送信すると、オペレーティングシステムはACLを使用して、ユーザーに要求された許可を出す関連エントリを検索します。一致するエントリが見つからない場合、アクセスは拒否またはブロックされます。

ACLを使用する際のベストプラクティスは何ですか?

アクセスコントロールリストは、システムとネットワークが迅速かつ安全に実行できるようにする有用なセキュリティツールですが、ネットワークを安全かつ円滑に維持するためには、適切に設定することが重要です。これには、ACLを設定する際に以下のベストプラクティスに従うことが含まれます。

  • 各インターフェイスで ACL を使用します。ACLは、保護されたネットワークへの出入りを制御するために、公衆がアクセスするネットワークインターフェースに必要です。各拠点で異なるルールが必要になるため、ACLはすべてのセキュリティおよびルーティング機器に適用することが必要です。外部に面したインターフェイスは許可されるアクセスを指定する必要があり、内部ネットワークとインターフェイスはシステム内のユーザー権限とパーミッションを決定する必要があります。保護されたネットワーク内のACLは、システムにさらなるセキュリティを加えることができます。ACLによって設定されるルールは、ACLが配置される場所によって異なる場合があります。これらのルールは、セキュリティ侵害とその影響を最小限に抑え、機密性の高いリソースを保護し、ネットワークのパフォーマンスを向上させることができます。
  • ACLは、必ず正しい順序で配置するようにします。ACLは最初に遭遇したルールを実行します。そのため、ネットワークを円滑に実行させ、許可を意図したとおりに動作させるためには、ルールを正しい順序で入力することが重要です。ルールの順序を誤ると、適切な人のアクセスを拒否したり、ネットワークの速度を低下させたり、保護されている機密性の高いリソースが誤ったユーザーによって脆弱な状態になったりする可能性があります。ACLを作成する際は、より一般的なルールから始め、より具体的なルールへと段階的に減らしていきます。これにより、パケットがシステム内に留まる時間を制限することができ、システムを必要な速度に保つことができます。ACLにルールを追加するときは、イベントの連鎖をどのように発生させたいか、ルールをいつトリガーさせたいかを考慮することが重要です。
  • 個々のユーザーではなく、特定のグループに対してルールを設定することを検討します。ユーザーベースのACLは、新しいユーザーが増えるたびにACLを更新する必要があることを意味します。つまり、新規採用、配置転換、解雇のたびに、ACLを更新し、管理する必要があります。このように個々のユーザーに対してルールを書くのではなく、ユーザーのグループに対してルールを設定することができます。この方法では、特定のグループの全員が同じ許可とアクセス権を持つことになります。通常、企業内のユーザー数は非常に動的であり、常に変更が発生します。そのため、個別ではなくグループベースのACLルールを使用することで、時間と労力を節約することができます。
  • すべての作業を文書化します。すべてのACLルールを記録しておくようにします。新しいルールを追加する場合は、それがいつ追加されたのか、なぜ追加されたのか、誰が追加したのか、そのルールは何をするためのものなのかを文書化します。ACLシステムでは詳細な情報を入力することができるため、ACLの管理がより簡単になります。コメントは、ルールのグループに対しても追加できるため、各ルールに対して特別に記述する必要はありません。多くの場合、組み合わせて使用するのが最善です。より具体的な詳細が必要なルールもあれば、グループ化できるルールもあります。
  • ACL管理ツールを使用します。 ネットワークにACLを追加すればするほど、ACLはより複雑になります。また、ACLは更新されるとかなり長くなることもあります。ACL管理ツールは、確実に、ルールが正しい順序にあり、必要なときにアップデートが展開され、ACLが可能な限り効率的に実行され続けるようにします。 ACL管理ツールは、変更ログ、通知、監査証跡を提供し、システムとネットワークを安全に保ち、望ましいパフォーマンスを維持することができます。

RBACとACLの違いは何ですか?

ACLに代わるものとして、ロールベースのアクセスコントロール(RBAC)モデルがあります。RBACは、ACLのように個々のユーザーレベルではなく、社内におけるユーザーのロールに基づいてネットワークアクセスを制限または許可します。 RBACは、特定のロールが持つことのできるアクセスレベルを決定します。

社内の誰もがシステム全体にアクセスする必要があるわけではありません。例えば、下位レベルの管理者は、職務に関係のない機密性の高いデータにアクセスすべきではありません。RBACは、ユーザーが組織内で持つロールに基づいて、ネットワーク内のセキュリティを管理することができます。

RBACをACLと組み合わせることで、さらにセキュリティと柔軟性を高めることができます。例えば、ACLを通じてユーザーのグループにアクセスを許可している場合、組織内の別のプロジェクトに従業員がいる場合は、RBACを使用して、関連性のない部門には完全なアクセスを許可せずに、必要なリソースへのアクセスを許可することができます。

機能ACLRBAC
アクセス基準個々のユーザーまたはグループのルール社内でのユーザーの役割
粒度特定のファイル、ディレクトリ、またはネットワークトラフィックロールレベルでのリソースへのアクセス
柔軟性オブジェクトごとに高度な設定が可能ロールごとのシンプルな管理
組み合わせることはできますか?はい、RBACと組み合わせることができます。はい、ACLと組み合わせることができます。

よくある質問(FAQ)

ファイルシステムACLとネットワーキングACLの違いは何ですか?

ネットワーキングACLは、ルーターまたはスイッチのレベルでトラフィックをフィルタリングし、ネットワークに出入りするものを制御します。ファイルシステムACLはオペレーティングシステムレベルで機能し、どのユーザーが特定のファイルやディレクトリにアクセスできるか、またどのような権限を持つかを決定します。

標準ACLと拡張ACLの違いは何ですか?

標準ACLは、トラフィックの種類を区別することなく、送信元IPアドレスのみに基づいてトラフィックをフィルタリングします。拡張ACLは、送信元と宛先の両方のIPアドレスを使用し、トラフィックの種類を区別して、より正確にアクセスを許可または拒否できます。

ACLでルールの順序が重要なのはなぜですか?

ACLは最初に一致したルールを実行するため、順序が正しくないと、正規のユーザーを誤ってブロックしたり、ネットワークのパフォーマンスを低下させたり、機密リソースを公開したままにしたりする可能性があります。一般的なルールから始めて、より具体的なルールへと絞り込むことで、パケットを効率的に処理できます。

ACLルールは個々のユーザーとグループのどちらに対して作成すべきですか?

通常はグループベースのルールが推奨されます。個々のユーザーに対してルールを作成する場合、従業員の採用、異動、退職のたびにACLを更新する必要があります。グループベースのルールは、グループのすべてのメンバーに同じ権限を適用するため、管理オーバーヘッドが削減されます。

RBACとACLの違いは何ですか?また、これらを併用することはできますか?

ACLはユーザーまたはグループのルールに基づいてオブジェクトレベルでアクセスを制御しますが、ロールベースアクセス制御(RBAC)は組織内でのユーザーのロールに基づいてアクセスを許可または制限します。この2つは組み合わせることができます。たとえば、ACLをグループレベルのアクセスに使用し、RBACを使用して無関係な部門にアクセスを許可することなく、プロジェクト固有の権限を付与できます。

ACL管理ツールとは何か?また、なぜ役立つのか?

ACL管理ツールは、ルールが正しい順序で適用されるようにし、必要に応じて更新を展開し、変更ログ、通知、監査証跡を提供することで、管理者が複雑で長大なACLを維持するのに役立ちます。これにより、ネットワークのセキュリティを確保し、意図したとおりに機能させることができます。

こちらの情報も併せてご活用ください

Windowsオペレーティングシステムをご利用の場合、 Microsoft は、アクセスコントロールリストの作成および変更方法について詳しく解説しています。また、 Cisco は、IPアクセスリストの設定方法に関するチュートリアルを用意しています。

 SolarWindsが提供するようなアクセス管理システムを使用することもできます。30日間の無料トライアルを入手して、貴社のネットワークと組織で機能するかどうかを確認できます。アクセスコントロールリスト管理ツールは、セキュリティを強化し、ネットワークパフォーマンスを最適化するのに役立ちます。

参考文献

Domain 1 (2021年、 CISSP Study Guide (Second Edition)

Enhancing Network Security and Performance Using Optimized ACLs(2014年11月、International Journal in Foundations of Computer Science & Technology (IJFCST)

Creating or Modifying an ACL(2021年1月、Microsoft)

Access Management System(2021年、SolarWinds Worldwide, LLC.)

Configuring IP Access Lists(Cisco)

アイデンティティ施策を推進