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

推奨されるセキュリティ設定

1
API 呼び出しはバックエンドのみに限定するすべての Connect AI Embed APIリクエストをバックエンドサーバー経由でルーティングしてください。 クライアントサイドのコードから直接 CData を呼び出さないでください。また、JWT 秘密鍵やその他のシークレットをフロントエンドに公開しないでください。
2
REST API アクセスには有効期限の短いJWT を使用する理想的には、リクエストあたり 3 分以内とし、絶対的な上限は 1 時間とします。可能な場合はリクエストごとにトークンを再生成してください。特に機密性の高い操作では必ず行ってください。
3
機密情報を安全に保管するJWT 秘密鍵、API キー、およびデータソースの認証情報を、セキュアなボールト、シークレットマネージャー、または環境変数システムに保存してください。 アプリケーションコードにシークレットをハードコードしたり、ソース管理にコミットしたりしないでください。
4
すべての入力を検証する接続ID、ビュー名、クエリパラメータ、およびその他のユーザー入力は、 CData に送信する前に検証してください。すべての入力を信頼できないものとして扱い、特にLLMが動的にリクエストを構築するエージェント型ワークフローでは注意が必要です。
5
エラーをサニタイズするCData APIの生のエラーや内部スタックトレースをエンドユーザーに表示しないでください。それらをユーザーフレンドリーなメッセージに変換し、詳細な診断情報はサーバーログに記録してください。
6
アプリ内でのツールアクセスを制御するMCPを使用する場合は、どのフローが読み取り専用で、どのフローが書き込みを実行できるかを定義してください。オーケストレーション層でツールへのアクセスを制御し、予期しないツールの使用や異常なクエリパターンを監視してください。
7
アプリケーション層でログを記録するConnect AI Embedはプラットフォームログを提供しますが、ユーザーレベルの帰属情報はアプリケーションが管理します。アプリケーションログと CData ログを照合することで、誰が、いつ、どのテナントから何を行ったかを特定できるようにしてください。

導入準備チェックリスト

デプロイ前

  • 接続を予定しているデータソースを文書化する。
  • 各ソースの機密性を分類する。
  • POC(概念実証)またはトライアルで有効にする AI 機能を定義する。
  • どのワークフローに読み取り専用アクセスが必要で、どのワークフローに読み書きアクセスが必要かを決定する。
  • アプリケーションの ID および認証モデルを設計する。
  • ログの保存期間とレビュー手順を定義する。

JWT および API の設定

  • 署名キーを安全な保管庫または環境変数に保存する。
  • フロントエンドのコードやリポジトリに機密情報が公開されていないことを確認する。
  • 可能な限り、目標 TTL を 3 分とする短命な JWT を使用する。
  • 機密性の高いアクションについては、リクエストごと、または少数のリクエストのバッチごとに新しい JWT を生成する。

アプリケーション内のアクセス制御

  • AI機能にアクセスできるユーザーを制限する。
  • 各ユーザーがどの顧客またはテナントに属するかを定義する。
  • 読み取りおよび書き込みアクションについて、機能ごとのルールを適用する。
  • すべての接続ID、ビュー名、およびクエリパラメータを検証する。
  • クライアントに返されるすべてのエラーメッセージをサニタイズする。

MCPおよびツールの使用

  • MCPワークフローを読み取り専用にするか、読み取り/書き込み可能にするかを決定する。
  • エージェントオーケストレーション層でツールへのアクセスを制御する。
  • 実行前にプロンプトとパラメータを検証する。
  • ツールの使用状況を監視し、異常や予期しない動作がないか確認する。

継続的な運用

  • CData のログおよびアプリケーションのログを定期的に確認する。
  • JWT署名キーやその他のシークレットをスケジュールに従ってローテーションする。
  • 不要な書き込みアクセス権限を削除する。
  • CData のセキュリティ更新情報およびEmbedのドキュメントを常に最新の状態に保つ。