メインコンテンツへスキップ

APIキー認証

すべてのAPIリクエストには、Bearerスキームを使用してAuthorizationヘッダーで有効なAPIキーを送信する必要があります:
Authorization: Bearer your-omniakey-api-key

完全な例

curl https://omniakey.com/v1/chat/completions \
  -H "Authorization: Bearer your-omniakey-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [{"role": "user", "content": "こんにちは!"}]
  }'

SDKを使用する場合

OpenAI互換SDKを使用する場合、クライアント初期化時にAPIキーを渡してください:
from openai import OpenAI

client = OpenAI(
    api_key="your-omniakey-api-key",   # またはOPENAI_API_KEY環境変数を設定
    base_url="https://omniakey.com/v1"
)

環境変数を使用する場合

APIキーはハードコードせず、環境変数に保存することをお勧めします:
export OMNIAKEY_API_KEY="your-omniakey-api-key"
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["OMNIAKEY_API_KEY"],
    base_url="https://omniakey.com/v1"
)

APIキーの管理

ConsoleからAPIキーの作成、表示、取り消しができます。
  • 複数のキーを作成 — 異なる環境用(開発、ステージング、本番)
  • キーごとに利用制限を設定 — コストを管理
  • 即座にキーを取り消し — 万が一侵害された場合

エラーレスポンス

認証に失敗した場合、APIは401 Unauthorizedエラーを返します:
{
  "error": {
    "message": "Invalid API key provided.",
    "type": "authentication_error",
    "code": "invalid_api_key"
  }
}
一般的な原因:
  • Authorizationヘッダーが不足しているか、形式が正しくない
  • APIキーが期限切れまたは取り消されている
  • APIキーに十分な権限がない

セキュリティベストプラクティス

1

フロントエンドコードでAPIキーを公開しない

常にバックエンドサーバーからAPIを呼び出してください。クライアントサイドJavaScript、モバイルアプリ、公開リポジトリにAPIキーを含めないでください。
2

環境変数を使用する

APIキーは環境変数またはシークレットマネージャー(AWS Secrets Manager、HashiCorp Vaultなど)に保存してください。バージョン管理にキーをコミットしないでください。
3

定期的にキーをローテーションする

定期的に新しいAPIキーを生成し、古いものを取り消してください。これにより、キーが誤って公開された場合の影響を制限できます。
4

環境ごとに異なるキーを使用する

開発、ステージング、本番用に異なるAPIキーを作成してください。これにより、開発キーを取り消しても本番に影響しません。
5

使用量を監視する

Consoleで定期的にAPI使用量を確認し、異常なアクティビティを検出してください。