AI サービスのセキュリティを評価する

完了

このユニットでは、Azure Open AI をセキュリティで保護するための Well Architected フレームワークの推奨事項の概要について説明します

詳細については、「Azure OpenAI Service に関する Azure Well-Architected フレームワークの観点」を参照してください

セキュリティの柱の目的は、ワークロードに機密性、整合性、可用性の保証を提供することです。

セキュリティ設計原則は、Azure OpenAI を中心とした技術設計にアプローチを適用することで、これらの目標を達成するための高度な設計戦略を提供します。

設計チェック リスト

セキュリティの設計レビュー チェックリストに基づいて設計戦略を開始し、セキュリティ態勢を改善するための脆弱性と管理策を特定します。 次に、Azure OpenAI の Azure セキュリティ ベースラインを確認します。 最後に、必要に応じて、より多くのアプローチを含めるように戦略を拡張します。

  • 機密性を保護する:トレーニング データを Azure OpenAI にアップロードする場合は、データ暗号化にカスタマー マネージド キーを使用し、キー ローテーション戦略を実装して、トレーニング、検証、トレーニング結果のデータを削除します。 トレーニング データに外部データ ストアを使用する場合は、そのストアのセキュリティのベスト プラクティスに従ってください。 たとえば、Azure Blob Storage の場合、暗号化にカスタマー マネージド キーを使用し、キー ローテーション戦略を実装します。 マネージド ID ベースのアクセスを使用し、プライベート エンドポイントを使ってネットワーク境界を実装し、アクセス ログを有効にします。

  • 機密性を保護する:Azure OpenAI リソースがアクセスできる送信 URL を制限することで、データ流出から保護します。

  • 整合性を保護する:最小特権の原則を使用し、キーではなく個人の ID を使用して、システムへのユーザー アクセスを認証および認可するためのアクセス制御を実装します。

  • 整合性を保護する:ジェイルブレイク リスク検出を実装して、言語モデルのデプロイをプロンプト インジェクション攻撃から保護します。

  • 可用性を保護する:セキュリティ管理策を使用して、モデルの使用量クォータを使い果たす可能性のある攻撃を防ぎます。 ネットワーク上のサービスを分離するように管理策を構成することもできます。 インターネットからサービスにアクセスできる必要がある場合は、ゲートウェイを使用して、ルーティングまたはスロットリングの使用により乱用の疑いをブロックすることを検討してください。

推奨事項

推奨事項 特長
キーをセキュリティで保護する:アーキテクチャで Azure OpenAI キーベースの認証が必要な場合は、それらのキーをアプリケーション コードではなく Azure Key Vault に保存します。 シークレットを Key Vault に格納してコードから分離すると、シークレットが漏洩する可能性が低くなります。 また、分離によりシークレットの一元管理が容易になり、キーのローテーションなどの責任が軽減されます。
アクセスを制限する:ワークロードで必要な場合を除き、Azure OpenAI へのパブリック アクセスを無効にします。 Azure 仮想ネットワーク内のコンシューマーから接続する場合は、プライベート エンドポイントを作成します。 Azure OpenAI へのアクセスを制御すると、承認されていないユーザーからの攻撃を防ぐことができます。 プライベート エンドポイントを使用すると、アプリケーションとプラットフォーム間のネットワーク トラフィックが非公開に保たれます。
Microsoft Entra ID:Microsoft Entra ID を認証に使用し、ロールベースのアクセス制御 (RBAC) を使って Azure OpenAI へのアクセスを認可します。 Azure AI サービスでローカル認証を無効にし、disableLocalAuthtrue に設定します。 補完または画像生成を実行する ID に、Cognitive Services OpenAI ユーザー ロールを付与します。 モデル自動化パイプラインとアドホック データ サイエンスのアクセスに、Cognitive Services OpenAI 共同作成者などのロールを付与します。 Microsoft Entra ID を使用すると、ID 管理コンポーネントが一元化され、API キーの使用が不要になります。 Microsoft Entra ID で RBAC を使用すると、ユーザーまたはグループがジョブを実行するために必要なアクセス許可を正しく持つことができます。 Azure OpenAI API キーでは、この種のきめ細かいアクセス制御はできません。
カスタマー マネージド キーを使用する:Azure OpenAI にアップロードされる微調整されたモデルとトレーニング データには、カスタマー マネージド キーを使用します。 カスタマー マネージド キーを使用すると、アクセス制御の作成、ローテーション、無効化、取り消しをより柔軟に行うことができます。
脱獄の攻撃から保護する:Azure AI Content Safety Studio を使用して脱獄のリスクを検出します。 脱獄の試みを検出し、Azure OpenAI デプロイの安全メカニズムをバイパスしようとするプロンプトを特定してブロックします。