API キーとアプリケーションキー

API キー

API キーは組織に固有で、Datadog Agent でメトリクスとイベントを Datadog に送信するには、API キーが必要です。

アプリケーションキー

組織の API キーと組み合わせてアプリケーションキーを使用すると、ユーザーは Datadog のプログラム API に完全にアクセスできます。アプリケーションキーは、これを作成したユーザーアカウントに関連付けられており、デフォルトで作成したユーザーのアクセス許可とスコープを備えています。

スコープ

アプリケーションキーの認可スコープは、非公開ベータ版の機能です。アプリケーションキーのスコープを有効にするには、Datadog サポートにお問い合わせください。

アプリケーションの保護と安全性を高めるために、アプリケーションキーに認可スコープを指定して、より細かい権限を定義し、アプリケーションが Datadog のデータにアクセスできる範囲を最小化することが可能です。これにより、アプリケーションに対するきめ細かなアクセス制御が可能になり、余計なアクセスを制限することでセキュリティの脆弱性を最小限に抑えることができます。例えば、ダッシュボードを読むだけのアプリケーションには、ユーザーを管理したり、組織のデータを削除したりするための管理者権限は必要ありません。

アプリケーションキーのスコープに関する推奨されるベストプラクティスは、アプリケーションが意図したとおりに機能するために必要な最小限の特権と最小限の権限をキーに与えることです。スコープされたアプリケーションキーには、ユーザーが指定したスコープのみが与えられ、それ以外の追加的な許可は与えられません。アプリケーションキーの認可スコープはいつでも変更できますが、 その変更がアプリケーションの既存の機能やアクセスにどのような影響を及ぼすかを考慮してください。

注:

  • アプリケーションキーの作成または編集の権限を持つユーザーまたはサービスアカウントは、アプリケーションキーのスコープを行うことができます。ユーザーは自分のアプリケーションキーをスコープするためには user_app_keys 権限、または自分の組織内の任意のユーザーが所有するアプリケーションキーをスコープするためには org_app_keys_write 権限が必要です。サービスアカウントのアプリケーションキーをスコープするには、service_account_write 権限が必要です。
  • アプリケーションの所有者は、必要な権限が不足している場合、自分が持っていない認可スコープでアプリケーションキーをスコープしても、アプリケーションを認可することができません。
  • アプリケーションキーの書き込みやアプリケーションの認可時に権限が不足していることによるエラーは、403 Forbidden エラーを表示します。様々なエラーレスポンスについての詳細は、Datadog API のドキュメントを参照してください。
  • ユーザーのロールや権限が変更されても、アプリケーションキーに指定された認可スコープは変更されません。

クライアントトークン

セキュリティ上の理由から、API キーを使用してブラウザーからデータを送信することはできません。JavaScript キーでクライアント側に公開されるためです。その代わり、Webブラウザやその他のクライアントは、クライアントトークンを使用して Datadog にデータを送信します。

以下の例を含む、いくつかのタイプのクライアントが、クライアントトークンを必要とするデータを送信します。

クライアントトークンは、組織に固有のものです。クライアントトークンを管理するには、Organization Settings に移動し、Client Tokens タブをクリックします。

注: クライアントトークンを作成したユーザーが非アクティブ化されても、クライアントトークンはアクティブなままです。

API キーまたはクライアントトークンを追加する

Datadog API キーまたはクライアントトークンを追加するには

  1. オーガニゼーション設定に移動し、API keys または Client Tokens タブをクリックします。
  2. 作成するものに応じて、New Key (新しいキー) または New Client Token (新しいクライアントトークン) ボタンをクリックします。
  3. キーまたはトークンの名前を入力します。
  4. Create API key (API キーの作成) または Create Client Token (クライアントトークンの作成) をクリックします。

注:

  • 組織には、少なくとも最低 1 つ、最大 50 の API キーが必要です。
  • キー名は、オーガニゼーション全体で一意である必要があります。

API キーまたはクライアントトークンを削除する

Datadog API キーまたはクライアントトークンを削除するには、キーまたはトークンのリストに移動し、削除するキーまたはトークンの横にある Revoke のあるごみ箱アイコンをクリックします。

アプリケーションキーを追加する

Datadog アプリケーションキーを追加するには、Organization Settings > Application Keys に移動します。アプリケーションキーを作成するためのアクセス許可がある場合は、New Key をクリックします。

