APIキーと認証
Telemetry API リクエストはチーム API キーを使用します。キーを運用資格情報のように扱います。名前付きワークロード用にキーを作成し、必要な最小限のスコープを与え、ソース管理の外部に保存し、ワークロードが廃止されたときにキーを取り消します。
開く チーム設定 → API キー キーを作成または管理します。完全な値は資格情報であるため、共有ドキュメントや問題ではなく、ターゲットのシークレット マネージャーにコピーします。
最も狭い範囲を選択する
Telemetry は 3 つのスコープをサポートします。
| 範囲 | 用途: |
|---|---|
read |
クエリ、テーブル検出、スキーマ、および読み取り専用レポート |
write |
イベントの取り込みとサポートされる書き込み操作 |
read-and-write |
データの送信とクエリの両方を行う必要がある信頼できるサーバーまたはオートメーション |
イベントを発行するだけのアプリケーションには通常、 write。レポートジョブには通常、次のものが必要です read。ブラウザ、モバイル アプリケーション、パブリック リポジトリ、またはユーザー作成のスクリプトにチーム キーを与えないでください。
キーを送信します
HTTP エンドポイントはキーを生のキーとして受け入れます Authorization 値またはベアラートークンとして:
curl https://api.telemetry.sh/tables \
-H "Authorization: Bearer $TELEMETRY_API_KEY"
SDK の初期化では、同じ API キーが受け入れられます。サーバー側コードで初期化を維持し、環境変数またはシークレット マネージャー ルックアップを使用します。
import telemetry from "telemetry-sh";
telemetry.init(process.env.TELEMETRY_API_KEY);
次のようなパブリックなビルド時プレフィックスを使用しないでください。 NEXT_PUBLIC_ または、キーをクライアント構成にシリアル化します。
ワークロードごとにキーを分ける
実稼働環境の取り込み、ステージング、スケジュールされたレポート、およびコーディング エージェントのセットアップには個別のキーを使用します。ワークロード固有のキーにより、ローテーションとインシデント対応が小さくなります。1 つのレポート キーを取り消しても、イベントの取り込みが中断されることはありません。
キーには、その所有者と目的にちなんで名前を付けます。キーの値自体を記録せずに、キーがデプロイされる場所、そのスコープ、および予想されるローテーション所有者を記録します。
安全に回転および取り消し
まず置換キーを作成し、それをワークロードにデプロイし、リクエストが成功したことを確認してから、以前のキーを取り消します。 次のキーをローテーションするときは、取り込みとクエリの両方の経路をテストしてください: read-and-write 鍵。
キーがコミット、ログ、スクリーンショット、プロンプト、またはパブリック クライアント バンドルに表示される場合は、侵害されたものとして扱います。すぐに取り消して置き換え、影響を受けるチーム テーブルとクエリ アクティビティを確認してください。
続けて、 ログ API, クエリ API、そして 機密データに関するガイダンス.