ドキュメントAPI リファレンス認証
認証
3 種類の認証ヘッダーと認証関連のエラー。
すべてのデータプレーンリクエスト(/v1/* と /v1beta/*)には API キーが必要です。3 社の SDK と互換にするため、ゲートウェイは以下の順で 3 種類の認証ヘッダーを確認します。いずれか 1 つで認証できます:
| ヘッダー | 形式 | 代表的なクライアント |
|---|---|---|
Authorization | Authorization: Bearer sk-sole-…(Bearer プレフィックスなしのキー単体も可) | OpenAI SDK · Codex |
x-api-key | x-api-key: sk-sole-… | Anthropic SDK · Claude Code |
x-goog-api-key | x-goog-api-key: sk-sole-… | Google GenAI SDK |
URL クエリパラメータ(Google 公式の ?key= など)でのキー指定はサポートしていません。クエリ文字列はアクセスログやブラウザ履歴に残り、漏えいリスクが高いためです。必ずヘッダーで指定してください。
認証関連のエラー
| 状況 | HTTP | メッセージ id |
|---|---|---|
| キー未指定 | 401 | key_missing |
| キーが存在しないか削除済み | 401 | key_invalid |
| キーが無効化されている | 403 | key_disabled |
| キーの有効期限切れ | 403 | key_expired |
| 送信元 IP が許可リスト外 | 403 | key_ip_denied |
| キーの利用上限に到達 | 402 | key_quota_exhausted |
| アカウントが停止されている | 403 | account_disabled |
エラーレスポンスの形式はリクエストパスに対応する SDK の形式になり、メッセージはアカウントの言語設定(認証前は Accept-Language、既定は英語)にローカライズされます。詳細はエラーコードを参照。
セキュリティのベストプラクティス
- キーは環境変数またはシークレットマネージャーに保存し、ソースコードや設定リポジトリに書かないでください。
- ブラウザなどクライアント側コードにキーを埋め込まないでください。フロントエンドから直接呼ぶ必要がある場合は、小さな上限と IP 許可リストを付けた専用キーを使います。
- 用途ごとにキーを分けると、利用の分離と事故時の影響範囲の限定(該当キーだけ無効化)ができます。
- キーは定期的にローテーションし、一時的な用途には有効期限と利用上限を設定してください。