注:

  • アプリケーションキー名を空白にすることはできません。

アプリケーションキーを削除する

Datadog アプリケーションキーを削除するには、Organization Settings > Application Keys に移動します。アプリケーションキーを作成、管理するためのアクセス許可がある場合は、自分のキーを表示して、取り消すキーの横にある Revoke をクリックできます。すべての組織アプリケーションキーを管理するアクセス許可がある場合は、取り消すキーを検索して、その横にある Revoke をクリックできます。

アプリケーションキーのスコープ

アプリケーションキーの認可スコープを指定するには、Datadog API にリクエストして、アプリケーションキーを作成または編集してください。スコープは、現在のユーザーまたはサービスアカウントが所有するアプリケーションキーに対して指定することができます。このフィールドが指定されていない場合、アプリケーションキーはデフォルトで、作成したユーザーと同じスコープと権限をすべて持っています。

注:

  • スコープ名の大文字と小文字は区別されます。

複数の API キーの使用

組織に複数の API キーを設定することを検討します。たとえば、デプロイ方法ごとに異なる API キーを使用します(たとえば、AWS の Kubernetes に Agent をデプロイする用、Chef を使用してオンプレミスでデプロイする用、ダッシュボードやモニターを自動化する Terraform スクリプト用、ローカルでデプロイする開発者用など)。

複数の API キーを使用することで、セキュリティ対策の一環としてキーをローテーションしたり、特定のキーが誤って公開された場合やそのキーに関連づけられたサービスを停止したい場合に取り消すことができます。

API キーが定められた上限の 50 を超えて必要な場合は、上限の引き上げについてサポートチームまでお問い合わせください。

ユーザーアカウントの無効化

ユーザーのアカウントが無効になった場合、ユーザーが作成したアプリケーションキーはすべて取り消されます。無効なアカウントによって作成された API キーは削除されず、引き続き有効です。

キーの転送

セキュリティ上の理由により、Datadog は API/アプリケーションキーをユーザー間で転送しません。推奨されるベストプラクティスは、API/アプリケーションキーをトレースし、ユーザーが退職した後にそれらのキーをローテーションすることです。こうすると、退職したユーザーがアカウントおよび Datadog の API にアクセスできなくなります。API/アプリケーションキーを転送した場合、退職したユーザーは引き続き Datadog API からデータを送受信できます。API/アプリケーションキーが関連付けられているハンドルを変更することを求められるお客様もいますが、依然として、退職したユーザーが引き続き Datadog API からデータの送受信をすることができるという固有の問題を解決するものではありません。

また、API/アプリケーションキーを所有するために「サービスアカウント」を検討することも選択肢の一つです。「サービスアカウント」を使用して API キーを所有することが理にかなうケースもありますが、これは誰もがアクセス可能な共有アカウント以上のものであることを充分ご理解ください。「サービスアカウント」の使用を計画している場合は、最小権限の原則を適用した上で、サービスアカウントの認証情報を安全に保管(パスワードマネージャーの使用など)することが重要です。サービスアカウントの認証情報の偶発的な漏洩を防ぐため、アクセス権は少人数に制限すること、理想的にはアカウントの維持をする必要のあるユーザーのみに限定する必要があります。

API キーやアプリケーションキーが流出した場合の対処法

プライベートキーが漏洩したり、一般に公開された場合、アカウントのセキュリティを確保するために、できるだけ早く措置を講じる必要があります。GitHub などの公開サイトからキーの入ったファイルを削除しても、それがすでに他の者によってアクセスされていないことを保証するものではありません

以下の手順で、アカウントを保護してください。

注: 有効なキーを無効にすると、サービスに影響を与える可能性があります。使用範囲が広い場合や未確定の場合は、対象となるキーを無効にする前に、手順 2~5 の検討をお願いします。

  1. 影響を受けるキーを無効にします。
  2. 一般にアクセス可能なファイルから、プライベートキーを含むコードを削除します。
    • サニタイズしたファイルを公開リポジトリに公開します。
    • コミット履歴から機密データを削除します。
  3. 新しいキーを作成します。
  4. 影響を受けるサービスを新しいキーで更新します。
  5. 未承認のアクセスがないか、アカウントを確認します。
    • 最近追加されたユーザー
    • 新しいリソース
    • ロールまたは権限の変更

異常な行動が確認された場合、またはアカウントの安全確保にさらに支援が必要な場合は、Datadog サポートに連絡してください。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。