APIキー

ワークスペースのAPIキーを作成、ローテーション、スコープ設定、保護します。

概要

APIキーはElevenLabs APIへのリクエストを認証し、ワークスペースのクォータに対する使用量を追跡します。キーには2種類あります。

  • ユーザーAPIキーは個々のユーザーに属し、そのユーザーのワークスペースリソースへのアクセス権を継承します。個人開発やスクリプトに適しており、有効期限を設定すれば、指定期間後に自動で機能しなくなります。個人に紐付いているため、そのユーザーのアクセス権が変更された場合やワークスペースを離れた場合、ユーザーAPIキーにも影響します。個人用APIキーの作成にはフルシートが必要です。
  • サービスアカウントAPIキーは個人ではなくサービスアカウントに属するため、個人のメンバーシップ変更にかかわらず機能し続けます。バックエンドシステム、自動化、本番ワークロードに推奨されます。サービスアカウントは複数シートのお客様が利用でき、ワークスペース管理者が管理します。

**APIキーは秘密情報です。**他者と共有したり、クライアントサイドコード(ブラウザー、アプリ)に公開したりしないでください。リクエストでキーを送信する方法については、API認証リファレンスを参照してください。

どちらのキータイプも、いくつかの方法で制限できます。

  1. **スコープ制限:**キーがアクセスできるAPIエンドポイントを制限します。
  2. **クレジットクォータ:**カスタムクレジット上限を設定して使用量を制御します。
  3. **IP許可リスト:**キーを特定のIPアドレスまたはCIDR範囲に制限します。IP許可リストを参照してください。

有効期限付きユーザーAPIキー

ユーザーAPIキーには有効期限を設定でき、指定期間後に自動で機能しなくなります。これにより、漏洩または忘れられたキーが使用される期間を制限でき、個人に紐付くキーの短期的な性質に適しています。

個人用APIキー設定からキーを作成または編集する際に有効期限を設定します。Expire Afterセレクターで15分から30日までのプリセットを選択するか、Never(デフォルト)のままにします。Expires列には各キーの失効日時が表示されます。

キーが有効期限を過ぎると認証できなくなり、そのキーで行われたリクエストは401エラーで拒否されます。失効前であればキーを編集して有効期限を延長または解除できます。それ以外の場合は、新しいキーにローテーションしてください。

有効期限はユーザーAPIキーにのみ適用されます。サービスアカウントAPIキーは長期間使用するバックエンド および本番ワークロード向けであるため、失効しません。

APIキーのローテーション

ローテーション対象のAPIキーを置き換える新しいAPIキーを作成する際は、アクセス権が失われないよう、 古いキーの権限を新しいキーにコピーしてください。サービスアカウントキーの場合は、必ず同じ サービスアカウント用に新しいキーを作成してください。

どちらの場合も、ローテーションは同じ手順です。新しいキーを作成し、アプリケーションを新しいキーに切り替えてから、古いキーを削除します。

ユーザーAPIキーはダッシュボードからローテーションします。個人用APIキー設定を開き、新しいキーを作成して、切り替え後に古いキーを削除してください。

サービスアカウントAPIキーは、ダッシュボードまたはAPIからローテーションできます。

  • ダッシュボードでは、右上のプロフィールアイコンをクリックし、ワークスペース設定を選択して、サービスアカウントタブを開きます。同じサービスアカウント用に新しいキーを作成し、切り替え後に古いキーを削除してください。
  • APIでは、同じサービスアカウント用に新しいキーを作成し、その後古いキーを削除します。

IP許可リスト

APIキーを制限し、特定のIPアドレスまたはCIDR範囲からのみ機能するようにできます。それ以外のIPからのリクエストは403エラーで拒否されます。

サポートされる形式

  • 個別のIPv4アドレス(例:203.0.113.10)
  • 個別のIPv6アドレス(例:2001:db8::1)
  • CIDR範囲(例:203.0.113.0/24)

APIキーごとに1~100件のエントリーを追加できます。CIDR表記のないIPアドレスは、自動的に/32(IPv4)または/128(IPv6)に正規化されます。

プライベートIP範囲(例:10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)は受け付けられません。許可リストに 追加できるのはパブリックIPアドレスのみです。

漏洩したキーの検出

ElevenLabsはGitHubのシークレットスキャンパートナープログラムに参加しています。ElevenLabs APIキーがパブリックGitHubリポジトリにコミットされると、GitHubがElevenLabsに通知し、不正使用を防ぐためキーは自動的に無効化されます。

この方法で無効化されたキーのdisable_reasonはexposed_publiclyになります。アクセスを復元するには、キーをローテーションし、アプリケーションが新しいキーを使用するよう更新してください。

漏洩したキーの自動無効化は、そのキーで第三者による無効化が許可されている場合にのみ適用されます。 キーを無効化できるユーザーの制御を参照してください。

キーを自分で無効化する

キーが侵害された可能性がある場合、キーの保有者はAPIキーを無効化エンドポイントを使用して直接無効化できます。クエリパラメーターapi_key_name=selfを指定して呼び出します。これは、リクエストの認証に使用したキーを無効化する意図があることを明示的に確認するために必要です。

キーを無効化できるユーザーの制御

third_party_disable_allowed設定は、自己無効化エンドポイント経由、またはキーが公開漏洩した際の自動無効化によって、保有者がキーを無効化できるかどうかを制御します。デフォルトでは、エンタープライズ以外のプランでは有効、エンタープライズプランでは無効です。

GitHubのシークレットスキャンによる自動無効化または自己無効化エンドポイントを通じて、第三者によってキーが無効化されると、 ワークスペースオーナーとキーのオーナーに通知メールが送信されます。Web UIで自分でキーを無効化しても、 通知は送信されません。

**キーごと:**サービスアカウントAPIキーを作成または更新する際に、third_party_disable_allowedを設定します。ワークスペースのデフォルトを使用するには省略し、個別キーをワークスペースのデフォルトにリセットするには更新時にclearを渡します。

**ワークスペース全体:**ワークスペース管理者は、ワークスペースの第三者による無効化ポリシーを設定エンドポイントを使用して、すべてのキーの設定を一度に上書きできます。

  • trueでは、ワークスペース内のすべてのキーを保有者が無効化できます。
  • falseでは、すべてのキーで無効化を禁止します。
  • nullでは、ワークスペース全体の上書きを解除し、各キー固有の値とプランのデフォルトが再び適用されます。