アクセス制御
最終検証日:
翻訳: 竹洞 陽一郎
Tailscaleのアクセス制御は、最小権限(least privilege)とゼロトラストセキュリティ(zero trust security)の原則に基づいています。
デフォルトでは、Tailscaleネットワーク(tailnetと呼ばれます)内のデバイス間のすべての接続が拒否され、tailnetポリシーファイル(tailnet policy file)で明示的に許可された場合のみ通信が可能になります。
これにより、許可されたユーザーとデバイスのみが互いに通信でき、アクセスできる具体的なリソースを正確に制御できます。
アクセス制御ポリシーを作成する主な方法には、グラント(Grants)とアクセス制御リスト(ACL: access control lists)の2つがあります。
グラントは推奨される方式であり、より多くの機能を提供します。
ただし、ACLも引き続きサポートされます。
詳細はグラント vs. ACLを参照してください。
Tailscaleのアクセス制御では、リソースを識別するために、さまざまなターゲットとセレクター(targets and selectors)を使用し、これらもtailnetポリシーファイルで定義します。
これには、オートグループ(autogroups)、カスタムグループ、タグ、IPアドレス、個々のユーザーが含まれ、組織の構造に適応する柔軟なポリシーを作成できます。
詳しくは、以下のリソースを参照してください。
グラント(Grants)
グラント(Grants)は、Tailscaleの最新のアクセス制御方式であり、ネットワーク層とアプリケーション層の両方にわたる権限管理のための統一された構文を提供します。
各グラントは、どのソースがどのデスティネーションにアクセスできるかを定義し、ネットワーク層とアプリケーション層の両方で許可される具体的なケイパビリティ(capabilities)も指定します。
グラントに関するドキュメントです。
アクセス制御リスト(ACL)
Tailscaleでは、グラントへの移行を推奨しています。
アクセス制御リスト(ACL: access control lists)は、Tailscaleの元来のネットワーク層セキュリティ方式です。
推奨される方式はグラントの利用ですが、TailscaleはACLも引き続きサポートします。
ACLに関するドキュメントです。
Tailscale SSH
Tailscale SSHは、アクセス制御システムと統合し、tailnet内のデバイス間で安全なSSHアクセスを提供します。
SSHキーを管理する代わりに、Tailscale SSHはtailnetのアイデンティティシステムを利用し、tailnetポリシーファイルで定義されたルールに基づいて接続を認証・認可します。