CTS-KB

ACL

えーしーえる

Access Control List アクセス制御リスト
#セキュリティ #ネットワーク #認可

Access Control List — リソースへのアクセス権を明示的に列挙する制御リスト。ネットワーク機器・OS ファイルシステム・クラウドサービスで広く利用される。

概要

ACL は「誰が何にどうアクセスできるか」を列挙したルールセット。典型的には以下の 3 要素で構成される。

要素
Subject(主体)ユーザー / グループ / IP / デバイスタグ
Resource(対象)ファイル / ポート / API パス / デバイス
Action(操作)許可 (allow) / 拒否 (deny)、read/write/execute など

領域別の代表例

領域製品・プロトコル
ネットワークCisco IOS / ヤマハ RTX の ACL、Linux iptables / nftables
ファイルシステムPOSIX ACL、Windows NTFS ACL
クラウドAWS S3 ACL / IAM、GCP IAM ポリシー、Azure RBAC
オーバーレイ VPNTailscale ACL(HuJSON)、ZeroTier Flow Rules

Tailscale ACL の例

Tailscale では tailnet 内の通信を ACL で制御する。次の例はクライアントタグの端末から自宅サーバタグの RDP (3389) のみを許可する最小構成。

{
  "tagOwners": {
    "tag:home-server": ["autogroup:admin"],
    "tag:client": ["autogroup:admin"]
  },
  "acls": [
    {
      "action": "accept",
      "src": ["tag:client"],
      "dst": ["tag:home-server:3389"]
    }
  ],
  "ssh": []
}

効果:

  • クライアント端末が侵害されても、RDP 以外のポートへは到達不能
  • 将来家族や同僚のデバイスを追加しても、タグ付与で権限を切り分けられる
  • ゼロトラスト原則に沿った 最小権限 が実現

ACL 設計の原則

  • Deny by default: 許可しないものは明示的に書かない(暗黙拒否)
  • 最小権限: 必要なポート・操作だけを許可
  • 役割ベース: 個別ユーザーではなくロール/タグ単位で定義
  • テスト可能: Tailscale なら tailscale netcheck や ACL Tester で事前検証

関連用語

  • RDP — Tailscale ACL で 3389/TCP を制限する対象プロトコル
  • Entra ID — クラウド IAM のアクセス制御もこの概念の延長

関連記事