Tailscaleロゴ

ターゲットとセレクター

最終検証日:
翻訳: 竹洞 陽一郎

ターゲット(またはセレクター)とは、tailnetポリシーファイル内でユーザー、デバイス、サブネットを識別するために使う識別子です。
多くの場合、ターゲットはアクセス制御ポリシーの送信元(source)または宛先(destination)を指定するために使います。
ターゲットは、1つまたは複数のデバイス、ユーザー、ネットワークセグメントを選択できます。
例えば、tag:sql-serverは、sql-serverというタグが付いたすべてのデバイスを選択するターゲットであり、192.0.2.23は、IPアドレス192.0.2.23を使用するデバイスのみを選択するターゲットです。

このページでは、さまざまなターゲットの種類、それらを使用できる場面、そしてその制約についてリファレンスとして参照できます。

種類

ターゲットには、主にオートグループ(autogroups)明示的セレクター(explicit selectors)カスタムセレクター(custom selectors)の3種類があります。

オートグループ

オートグループ(autogroup)は、特定の条件に基づいてデバイス、ユーザー、IPアドレスを自動的にグループ化する、組み込みのターゲットの一種です。
オートグループを使うと、他の方法では選択が難しい、あるいは不可能な、動的なユーザー・デバイス・ルートの集合を選択できます。
例えば、autogroup:memberは、tailnetのすべてのメンバーを含むオートグループです。

オートグループ一覧
オートグループ 説明
autogroup:danger-all tailnet外のデバイスを含む、すべてのデバイスが対象です。このターゲットの使用には注意してください。tailnetがセキュリティリスクや予期しない動作にさらされる可能性があります。
autogroup:internet すべてのパブリックIPアドレスが対象です。
autogroup:self 同じユーザーが所有するすべてのデバイスが対象です。これは特別なオートグループで、同じユーザーが所有するデバイス同士のアクセスを許可するために使えます。
autogroup:shared tailnetへの共有招待を承諾したユーザーが所有する、すべてのデバイスが対象です。
autogroup:tagged 少なくとも1つのタグを持つすべてのデバイスが対象です。
autogroup:member tailnetのすべてのメンバーが対象です。
autogroup:owner tailnet内でOwnerロールを持つすべてのメンバーが対象です。
autogroup:admin tailnet内でAdminロールを持つすべてのメンバーが対象です。
autogroup:it-admin tailnet内でIT adminロールを持つすべてのメンバーが対象です。
autogroup:billing-admin tailnet内でBilling adminロールを持つすべてのメンバーが対象です。
autogroup:network-admin tailnet内でNetwork adminロールを持つすべてのメンバーが対象です。
autogroup:auditor tailnet内でAuditorロールを持つすべてのメンバーが対象です。

各オートグループをどこで、どのように使えるかについては、以下の表を参照してください。

autogroup:danger-all

autogroup:danger-allは、tailnet外のデバイスを含む、すべてのデバイスを対象とする特別な(そして危険な)オートグループです。

このオートグループは、tailnetを不要なセキュリティリスクにさらすため、Tailscaleは使用を推奨していません。後方互換性のためにのみ提供されています。

次の表は、このセレクターをどこで、どのように使用できるかを示しています。「場所」列はtailnetポリシーファイル内の場所を、「許可」列はそのセレクターをその場所で使用できるかどうかを示します。

