Skip to main content

概要

HTTP ヘッダーの詳細とリクエストの例については、/ja/api/rest/authenticationを参照してください。
Shannon は、オーケストレーションプラットフォームへのアクセスを保護するために API キー認証をサポートしています。認証は デフォルトで無効 になっており、ローカル開発を容易にし、プロダクションデプロイメントでは有効にできます。

認証モード

開発モード (デフォルト)

開発モードでは:
  • API キーは不要
  • すべてのリクエストが受け入れられる
  • ローカルテストと開発に便利

プロダクションモード

プロダクションモードでは:
  • すべてのリクエストに API キーが必要
  • 無効なキーは 401 Unauthorized を返す
  • キーごとにレート制限が適用される

API キー形式

Shannon はプレフィックス付きの API キーを使用します:
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ホワイトリストを実装する

トラブルシューティング

原因: APIキーが欠落または無効解決策:
原因: 有効なAPIキーだが権限が不十分(OPAポリシー)解決策: OPAポリシーログを確認:
原因: レート制限を超過解決策: 指数バックオフを用いたリトライロジックを実装:
原因: キーが期限切れまたは無効化されている可能性解決策: 新しいテストキーを作成:

次のステップ

タスクを送信

認証を使用してタスクを送信する方法を学ぶ

レート制限

レート制限とクォータを理解する

Python SDK

自動認証のためにSDKを使用する

REST APIリファレンス

完全なREST APIドキュメント