Skip to main content
Developer Hub でサービスアカウントと API キーを作成し、最初のリクエストを送信します。このクイックスタートでは API キー認証を使用するため、OAuth クライアントは必要ありません。連携で有効期間の短い OAuth アクセストークンが必要な場合は、認証を参照してください。

前提条件

  • Living Security ダッシュボードへの管理者アクセス権。
  • 設定 → Integrations & Developers → Developer Hub に Developer Hub が表示されていること。

認証情報の作成

1

サービスアカウントを作成する

Developer Hub で Service accounts タブを開き、アカウントを作成します。わかりやすい名前(例: reporting-pipeline)を付け、そのキーで使用できる権限を付与します。このガイドでは organization:read で十分です。アカウントの権限は、そのアカウントの下で作成されるすべてのキーの上限となります。キーがサービスアカウントで許可されている範囲を超える操作を行うことはできません。
2

API キーを作成する

サービスアカウントの詳細ページを開き、キーを作成します。このキーに必要な権限(アカウントの権限の一部)と有効期限を選択します。有効期限は 30 日、90 日、365 日、またはカスタム期間から選択できます。有効期限の設定は必須です。キーのシークレットは lsk_live_ で始まり、一度だけ表示されます。すぐにシークレットマネージャーにコピーしてください。後から取得することはできません。
API キーのシークレットをバージョン管理にコミットしたり、クライアント側のコードに埋め込んだりしないでください。シークレットを保持している人は誰でも、そのキーの権限で操作を実行できます。
3

リージョンを選択する

組織のデータレジデンシーに一致するリージョンの /v1 ホストを呼び出します。キーは、そのホストでのみ認証されます。どのホストを使用すべきかわからない場合は、リージョンを参照してください。有効なキーを別のリージョンに送信すると、unauthorized として失敗します。ホストを切り替えるには、下のサンプルにあるリージョンのドロップダウンを使用してください。
4

最初のリクエストを送信する

LIVING_SECURITY_API_KEY をシークレットマネージャーから、リクエストを実行するプロセスの環境に読み込みます。以下の例では、ソースコードにシークレットを埋め込まずに読み取ります。Python の場合は、先に requests をインストールしてください。シークレットを HTTP Basic 認証のパスワードフィールドまたはユーザー名フィールドに指定して API を呼び出します。どちらでも機能するため、両方のフィールドの入力が必要なクライアント(Power BI の Web コネクタなど)では、もう一方のフィールドに apikey のようなプレースホルダーを指定できます。
成功すると、次のように組織情報が返されます。
Response
このレスポンスが返された場合、認証情報は有効です。このリクエストは、Developer Hub の Request logs タブにもまもなく表示されます。
同じシークレットを使用した Bearer 認証(Authorization: Bearer lsk_live_...)も使用できます。Basic 認証は、Power BI の Web コネクタのように、ユーザー名とパスワードのみに対応するツールから接続できるようにするために用意されています。

認証の仕組み

  • 認証情報によって組織が決まります。 /v1 のリクエストにはテナントを指定する要素がなく、組織のパスセグメントも組織ヘッダーもありません。x-organization-id ヘッダーを送信すると、invalid_request で拒否されます。ホストは、その組織のリージョンと一致している必要があります。リージョンを参照してください。
  • 権限は操作ごとに確認されます。 各 /v1 操作には、指定された権限が必要です(例: GET /v1/organization には organization:read が必要です)。権限のないキーには、コード insufficient_permission の 403 が返されます。
  • キーには有効期限があり、ダウンタイムなしでローテーションできます。 重複期間を設けたローテーションについては、API キーを参照してください。

エラーレスポンスの読み方

すべての /v1 エラーは、安定したマシンコードを持つ application/problem+json(RFC 9457)です。たとえば、認証情報がない、または不明なリクエストでは、次のレスポンスが返されます。
401 Unauthorized
処理の分岐には code を使用し、detail は使用しないでください。解決手順は doc_url に従い、サポートに問い合わせる際は request_id を含めてください。これは Request-Id レスポンスヘッダーおよび Developer Hub のリクエストログと一致します。すべてのコードはエラーリファレンスに掲載されています。

コントラクトバージョン

すべてのレスポンスでは、処理に使用されたコントラクトバージョンが Living-Security-Version ヘッダーに返され、相関用の Request-Id ヘッダーも併せて返されます。 日付を指定して、リクエストを公開済みのコントラクトバージョンに固定できます。
バージョンは次の順序で解決されます。リクエストヘッダーがある場合はそれが優先され、ない場合はサービスアカウントに固定されたデフォルト、それもない場合は公開されている最新バージョンが使用されます。公開されていない(または提供終了日を過ぎた)バージョンを指定すると、コード unsupported_version の 400 が返されます。公開済みのバージョンとその変更内容は、API 変更履歴に記載されています。

最初のリクエストのトラブルシューティング

その他のエラーについては、レスポンスの doc_url に従ってください。サポート用に Request-Id を保管してください。サポートチケットには、Authorization ヘッダーや API キーを含めないでください。

次のステップ

リージョン

組織に合わせて、US または EU の /v1 ホストを選択します。

ページネーション

page_token とリストエンベロープを使用して、リストを順に取得します。

レート制限

リクエストの予算を理解し、429 レスポンスを処理します。

エラーリファレンス

すべてのエラーコード、その HTTP ステータス、および解決方法を確認できます。

Developer Hub

サービスアカウント、API キー、リクエストログを管理します。