Tailscaleロゴ

キーとシークレットの管理

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

tailnetのリソースへ安全にアクセスするために、複数の種類のキーとシークレットを設定できます。
tailnetのセキュリティ全般については、tailnetを保護するためのベストプラクティス(英語)を参照してください。

キーとシークレットのベストプラクティス

キーの接頭辞

Tailscaleのキーには、その種類を識別するための接頭辞が含まれます。
たとえばtskey-apiはAPIアクセストークンを、tskey-authは認証キーを表します。
接頭辞の一覧については、Key prefixes(英語)を参照してください。

キーとシークレットの種類

APIアクセストークン

APIアクセストークンは、アプリケーションがTailscale APIを通じてtailnetにアクセスするための権限を付与します。
生成と失効は、管理コンソールのKeysページにあるAPI access tokensセクションで行います。
生成は「Generate access token」、失効は該当トークンの「Revoke」で実行します。

Tailscaleのキーは、すべて大文字と小文字を区別します。

認証キー

認証キー(Auth Key)は、対話的なSSOセッションの代わりに、タグ付けされたデバイスを認証するために使います。
生成と失効は、管理コンソールのKeysページで管理します。
詳細は、認証キーを参照してください。

OAuthクライアント

OAuthクライアントは、Tailscale APIへのアクセス権限を委譲し、そのスコープを限定するために使います。
OAuthクライアントは、管理コンソールのTrust credentialsページで管理します。
設定方法についてはSetting up an OAuth client(英語)を、失効方法についてはRevoke a trust credential(英語)を参照してください。

SCIM APIキー

SCIM APIキーは、ユーザーとグループのプロビジョニングのために、IDプロバイダとtailnetの間の認証に使います。
現在、Microsoft Entra IDとOktaに対応しています。
SCIM APIキーは期限切れにならず、tailnet全体で1つのキーのみを保持します。

SCIM APIキーは、管理コンソールのUser managementページで管理します。
このセクションは、ユーザーとグループのプロビジョニングが有効な場合にのみ表示されます。

IDプロバイダ側の設定手順については、Microsoft Entra IDのプロビジョニング設定(英語)、またはOktaのプロビジョニング設定(英語)を参照してください。
機能の概要については、User & group provisioning(英語)を参照してください。

Webhookシークレット

Webhookシークレットは、Webhookのリクエストが、権限を持つtailnetのユーザーから送信されたものであることを保証するために使います。
tailnetのイベントを購読し、SlackやDiscord、Mattermostなどへ送信する用途で利用します。
Webhookエンドポイントのシークレットは期限切れになりません。

Webhookは、管理コンソールのWebhooksページで管理します。
エンドポイントを削除すると、そのシークレットも削除されます。
作成・削除・ローテーションの手順については、Webhooks(英語)を参照してください。

ログとイベントの活用

キーやシークレットの状態変化は、管理コンソールのLogsページで監視できます。
たとえば、新しいAPIアクセストークンや認証キーを作成すると、「Create API key」のイベントが記録されます。
Webhookを設定すれば、キーの状態変化を自動的に通知させることもできます。

記録されるイベントの詳細については、構成監査ログを参照してください。

キーの有効期限

APIアクセストークン、認証キー、OAuthのキーには有効期限があり、生成時に設定できます。
一方、SCIM APIキーとWebhookエンドポイントのシークレットは期限切れになりません。
キーの種類ごとに有効期限を把握し、期限切れによる停止が起きないよう、事前に払い出し計画を立ててください。

詳細については、Key expiry(英語)を参照してください。

シークレット漏洩スキャン

キーの意図しない漏洩による影響を軽減し、不正利用を防ぐため、Tailscaleは複数の企業と提携し、ソースコードリポジトリやデータソースに漏洩したキーをスキャンしています。
詳細は、公開されたTailscaleシークレットのスキャンを参照してください。

ユーザーのオフボーディング

キーとシークレットの管理は、退職・異動などに伴う対応の一部にすぎません。
ユーザーやデバイスの削除に関する考慮事項については、Offboarding users(英語)を参照してください。

原文:Key and secret management(Tailscale公式ドキュメント)