Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon 特定のIPアドレスまたはドメインへのOpenAI APIキーアクセスを制限するにはどうすればよいですか


特定のIPアドレスまたはドメインへのOpenAI APIキーアクセスを制限するにはどうすればよいですか


Openaiは現在、特定のIPアドレスまたはドメインへのAPIキーアクセスを直接制限するための組み込み機能を提供していません。これは、OpenAIプラットフォーム自体内で、特定のIPSまたはWebドメインからのリクエストのみを受け入れるようにAPIキーを構成することができないことを意味します。

IPおよびドメインの制限に関する公式スタンス

OpenAIのAPIキーシステムは、APIへのアクセスを提供するベアラートークンであるキーを発行することにより機能します。これらのキーは秘密に保たれ、安全に使用されることを目的としていますが、重要な使用法のためにIPアドレスまたはドメインをホワイトリストにするための直接的な方法はありません。 APIキー認証は、クライアントのIDまたはネットワークの場所に基づいて、ドメインの制限またはトークン発行をネイティブにサポートしていません。これにより、どの起源またはサーバーがAPIキーを使用してリクエストを実行できるかを直接制御するため、APIキーは、誰かがキーを持っているIPまたはドメインから効果的に有効です。

APIキー使用を確保するための一般的なプラクティスと推奨事項

OpenaiはAPIキーにIPまたはドメインの制限を提供していないため、開発者は通常、ARCITECTURALおよび運用戦略を使用してAPIキーを保護し、使用法を制限します。

- バックエンドサーバープロキシを使用する:クライアント側アプリケーション(ブラウザなど)からOpenAI APIを直接呼び出す代わりに、すべてのAPI要求を制御するバックエンドサーバーを介してチャンネルします。これにより、次のことができます。

-APIキー使用量を自分のバックエンドに制限します。
-APIキーの秘密を保ち、クライアント側から離します。
- 独自のバックエンドでIPホワイトリストなどのサーバー側のアクセスコントロールを実装します。
- 使用をログと監視して、乱用を検出します。

-APIキーの回転と監視:APIキーを定期的に回転させ、使用パターンを監視します。異常なアクティビティまたは漏れが検出された場合は、すぐに侵害されたキーを取り消し、新しいキーを生成します。

- レートの制限とリクエストスロットリング:バックエンドにレート制限を適用して、特定のタイムウィンドウで1人のユーザーまたはIPが行うことができるリクエストの数を制限します。これは、キーが漏れている場合、または意図しない方法で使用される場合、乱用を軽減するのに役立ちます。

- アプリで認証と承認を使用:アプリケーションにユーザー認証を実装して、認定ユーザーのみがAPIリクエストを行うことができるようにします。これにより、APIキー自体を超えて制御層が追加されます。

-ProxyサーバーまたはBastionホスト:一部の開発者は、クライアントとOpenai APIの間の仲介者として機能する安全なBastionネットワークまたはAPIプロキシサーバーをセットアップします。 APIキーを使用してリクエストを転送する前に、IPフィルタリングを含む追加の制御レイヤーを追加します。

###コミュニティフィードバックと既知の制限

- Openaiコミュニティフォーラムでの複数の議論は、Openaiから直接Openai APIキーのIPホワイトリストまたはドメイン制限に対する現在のサポートがないことを確認しています。公式およびコミュニティの回答からの短い答えは、特定のIPアドレスまたはドメインにAPIキーを制限できるかどうかを尋ねられたときの「いいえ」です。

- 一部のユーザーは、IPホワイトリストとレート制限を実施するために独自のプロキシレイヤーまたはバックエンドサービスを実装していますが、これはOpenAIのネイティブAPIキー管理の外です。

- APIのキーの乱用の問題は、クライアント側のコードまたは公開可能な環境でキーが公開されている場合にしばしば発生します。一般的なアドバイスは、主要なクライアント側の露出を避け、サーバー側のコントロールを使用することです。

-OpenAIは、キーが使用できるモデルを制御できるようにするいくつかの許可管理を提供しますが、使用制限にアクセスまたは設定しますが、これらはネットワークまたは起源の制限にまで及びません。

###潜在的な将来の開発

Openaiには、特定のアプリやサービスへのドメイン制限やバインディングキーを含むAPIキーに詳細な制御を追加することについて、コミュニティのフィードバックで議論されている計画または提案がありますが、現在のところ、これらの機能は実装されていません。

API使用量を保護するための代替アプローチ

- インフラストラクチャを介してIP AllowListing:OpenAIを呼び出すバックエンドサービスを呼び出すことができる人、独自のインフラストラクチャまたはクラウドプロバイダーファイアウォールでIP Allowlistsを設定することができる場合(たとえば、特定のIPSからバックエンドへの呼び出しのみを承認します)。

- カスタム認証を介した短命のトークン:短命でスコープされたトークンをクライアントに発行する独自のトークンサーバーを実装し、OpenAI API呼び出しを行う前にバックエンドを検証します。このようにして、粒状レベルでクライアントアクセスを制御します。

- クライアント固有のAPIキー管理:組織内のさまざまなクライアントまたはサービスの複数のAPIキーを生成するため、妥協が発生した場合に個々のキーをすばやく取り消すことができ、ブラスト半径が減少します。

###プロキシとIPの制限で保護する例(概念)

1.クライアントアプリは、リクエストをバックエンドサーバーに送信します。
2。バックエンドサーバーは、クライアントを認証します(IP、トークン、ユーザーログインなど)。
3.バックエンドサーバーは、APIキーを使用してOpenAI APIを呼び出します(クライアントにさらすことはありません)。
4.バックエンドサーバーは、乱用のためにレートの制限、ログの使用、およびモニターを強制します。
5.オプションで、バックエンドインフラストラクチャ(ファイアウォール、ロードバランサー)は、どのIPがバックエンドに接続できるかを制限します。

###潜在的なキーリークの処理

キーが漏れている場合:

- Openaiダッシュボードから妥協したキーをすぐに削除または無効にします。
- 新しいキーを発行し、バックエンドを更新して使用します。
- キーがコントロールをどのように漏らして強化したかを調査します(例:フロントエンドコードにキーを埋め込んだことはありません)。

### まとめ

-openaiは、IPアドレスまたはドメインによるAPIキー使用の制限を直接サポートしていません。
- キーをバックエンドサーバーに保持し、クライアントに公開しないようにして、キーを固定します。
- バックエンドまたはプロキシインフラストラクチャにネットワークレベルのコントロールを実装します。
- アプリケーションレベルの認証とレート制限を使用して、虐待を減らします。
- 定期的にキーを回転および監視します。
- 追加のセキュリティレイヤーには、プロキシサーバーまたはBastionアーキテクチャを使用します。
- 今後の主要な制限機能については、OpenAIの発表を最新の状態に保ちます。

このアプローチは、ネイティブIPまたはドメインの制限がないにもかかわらず、OpenAI APIキーで現在可能な最良の実用的なセキュリティを保証します。重要な焦点は、建築のセキュリティ、運用慣行、および主要な管理です。

これらのポイントは、2025年現在の最新のコミュニティフィードバックと公式情報に基づいて、IPSおよびドメインに関するOpenAI APIキーアクセスの制御に関する最先端をカバーしています。