概要
HTTP ヘッダーの詳細とリクエストの例については、/ja/api/rest/authenticationを参照してください。
認証モード
開発モード (デフォルト)
- API キーは不要
- すべてのリクエストが受け入れられる
- ローカルテストと開発に便利
プロダクションモード
- すべてのリクエストに API キーが必要
- 無効なキーは 401 Unauthorized を返す
- キーごとにレート制限が適用される
API キー形式
Shannon はプレフィックス付きの API キーを使用します:API キーの作成
コマンドライン経由
API 経由
レート制限
Shannon は固定ウィンドウカウンターを使用して API キーごとにレート制限を適用します:デフォルトの制限
トークン予算と同時タスク制限は、オーケストレーターによってワークフローのレベルで適用され、ゲートウェイ層では適用されません。
レート制限ヘッダー
レスポンスには現在のウィンドウ制限が含まれます。429 の場合、Retry-After が設定されます:
レート制限超過
レート制限を超えた場合:レート制限の処理
指数バックオフを実装します:マルチテナンシー
Shannon はテナントの分離を伴うマルチテナントデプロイメントをサポートしています:テナント ID
リクエストにテナント ID を含めます:テナントの分離
各テナントには:- 分離されたセッションストレージ
- 共有 Qdrant コレクション内のペイロードフィルター (
tenant_id) によるテナントごとの分離 - 独立した予算追跡
- 専用のメトリクス
OPA ポリシーの適用
Shannon は Open Policy Agent を使用して、きめ細かなアクセス制御を行います:ポリシー構造
ポリシーモード
config/shannon.yaml で設定します:
enforce: ポリシーに違反するリクエストを拒否dry-run: 違反をログに記録するがリクエストを許可off: ポリシー適用を無効にする
例: モデルの制限
セキュリティベストプラクティス
1. 定期的にキーをローテーションする
2. 環境変数を使用する
3. 本番環境でHTTPSを有効にする
4. APIキーの使用状況を監視する
Prometheusメトリクスで使用状況を追跡:5. IPホワイトリストを実装する
トラブルシューティング
403 Forbidden
403 Forbidden
原因: 有効なAPIキーだが権限が不十分(OPAポリシー)解決策: OPAポリシーログを確認:
429 Rate Limited
429 Rate Limited
原因: レート制限を超過解決策: 指数バックオフを用いたリトライロジックを実装:
APIキーが機能しない
APIキーが機能しない
原因: キーが期限切れまたは無効化されている可能性解決策: 新しいテストキーを作成:
次のステップ
タスクを送信
認証を使用してタスクを送信する方法を学ぶ
レート制限
レート制限とクォータを理解する
Python SDK
自動認証のためにSDKを使用する
REST APIリファレンス
完全なREST APIドキュメント