tailnetポリシーファイル
最終検証日:
翻訳: 竹洞 陽一郎
tailnetポリシーファイルは、Tailscaleネットワーク(tailnetと呼ばれます)のパラメーター、ポリシー、設定を格納する、一元化されたHuJSON(human JSON)形式の構成ファイルです。
Owner、Admin、Network adminのロールを持つユーザーは、Tailscale管理コンソールからtailnetポリシーファイルを管理できます。
また、GitHub、GitLab、Bitbucketを使ったGitOpsでtailnetポリシーファイルを管理することもできます。
tailnetポリシーファイルは、複数のトップレベルセクションで構成されており、それぞれが異なる機能を提供します。
tailnetポリシーファイルのさまざまなセクションを使って、以下のようなことができます。
- タグ(tags)、グループ、IPセット(IP sets)を使って、ユーザー、デバイス、ネットワークセグメントの名前付きグループを定義します。
- ACLを使って、ネットワーク層でのアクセス制御ポリシーを定義します。
- グラントを使って、ネットワーク層とアプリケーション層でのアクセス制御ポリシーを定義します。
- IPアドレスとサブネットにエイリアスを割り当てます(
hostsセクションを使用)。 - デバイスポスチャ(device posture)ルールを定義します。
- 誰がTailscale SSHを利用できるかを指定します。
- 誰がどのタグを使ってデバイスを認証できるかを指定します。
- 誰がサブネットルーターやExit Nodeをアドバタイズする際の承認プロセスをバイパスできるかを指定します。
- ノード属性(node attributes)と呼ばれる追加の属性をデバイスとユーザーに適用します。
- 変更されるべきではないアクセス制御ポリシー(ACLとTailscale SSH)についてアサーションを行うテストを記述します。
- tailnet全体のポリシーオプションを定義します(IPv4の無効化など)。
tailnetポリシーファイルの各セクションを組み合わせて使うことで、tailnetをモジュール式かつきめ細かく管理できます。
例えば、カスタムグループのユーザーを定義し、続いてそのグループのユーザーがtailnet内のリソースをどのように通過できるかを指定するアクセス制御ポリシーを作成できます。
セクション
次の表は、tailnetポリシーファイルの各トップレベルセクションの概要です。
| セクション | 名前 | 用途 | リソース |
|---|---|---|---|
acls |
アクセス制御リスト(ACL) | ネットワークレベルのアクセス制御ポリシーを作成します。 | 構文リファレンス → |
autoApprovers |
自動承認(Auto approvers) | サブネットルーター、Exit Node、アプリコネクタをアドバタイズする際の承認プロセスを、誰がバイパスできるかを指定します。 | 構文リファレンス → |
grants |
グラント | ネットワークレベルおよびアプリケーションレベルのアクセス制御ポリシーを定義します。 | 構文リファレンス → |
groups |
グループ | アクセス制御ポリシーやその他の定義でターゲットにする、ユーザー・デバイス・サブネットの名前付きグループを定義します。 | 構文リファレンス → |
hosts |
ホスト | デバイスとサブネットの名前付きエイリアスを定義します。 | 構文リファレンス → |
ipsets |
IPセット | アクセス制御ポリシーやその他の定義でターゲットにする、名前付きネットワークセグメントを定義します。 | 構文リファレンス → |
nodeAttr |
ノード属性 | デバイスとユーザーに追加の属性を適用します。 | 構文リファレンス → |
postures |
デバイスポスチャポリシー | アクセス制御ポリシーでターゲットにする、デバイスポスチャルールを定義します。 | 構文リファレンス → |
ssh |
Tailscale SSH | 誰がTailscale SSHを利用できるかを指定します。 | 構文リファレンス → |
sshTests |
Tailscale SSHテスト | 変更されるべきではないTailscale SSHの状態についてアサーションを行うテストを記述します。 | 構文リファレンス → |
tagOwners |
タグオーナー | tailnet内のデバイスに、誰がどのタグを割り当てられるかを定義します。 | 構文リファレンス → |
tests |
アクセス制御テスト | 変更されるべきではないアクセス制御ポリシー(ACLとネットワークレベルのグラント)についてアサーションを行うテストを記述します。 | 構文リファレンス → |
IPv4の無効化やDERPマップのカスタマイズなど、ネットワークポリシーオプション用の追加セクションもあります。
ほとんどの場合、これらの設定は不要です。
| セクション | 用途 | リソース |
|---|---|---|
derpMap |
tailnetが使用するDERPサーバーをカスタマイズします。 | 構文リファレンス → |
disableIPv4 |
tailnet内でのIPv4の使用を無効にします。 | 構文リファレンス → |
OneCGNATRoute |
Tailscaleクライアントが生成するルートを変更します。 | 構文リファレンス → |
randomizeClientPort |
WireGuardトラフィックにおいて、デバイスがランダムなポート番号とデフォルトの41641のどちらを優先するかを制御します。 |
構文リファレンス → |