本文へ移動
QKQuickKitEN
VPN・オーバーレイLOCALブラウザ内で処理入力に機密情報を含む可能性があります

Tailscale ポリシー可視化

Tailscale の ACL ポリシーファイルをルート単位の表に展開します。グループのメンバー展開、宛先のホストとポートの分離、未定義参照の指摘を行います。

入力と主要な処理をブラウザ内で行い、その入力内容をQuickKitサーバーへ送信しない設計です。

実運用中の秘密情報を避け、可能ならダミー値やマスク済みデータを使用してください。 データ取扱いの詳細

サマリー

結果
ACL ルール数
グループ数
ホスト数
tagOwners 数
grants 数
ポリシーの defaultSrcPosture

    ルール

      レビュー結果

      未解決の参照

        tagOwners に定義のないタグ

          どのルールからも参照されていないグループ

            仕組みと使い方

            Tailscale のポリシーファイルを展開し、ファイル内を目視で相互参照しなくても各 ACL ルールを読めるようにします。ポリシーファイルは HuJSON (JSON に // と /* */ のコメント、末尾カンマを加えたもの) で、どちらも扱えるため、ファイルをそのまま貼り付けられます。各ルールを action、プロトコル、送信元、宛先とともに表示します。グループの送信元は同じファイル内の定義からメンバーへ展開し、hosts の宛先はアドレスへ解決し、宛先は最後のコロンでホストとポートに分割します。これにより tag:prod:22 は「tag:prod のポート 22」として読めます。各ルールには、そのルールを制限する posture 条件も表示します。自身が srcPosture を指定していればその値、指定していなければトップレベルの defaultSrcPosture です。したがって posture を指定していないルールも、default が設定されたポリシーでは無条件ではありません。srcPosture が未指定・null・空配列の場合はいずれも「そのルール自身の条件がない」状態として default が適用されます。条件を定義する postures ブロック自体はここでは評価しません。展開できないものは推測しません。tag:、autogroup:、svc: のメンバーシップはポリシーファイルではなく coordination server 側にあるため、種別を表示してそのまま残します。svc: は Tailscale Service で、宛先専用のセレクタです。このツールは種別の分類のみを行い、送信元に使われている場合は有効でないものとして報告します。サービスの存在、advertisement、approval の状態は確認しません。ipset: の参照は、ipset が宣言される場所である同じファイルの ipsets ブロックと照合します。アドレスの展開は行いません。ファイル内に定義がないもの (打ち間違えたグループ名、hosts に無いホスト名、ipsets に無い ipset 名など) は未解決参照として報告します。そこでの打ち間違いは、ルールの適用対象を静かに変えてしまうためです。あわせて、ルールで使われているのに tagOwners に無いタグ、どのルールからも参照されていないグループ、メンバーが 0 件のグループも報告します。境界は 2 つあります。acls ではなく grants を使うポリシーはその旨を表示します。そちらは Tailscale Grants マトリクスの担当です。また、tailnet や API へは接続しないため、表示内容はファイルの内容だけを反映し、実際のデバイス状態は反映しません。ポリシーファイルはこのページから出ません。アップロード、保存、ログ出力、URL への埋め込みは行いません。