> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livingsecurity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# APIキー

> Living Security Public API へのリクエストを認証する資格情報の作成、ローテーション、失効の方法について説明します。

APIキーは、`/v1` Public API へのリクエストを認証します。すべてのキーは[サービスアカウント](/ja/developers/developer-hub/service-accounts)に属し、そのアカウントの詳細ページから[Developer Hub](/ja/developers/developer-hub/overview)で作成します。

シークレットを安全に保管およびローテーションすることが要件を満たす場合は、プライベートなバックエンド連携にスコープ付きAPIキーを使用してください。OAuthクライアントやトークン交換は不要です。組織で有効期間の短いOAuthアクセストークンが必要な場合は、[認証](/ja/developers/v1/authentication)を参照してください。

## キーの構成要素

* **識別子** — `ak_` で始まります。チケット、ログ、設定で参照しても安全です。識別子単体では何も許可されません。
* **シークレット** — `lsk_live_` で始まります。連携が提示する資格情報です。シークレットは作成時またはローテーション時に**一度だけ**表示され、後から取得することはできません。キー一覧には末尾4文字のみ(例: `lsk_live_…xQc4`)が表示されるため、行と呼び出し元が保持している資格情報を照合できます。
* **権限** — 所有元のサービスアカウントの権限のサブセットで、作成時に選択します。キーがアカウントで許可されている範囲を超える操作を行うことはできません。
* **有効期限** — 必須です。すべてのキーに有効期限があります。

<Warning>
  シークレットは、表示されたらすぐにシークレットマネージャーに保管してください。バージョン管理システムにコミットしたり、クライアントサイドのコードに埋め込んだり、チャットで共有したりしないでください。シークレットを保持している人は誰でも、そのキーの権限で操作を実行できます。
</Warning>

## キーを作成する

サービスアカウントの詳細ページで、次の4つのステップに沿ってキーを作成します。名前を付け、このキーに必要な権限を選択し、有効期限(30日、90日、365日、または最長1年までのカスタム期間)を選択して、内容を確認します。完了するとシークレットが一度だけ表示されます。

アカウントでより多くの権限が許可されている場合でも、各キーのスコープは、呼び出し元が必要とする最小限の権限セットに絞ってください。キーが漏えいした場合、そのキーの権限が被害の範囲となります。

## ダウンタイムなしでローテーションする

ローテーションを行うと新しいシークレットが発行され、重複期間(1時間、24時間、または7日間)が開始されます。この期間中は**古いシークレットも引き続き使用できます**。これにより、ご自身のペースで新しいシークレットを各デプロイメントに展開できます。

<Steps>
  <Step title="キーをローテーションする">
    最も時間のかかるデプロイ経路をカバーできる重複期間を選択します。新しいシークレットは一度だけ表示されるため、すぐに保管してください。
  </Step>

  <Step title="連携を更新する">
    古いシークレットが設定されているすべての場所で置き換えます。重複期間が終了するまで、キーのステータスには重複期間中であることが表示されます。
  </Step>

  <Step title="期間が終了する前に確認する">
    [リクエストログ](/ja/developers/developer-hub/request-logs)を使用して、トラフィックが新しいシークレットに移行したことを確認します。重複期間が終了すると、古いシークレットでは認証できなくなります。
  </Step>
</Steps>

有効期限の前にもローテーションを行ってください。有効期限が近づいているキーは、キー一覧で期限切れ間近として表示されます。期限切れのキーは認証されなくなり、そのキーで行ったリクエストにはコード[`credential_expired`](/ja/developers/v1/errors/credential_expired)の `401` が返されます。

## 即時に失効する

失効は即時に有効となり、元に戻せません。重複期間はなく、取り消しもできません。シークレットが漏えいした可能性があると判断した時点で、ただちにキーを失効してください。正常な資格情報を置き換える場合は、代わりにローテーションを使用してください。

失効したキーで行ったリクエストには、コード[`credential_revoked`](/ja/developers/v1/errors/credential_revoked)の `401` が返されます。連携が保持するすべてのキーを一度に停止する必要がある場合は、代わりにそのサービスアカウントを無効にしてください。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.