autogroup:danger-allの使用可否
場所 許可
SSHの送信元(src不可
SSHの宛先(dst不可
アクセス制御の送信元(src)(グラントACLを含む)
アクセス制御の宛先(dst)(グラントACLを含む)不可
ノード属性ターゲット(nodeAttr不可
タグオーナー(tagOwner不可
グループ(group不可
IPセット(ipset不可
自動承認(autoApprover不可
Via(via)(グラントでのルートフィルタリング)不可

autogroup:internet

autogroup:internetは、すべてのパブリックIPアドレスを含むオートグループです。

技術的な定義: autogroup:internetは、0.0.0.0/02000::/3として定義されますが、以下のアドレス範囲は除外されます。

プライベート:

Tailscale(CGNAT):

リンクローカル:

次の表は、このセレクターをどこで、どのように使用できるかを示しています。「場所」列はtailnetポリシーファイル内の場所を、「許可」列はそのセレクターをその場所で使用できるかどうかを示します。

autogroup:internetの使用可否
場所 許可
SSHの送信元(src不可
SSHの宛先(dst不可
アクセス制御の送信元(src)(グラントとACLを含む)不可
アクセス制御の宛先(dst)(グラントとACLを含む)
ノード属性ターゲット(nodeAttr不可
タグオーナー(tagOwner不可
グループ(group不可
IPセット(ipset
自動承認(autoApprover不可
Via(via)(グラントでのルートフィルタリング)不可

autogroup:self

autogroup:selfは、同じユーザーが所有するすべてのデバイスを含むオートグループです。このオートグループを使うと、同じユーザーが所有するデバイス同士のアクセスを許可できます。

次の表は、このセレクターをどこで、どのように使用できるかを示しています。「場所」列はtailnetポリシーファイル内の場所を、「許可」列はそのセレクターをその場所で使用できるかどうかを示します。

autogroup:selfの使用可否
場所 許可
SSHの送信元(src不可
SSHの宛先(dst制限あり
アクセス制御の送信元(src)(グラントとACLを含む)不可
アクセス制御の宛先(dst)(グラントとACLを含む)制限あり
ノード属性ターゲット(nodeAttr不可
タグオーナー(tagOwner不可
グループ(group不可
IPセット(ipset不可
自動承認(autoApprover不可
Via(via)(グラントでのルートフィルタリング)不可

autogroup:shared

autogroup:sharedは、tailnetへの共有招待を承諾したユーザーが所有する、すべてのデバイスを含むオートグループです。

次の表は、このセレクターをどこで、どのように使用できるかを示しています。「場所」列はtailnetポリシーファイル内の場所を、「許可」列はそのセレクターをその場所で使用できるかどうかを示します。

autogroup:sharedの使用可否
場所 許可
SSHの送信元(src不可
SSHの宛先(dst不可
アクセス制御の送信元(src)(グラントとACLを含む)
アクセス制御の宛先(dst)(グラントとACLを含む)不可
ノード属性ターゲット(nodeAttr不可
タグオーナー(tagOwner不可
グループ(group不可
IPセット(ipset不可
自動承認(autoApprover不可
Via(via)(グラントでのルートフィルタリング)不可

autogroup:tagged

autogroup:taggedは、少なくとも1つのタグを持つすべてのデバイスを含むオートグループです。

次の表は、このセレクターをどこで、どのように使用できるかを示しています。「場所」列はtailnetポリシーファイル内の場所を、「許可」列はそのセレクターをその場所で使用できるかどうかを示します。

autogroup:taggedの使用可否
場所 許可
SSHの送信元(src制限あり
SSHの宛先(dst
アクセス制御の送信元(src)(グラントとACLを含む)
アクセス制御の宛先(dst)(グラントとACLを含む)
ノード属性ターゲット(nodeAttr
タグオーナー(tagOwner
グループ(group不可
IPセット(ipset不可
自動承認(autoApprover
Via(via)(グラントでのルートフィルタリング)不可

autogroup:<role>

autogroup:<role>は、特定のロール(role)を持つ、tailnet内のすべてのメンバーを含むオートグループです。

次の表は、このセレクターをどこで、どのように使用できるかを示しています。「場所」列はtailnetポリシーファイル内の場所を、「許可」列はそのセレクターをその場所で使用できるかどうかを示します。

autogroup:<role>の使用可否
場所 許可
SSHの送信元(src制限ありautogroup:memberの場合)
SSHの宛先(dst不可
アクセス制御の送信元(src)(グラントとACLを含む)
アクセス制御の宛先(dst)(グラントとACLを含む)
ノード属性ターゲット(nodeAttr
タグオーナー(tagOwner
グループ(group不可
IPセット(ipset不可
自動承認(autoApprover
Via(via)(グラントでのルートフィルタリング)不可

同期グループ

同期グループ(Synced groups)は、Google WorkspaceOktaMicrosoft Active Directoryなどのアイデンティティプロバイダーからプロビジョニングされた、ユーザーとデバイスの集合です。

次の表は、このセレクターをどこで、どのように使用できるかを示しています。「場所」列はtailnetポリシーファイル内の場所を、「許可」列はそのセレクターをその場所で使用できるかどうかを示します。

同期グループの使用可否
場所 許可
アクセス制御の送信元(src)(グラントとACLを含む)
アクセス制御の宛先(dst)(グラントとACLを含む)
タグオーナー(tagOwners
ノード属性ターゲット(nodeAttr
自動承認(autoApprover
IPセット(ipsets不可
Via(via)(グラントでのルートフィルタリング)不可

その他の組み込みターゲット

次の表は、特殊なオートグループやその他の組み込みターゲットをまとめたものです。

その他の組み込みターゲット
ターゲット 説明
localpart:*@<domain> 指定した<domain>のメールアドレスを持つすべてのメンバーが対象です。SSHの送信元(source)としてのみ有効です。
autogroup:nonroot これは、SSHユーザーに適用される特殊なオートグループです。root以外の任意のユーザーとしてログインできることを指定する場合にのみ使用できます。送信元(src)や宛先(dst)の定義では使用できません。

明示的セレクター

明示的セレクター(explicit selector)とは、グループタグIPセットのいずれによっても作成されないターゲットです。

明示的セレクターの種類
ターゲット 説明
IPアドレス IPアドレスでデバイスを選択します。 192.0.2.2
ホストエイリアス ユーザー定義のホストエイリアス(host alias)でデバイスを選択します。 host:sql-server-1
IPアドレス範囲 IPアドレスの明示的な範囲を選択します。 198.51.100.5-198.51.100.10
CIDR CIDRアドレスでIPアドレスの範囲を選択します。 203.0.113.0/24
ユーザー メールアドレス、Passkey、GitHubユーザー名でユーザーを選択します。 user@company.comuser@passkeyusername@github
Tailscale Service 名前でTailscale Serviceを選択します。 svc:web-server

明示的セレクターをどこで、どのように使えるかについては、以下のセクションを参照してください。

IPアドレス

IPアドレスを使って、tailnet内の特定のデバイスを選択できます。例: 192.0.2.2

次の表は、このセレクターをどこで、どのように使用できるかを示しています。「場所」列はtailnetポリシーファイル内の場所を、「許可」列はそのセレクターをその場所で使用できるかどうかを示します。

IPアドレスの使用可否
場所 許可
SSHの送信元(src不可
SSHの宛先(dst不可
アクセス制御の送信元(src)(グラントとACLを含む)
アクセス制御の宛先(dst)(グラントとACLを含む)
ノード属性ターゲット(nodeAttr
タグオーナー(tagOwner不可
グループ(group不可
IPセット(ipset
自動承認(autoApprover不可
Via(via)(グラントでのルートフィルタリング)不可

ホストエイリアス

ホストエイリアスを使って、ユーザー定義のエイリアスでデバイスを選択できます。例: host:sql-server-1

次の表は、このセレクターをどこで、どのように使用できるかを示しています。「場所」列はtailnetポリシーファイル内の場所を、「許可」列はそのセレクターをその場所で使用できるかどうかを示します。

ホストエイリアスの使用可否
場所 許可
SSHの送信元(src不可
SSHの宛先(dst不可
アクセス制御の送信元(src)(グラントとACLを含む)
アクセス制御の宛先(dst)(グラントとACLを含む)
ノード属性ターゲット(nodeAttr
タグオーナー(tagOwner不可
グループ(group不可
IPセット(ipset
自動承認(autoApprover不可
Via(via)(グラントでのルートフィルタリング)不可

IPアドレス範囲

IPアドレス範囲を使って、複数のIPアドレスの範囲を選択できます。例: 192.0.2.4-192.0.2.12

次の表は、このセレクターをどこで、どのように使用できるかを示しています。「場所」列はtailnetポリシーファイル内の場所を、「許可」列はそのセレクターをその場所で使用できるかどうかを示します。

IPアドレス範囲の使用可否
場所 許可
SSHの送信元(src不可
SSHの宛先(dst不可
アクセス制御の送信元(src)(グラントとACLを含む)不可
アクセス制御の宛先(dst)(グラントとACLを含む)不可
ノード属性ターゲット(nodeAttr不可
タグオーナー(tagOwner不可
グループ(group不可
IPセット(ipset
自動承認(autoApprover不可
Via(via)(グラントでのルートフィルタリング)不可

ユーザー

メールアドレス、Passkey、GitHubユーザー名(Tailscaleアカウントの認証方法による)で、特定のユーザーを参照できます。例: alice@example.comalice@githubalice@passkey

次の表は、このセレクターをどこで、どのように使用できるかを示しています。「場所」列はtailnetポリシーファイル内の場所を、「許可」列はそのセレクターをその場所で使用できるかどうかを示します。

ユーザーの使用可否
場所 許可
SSHの送信元(src
SSHの宛先(dst不可
アクセス制御の送信元(src)(グラントとACLを含む)
アクセス制御の宛先(dst)(グラントとACLを含む)
ノード属性ターゲット(nodeAttr不可
タグオーナー(tagOwner
グループ(group不可
IPセット(ipset
自動承認(autoApprover不可
Via(via)(グラントでのルートフィルタリング)不可

Tailscale Service

名前で特定のTailscale Serviceを参照できます。例: svc:web-serversvc:printer

次の表は、このセレクターをどこで、どのように使用できるかを示しています。「場所」列はtailnetポリシーファイル内の場所を、「許可」列はそのセレクターをその場所で使用できるかどうかを示します。

Tailscale Serviceの使用可否
場所 許可
SSHの送信元(src不可
SSHの宛先(dst不可
アクセス制御の送信元(src)(グラントとACLを含む)不可
アクセス制御の宛先(dst)(グラントとACLを含む)
ノード属性ターゲット(nodeAttr不可
タグオーナー(tagOwner不可
グループ(group不可
IPセット(ipset不可
自動承認(autoApprover
Via(via)(グラントでのルートフィルタリング)不可

カスタムターゲット

カスタムターゲットとは、明示的セレクター、グループ、タグ、IPセットを使って作成する、1つ以上のユーザー、デバイス、IPアドレスの選択です。

グループ

グループは、ユーザーまたはデバイスの選択です。グループを使うと、ポリシーでターゲットにする、ユーザーまたはデバイスのカスタムコレクションを作成できます。
例えば、本番環境のすべてのデバイスを含むprodグループを作成できます。グループをどこで、どのように使えるかについては、以下の表を参照してください。

グループの使用可否
場所 許可
SSHの送信元(src制限あり
SSHの宛先(dst不可
アクセス制御の送信元(src
アクセス制御の宛先(dst
ノード属性ターゲット(nodeAttr
タグオーナー(tagOwner
グループ(group不可
IPセット(ipset不可
自動承認(autoApprover
Via(via)(グラントでのルートフィルタリング)不可

タグ

タグは、非ユーザーデバイスに付ける名前付きの注釈です。タグを使うと、サービスやアプリケーションをホストするデバイスなど、非ユーザーデバイスのアイデンティティを作成できます。
例えば、SQLサーバーを実行するすべてのデバイスに適用するsqlタグを作成できます。

タグの使用可否
場所 許可
SSHの送信元(src制限あり
SSHの宛先(dst
アクセス制御の送信元(src
アクセス制御の宛先(dst
ノード属性ターゲット(nodeAttr
タグオーナー(tagOwner
グループ(group不可
IPセット(ipset不可
自動承認(autoApprover
Via(via)(グラントでのルートフィルタリング)

IPセット

IPセットは、IPアドレスの集合です。IPセットを使うと、IPアドレスのカスタムな選択を作成できます。

次の表は、このセレクターをどこで、どのように使用できるかを示しています。「場所」列はtailnetポリシーファイル内の場所を、「許可」列はそのセレクターをその場所で使用できるかどうかを示します。

IPセットの使用可否
場所 許可
SSHの送信元(src不可
SSHの宛先(dst不可
アクセス制御の送信元(src
アクセス制御の宛先(dst
ノード属性ターゲット(nodeAttr不可
タグオーナー(tagOwner不可
グループ(group不可
IPセット(ipset
自動承認(autoApprover不可
Via(via)(グラントでのルートフィルタリング)不可

ワイルドカードセレクター

ワイルドカードセレクター(*)を使うと、1つのパターンで複数のターゲットに一致させることができます。
tailnetポリシーファイルでは、ワイルドカードセレクターの正確な動作は、使用するコンテキストによって異なります。
例えば、srcまたはdstフィールドでワイルドカードセレクターを使うと、tailnet内のすべてのTailscale IPアドレスと、承認済みのすべてのサブネットルートに一致します。
一方、グラントのipフィールドでワイルドカードセレクターを使うと、dstフィールドのターゲットに対するすべてのポートとプロトコルに一致します。

さまざまなシナリオでワイルドカードセレクターがどのように機能するかについては、以下の表を参照してください。

ワイルドカードセレクターの挙動
機能 コンテキスト ワイルドカードの動作
アクセス制御ポリシー(グラントACLを含む) srcまたはdstフィールド *ワイルドカードセレクターは、すべてのTailscale IPアドレスと、承認済みのサブネットルートからのすべてのIPアドレスに展開されます。承認済みのサブネットルートには、サブネットルーターがアドバタイズ・承認するすべてのIPアドレスが含まれます。これらのIPアドレスを使うデバイスは、tailnetに直接接続しない(サブネットルーター経由で接続する)ため、通常Tailscale IPアドレスを持ちません。
アクセス制御ポリシー(グラントを含む) ipフィールド 宛先のすべてのプロトコル(TCP、UDP、ICMP)とポートに一致します。
同期オートグループ 同期オートグループ内のユーザーを選択する場合 ワイルドカードセレクターには特別な考慮事項があります。式ではワイルドカード*セレクターを使いますが(例: user:*@example.com)、任意のワイルドカードはサポートされません。例えば、user:b*b@example.combob@example.comに一致しません。
Tailscale SSH acceptEnvフィールド *?のワイルドカードセレクターを含められます。*はゼロ文字以上に一致し、?は1文字に一致します。
一般的なテスト srcacceptdenyフィールド ワイルドカードセレクターは使用できません。特定のエンティティを指定する必要があります。例えば、acceptルールの宛先としてtags:*を使うことはできません。

アプリコネクタとワイルドカード
アプリコネクタのドメイン設定(*.example.comなど)ではワイルドカードセレクターを使用できますが、その動作には親ドメイン自体は含まれません。

制約

一部のターゲットには、セキュリティ上の理由から特定の制約があります。各ターゲットをどこで、どのように使えるかについては、以下の制約を参照してください。