このドキュメント(Well-Architected Framework: AI と ML の視点)では、AI と ML のデプロイが組織のセキュリティとコンプライアンスの要件を満たすようにするための原則と推奨事項の概要について説明します。このドキュメントの推奨事項は、 Google Cloud Well-Architected Framework のセキュリティの柱に沿っています。
AI ワークロードと ML ワークロードの安全なデプロイは、特に企業環境において重要な要件です。この要件を満たすには、AI と ML ソリューションの初期コンセプトから、開発、デプロイ、継続的な運用に至るまで、包括的なセキュリティ アプローチを採用する必要があります。 Google Cloud は、AI と ML のワークロードの保護に役立つように設計された堅牢なツールとサービスを提供します。
このドキュメントの推奨事項は、次の基本原則にマッピングされています。
- 明確な目標と要件を定義する
- データを安全に保ち、損失や不正使用を防止する
- AI パイプラインの安全性を確保し、改ざんに対して堅牢性を維持する
- 安全なツールとアーティファクトを使用して安全なシステムにデプロイする
- 入力を検証して保護する
- 出力のモニタリング、評価、対応の準備
AI セキュリティの詳細については、次のリソースもご覧ください。
- Google Cloudのセキュア AI フレームワーク(SAIF)は、安全で責任ある AI システムを構築するための包括的なガイドを提供します。このドキュメントでは、AI ライフサイクル全体を通してセキュリティとコンプライアンスに関する考慮事項に対処するための重要な原則とベスト プラクティスについて説明します。
- AI における信頼性に対する Google Cloudのアプローチについて詳しくは、コンプライアンス リソース センターをご覧ください。
明確な目標と要件を定義する
効果的な AI と ML のセキュリティは、包括的なビジネス戦略の核となるコンポーネントです。必要なセキュリティとコンプライアンスのコントロールは、開発後に追加するよりも、設計と開発プロセスの早い段階で統合するほうが簡単です。
設計と開発のプロセスの開始から、特定のリスク環境と特定のビジネスの優先事項に適した決定を行います。たとえば、過度に制限的なセキュリティ対策はデータを保護する一方で、イノベーションを妨げ、開発サイクルを遅らせる可能性があります。ただし、セキュリティが不十分だと、データ侵害、評判の低下、経済的損失につながり、ビジネス目標の達成に悪影響を及ぼす可能性があります。
明確な目標と要件を定義するには、次の推奨事項を検討してください。
AI と ML のセキュリティをビジネス目標に合わせる
AI と ML のセキュリティ対策をビジネス目標と整合させるには、AI ライフサイクルのあらゆる段階にセキュリティを統合する戦略的アプローチを使用します。この方法を使用するには、次の手順を行います。
明確なビジネス目標とセキュリティ要件を定義する:
- 主要なビジネス目標を特定する: AI と ML の取り組みで達成する明確なビジネス目標を定義します。たとえば、カスタマー エクスペリエンスの向上、運用の最適化、新商品の開発などが目標になる可能性があります。
- 目標をセキュリティ要件に変換する: ビジネス目標を明確にしたら、その目標をサポートするための具体的なセキュリティ要件を定義します。たとえば、AI を使用して顧客向けのおすすめをパーソナライズするという目標があるとします。この目標を達成するために、セキュリティ要件として、顧客データのプライバシーを保護し、レコメンデーション アルゴリズムへの不正アクセスを防ぐことが考えられます。
セキュリティとビジネスニーズのバランスを取る:
- リスク評価を実施する: AI システムの潜在的なセキュリティ脅威と脆弱性を特定します。
- セキュリティ対策の優先順位付け: セキュリティ対策の優先順位は、ビジネス目標に与える潜在的な影響に基づいて決定します。
- 費用とメリットを分析する: 最も効果的なソリューションに投資します。さまざまなセキュリティ対策の費用とメリットを検討します。
- セキュリティのシフトレフト: 設計フェーズの早い段階でセキュリティのベスト プラクティスを実装し、ビジネスニーズの変化や脅威の出現に応じて安全対策を適応させます。
潜在的な攻撃ベクトルとリスクを特定する
データ汚染、モデル反転、敵対的攻撃など、AI システムに影響を与える可能性のある攻撃ベクトルを検討します。AI システムの開発に伴い、進化する攻撃対象領域を継続的にモニタリングして評価し、新たな脅威と脆弱性を把握します。AI システムの変更によって、攻撃対象領域も変更される可能性があることに注意してください。
潜在的な法的リスクと評判リスクを軽減するには、データ プライバシー、アルゴリズムのバイアス、その他の関連する規制に関連するコンプライアンス要件にも対応する必要があります。
潜在的な脅威と脆弱性を早期に予測し、リスクを軽減する設計を選択するには、安全性を重視した設計アプローチを採用します。
Google Cloud は、安全性を重視した設計アプローチの実装に役立つ包括的なツールとサービスのスイートを提供します。
- クラウド ポスチャー管理: Security Command Center を使用して、AI インフラストラクチャ内の潜在的な脆弱性と構成ミスを特定します。
- 攻撃の発生可能性スコアと攻撃パス: Security Command Center が生成する攻撃の発生可能性スコアと攻撃パスを調整して使用します。
- Google Threat Intelligence: AI システムを標的とする新たな脅威や攻撃手法に関する最新情報を把握します。
- ロギングとモニタリング: AI システムのパフォーマンスとセキュリティを追跡し、異常や不審なアクティビティを検出します。定期的にセキュリティ監査を実施して、AI インフラストラクチャとモデルの潜在的な脆弱性を特定して対処します。
- 脆弱性管理: AI システムのセキュリティ上の脆弱性を追跡して修復するための脆弱性管理プロセスを実装します。
詳細については、Google の Secure by Design と Secure by Design を実装するをご覧ください。
データを安全に保ち、損失や不正使用を防止する
データは貴重で機密性の高い資産であり、安全に保つ必要があります。データ セキュリティは、ユーザーの信頼を維持して、ビジネス目標をサポートし、コンプライアンス要件を満たすのに役立ちます。
データを安全に保護するため、次の推奨事項を検討してください。
データ最小化の原則を遵守する
データのプライバシーを確保するため、データ最小化の原則を遵守してください。データを最小限に抑えるため、ビジネス目標に厳密に必要でないデータは収集、保持、使用しないでください。可能であれば、合成データまたは完全に匿名化されたデータを使用してください。
データ収集はビジネスの分析情報と分析に役立ちますが、データ収集プロセスでは慎重な判断が不可欠です。お客様の個人情報(PII)を収集したり、機密情報を公開したり、バイアスや論争を生み出したりすると、バイアスのかかった ML モデルを構築する可能性があります。
Google Cloud 機能を使用すると、さまざまなユースケースでデータ最小化とデータ プライバシーを改善できます。
- データの有用性を維持しながら匿名化するには、仮名化、匿名化、バケット化などの一般化などの変換方法を適用します。これらのメソッドを実装するには、Sensitive Data Protection を使用します。
- データを拡充し、潜在的なバイアスを軽減するには、Vertex AI データ ラベリング ジョブを使用します。データラベル付けプロセスでは、生データに有益で意味のあるタグを追加し、ML モデルの構造化されたトレーニング データに変換します。データラベル付けにより、データの具体性が増し、曖昧さが軽減されます。
- リソースが長期間アクセスされたり、操作されたりするのを防ぐには、Cloud Storage の機能を使用してデータ ライフサイクルを制御します。
データ暗号化の実装方法に関するベスト プラクティスについては、Well-Architected Framework の保存データと転送データの暗号化をご覧ください。
データの収集、保存、変換をモニタリングする
AI アプリケーションのトレーニング データは、バイアスやデータ漏洩が発生するリスクが最も高いものです。コンプライアンスを維持し、さまざまなチーム間でデータを管理するには、データフロー、変換、アクセスをモニタリングするデータ ガバナンス レイヤを確立します。データアクセスと操作アクティビティのログを保持します。ログは、データアクセスの監査、不正アクセスの試みの検出、不要なアクセスの防止に役立ちます。
Google Cloud 機能を使用すると、データ ガバナンス戦略の実装に役立ちます。
- 組織全体または部門全体のデータガバナンス プラットフォームを確立するには、Dataplex Universal Catalog を使用します。データ ガバナンス プラットフォームを使用すると、データ プラットフォーム全体でデータと AI アーティファクトを一元的に検出、管理、モニタリング、統制できます。データ ガバナンス プラットフォームは、信頼できるユーザーへのアクセスも提供します。Dataplex Universal Catalog では、次のタスクを実行できます。
- データリネージを管理します。BigQuery は、列レベルの系統も提供できます。
- データ品質チェックとデータ プロファイルを管理します。
- さまざまなデータマートにわたって、データの検出、探索、処理を管理します。
- 特徴メタデータとモデル アーティファクトを管理します。
- ビジネス用語集を作成して、メタデータを管理し、標準化された用語集を確立します。
- アスペクトとアスペクト タイプを使用して、コンテキストでメタデータを拡充します。
- BigLake と Iceberg や Delta などのオープン フォーマット テーブル全体でデータ ガバナンスを統合します。
- データメッシュを構築して、異なるチームまたはドメインのデータオーナー間でデータの所有権を分散します。このプラクティスはデータ セキュリティの原則に準拠しており、データのアクセシビリティと運用効率の向上に役立ちます。
- BigQuery から Dataplex Universal Catalog に機密データの検査結果を送信します。
- ガバナンスが徹底された統合オープン lakehouse を構築するには、データレイクとデータ ウェアハウスを Dataproc Metastore や BigLake metastore などのマネージド メタストア サービスと統合します。オープン レイクハウスでは、さまざまなデータ処理エンジンと互換性のあるオープン テーブル形式が使用されます。
- 特徴と特徴グループのモニタリングをスケジュールするには、Vertex AI Feature Store を使用します。
- 組織、フォルダ、プロジェクト レベルで Vertex AI データセットをスキャンするには、Vertex AI の機密データ検出を使用します。BigQuery に保存されているデータ プロファイルを分析することもできます。
- リアルタイム ログをキャプチャし、データ パイプラインに関連する指標を収集するには、Cloud Logging と Cloud Monitoring を使用します。API 呼び出しの監査証跡を収集するには、Cloud Audit Logs を使用します。PII や機密データをテストや別のログサーバーに記録しないでください。
最小権限の原則に基づいてロールベース アクセス制御を実装する
ロールベース アクセス制御(RBAC)を実装して、ユーザーロールに基づいてさまざまなレベルのアクセス権を割り当てます。ユーザーには、ロール アクティビティの実行に必要な最小限の権限のみを付与する必要があります。最小権限の原則に基づいて権限を割り当て、ユーザーが必要なアクセス権(アクセスなし、読み取り専用、書き込みなど)のみを持つようにします。
組織がデータレイク、特徴ストア、モデル トレーニングのハイパーパラメータに存在する機密データを使用する場合、最小権限の RBAC はセキュリティにとって重要です。このプラクティスは、データ窃盗の防止、モデルの完全性の維持、事故や攻撃の対象領域の制限に役立ちます。
これらのアクセス戦略の実装を支援するために、次のGoogle Cloud 機能を使用できます。
アクセス粒度を実装するには、次のオプションを検討してください。
- さまざまなプロダクトの IAM ロールをユーザー、グループ、サービス アカウントにマッピングして、きめ細かいアクセスを許可します。これらのロールは、プロジェクトのニーズ、アクセス パターン、タグに基づいてマッピングします。
- 条件付きの IAM ポリシーを設定して、コード、リソース設定、ハイパーパラメータなどのデータ、モデル、モデル構成へのきめ細かいアクセスを管理します。
監査してチーム外で共有する機密データを保護するのに役立つ、アプリケーション レベルのきめ細かいアクセスについて説明します。
- Cloud Storage: バケットとマネージド フォルダに IAM ポリシーを設定します。
- BigQuery: データセットとデータセット内のリソースに IAM のロールと権限を使用します。また、BigQuery の行レベルと列レベルでアクセスを制限します。
特定のリソースへのアクセスを制限するには、プリンシパル アクセス境界(PAB)ポリシーを使用します。Privileged Access Manager を使用して、特定のプリンシパルに対するジャストインタイムの一時的な権限昇格を制御することもできます。後で、この Privileged Access Manager アクティビティの監査ログを表示できます。
IP アドレスとエンドユーザーのデバイス属性に基づいてリソースへのアクセスを制限するには、Identity-Aware Proxy(IAP)アクセス ポリシーを拡張します。
さまざまなユーザー グループのアクセス パターンを作成するには、IAM を使用した Vertex AI のアクセス制御を使用して、事前定義ロールまたはカスタムロールを組み合わせます。
コンテキストアウェア アクセス制御を使用して Vertex AI Workbench インスタンスを保護するには、Access Context Manager と Chrome Enterprise Premium を使用します。このアプローチでは、ユーザーがインスタンスに対して認証されるたびにアクセスが評価されます。
データ移動のセキュリティ対策を実装する
安全な境界と、暗号化やデータ移動の制限などの対策を実装します。これらの対策は、データの引き出しとデータ損失の防止に役立ちます。データの引き出しとデータ損失は、経済的な損失、風評被害、法的責任、ビジネス オペレーションの中断を引き起こす可能性があります。
Google Cloudでのデータの引き出しと損失を防ぐには、セキュリティ ツールとサービスを組み合わせて使用します。
暗号化を実装するには、次の点を考慮してください。
- 暗号鍵をより細かく制御するには、Cloud KMS で顧客管理の暗号鍵(CMEK)を使用します。CMEK を使用すると、次の CMEK 統合サービスが保存データを暗号化します。
- Cloud Storage のデータを保護するには、サーバーサイド暗号化を使用して CMEK を保存します。独自のサーバーで CMEK を管理している場合、サーバーサイド暗号化は、CMEK ストレージ システムが侵害された場合でも、CMEK と関連データを保護するのに役立ちます。
- 転送中のデータを暗号化するには、AI サービスと ML サービスに対するすべての API 呼び出しに HTTPS を使用します。アプリケーションと API に HTTPS を適用するには、HTTPS ロードバランサを使用します。
データの暗号化に関するベスト プラクティスについては、Well-Architected Framework のセキュリティの柱にある保存データと転送データの暗号化をご覧ください。
境界を実装するには、次の点を考慮してください。
- AI / ML リソースの周囲にセキュリティ境界を作成し、Virtual Private Cloud(VPC)からのデータ漏洩を防ぐには、VPC Service Controls を使用してサービス境界を定義します。AI / ML リソースと機密データを境界内に含めます。データフローを制御するには、境界の上り(内向き)ルールと下り(外向き)ルールを構成します。
- AI リソースと ML リソースへのインバウンド トラフィックとアウトバウンド トラフィックを制限するには、ファイアウォール ルールを構成します。デフォルトですべてのトラフィックを拒否し、条件を満たすトラフィックのみを明示的に許可するポリシーを実装します。ポリシーの例については、例: 特定のポートへの接続を除き、すべての外部接続を拒否するをご覧ください。
データ移動の制限を実装するには、次の点を考慮してください。
- データを共有し、安全な環境でプライバシーの境界を越えてスケーリングするには、堅牢なセキュリティとプライバシーのフレームワークを提供する BigQuery Sharing と BigQuery データ クリーンルームを使用します。
- ビジネス インテリジェンス ダッシュボードから組み込みの宛先にデータを直接共有するには、安全なクラウド環境を提供する Looker Action Hub を使用します。
データ汚染を防ぐ
データ ポイズニングは、攻撃者がトレーニング データセットに悪意のあるデータを挿入して、モデルの動作を操作したり、パフォーマンスを低下させたりするサイバー攻撃の一種です。このサイバー攻撃は、ML トレーニング システムにとって深刻な脅威となる可能性があります。データの有効性と品質を保護するため、データを保護する対策を維持します。このアプローチは、モデルの一貫したバイアスなし、信頼性、完全性を確保するために不可欠です。
一貫性のない動作、変換、データへの予期しないアクセスを追跡するには、データ パイプラインと ML パイプラインの包括的なモニタリングとアラートを設定します。
Google Cloud 機能を使用すると、データポイズニングに対する保護を強化できます。
データの整合性を検証するには、次の点を考慮してください。
- トレーニングにデータを使用する前に、堅牢なデータ検証チェックを実装します。データ形式、範囲、分布を確認します。Dataplex Universal Catalog の自動データ品質機能を使用できます。
- Sensitive Data Protection と Model Armor を使用して、包括的なデータ損失防止機能を活用します。詳細については、Model Armor の基本的なコンセプトをご覧ください。Model Armor を使用した Sensitive Data Protection を使用すると、知的財産などの機密データを検出、分類、保護できます。これらの機能は、LLM のインタラクションで機密データが不正に公開されるのを防ぐのに役立ちます。
- データ ポイズニングを示す可能性のあるトレーニング データの異常を検出するには、統計的手法または ML モデルを使用して BigQuery の異常検出を使用します。
堅牢なトレーニングの準備を行うには、次の操作を行います。
- アンサンブル メソッドを使用して、有害なデータポイントの影響を軽減します。ハイパーパラメータ チューニングを使用して、データのさまざまなサブセットで複数のモデルをトレーニングします。
- データ拡張手法を使用して、データセット間のデータの分布を調整します。このアプローチにより、データポイズニングの影響を軽減し、敵対的サンプルを追加できます。
トレーニング データまたはモデル出力に人間によるレビューを組み込むには、次の操作を行います。
- モデルの評価指標を分析して、データ汚染を示す可能性のあるバイアス、異常、予期しない動作を検出します。詳細については、Vertex AI でのモデル評価をご覧ください。
- ドメインの専門知識を活用して、モデルやアプリケーションを評価し、自動化された方法では検出されない可能性のある不審なパターンやデータポイントを特定します。詳細については、Gen AI Evaluation Service の概要をご覧ください。
インフラストラクチャとデータ セキュリティに重点を置いたデータ プラットフォームを作成する方法に関するベスト プラクティスについては、Well-Architected Framework の設計によるセキュリティの実装の原則をご覧ください。
AI パイプラインの安全性を確保し、改ざんに対して堅牢性を維持する
AI コードと ML コード、コード定義パイプラインは重要なアセットです。保護されていないコードは改ざんされる可能性があり、データ漏洩、コンプライアンス違反、重要なビジネス アクティビティの中断につながる可能性があります。AI コードと ML コードを安全に保つことは、モデルとモデル出力の完全性と価値を確保するのに役立ちます。
AI コードとパイプラインのセキュリティを維持するには、次の推奨事項を検討してください。
安全なコーディング手法を使用する
脆弱性を防ぐには、モデルの開発時に安全なコーディング手法を使用します。AI 固有の入力と出力の検証を実装し、すべてのソフトウェア依存関係を管理し、セキュア コーディングの原則を開発に一貫して組み込むことをおすすめします。データの前処理から最終的なアプリケーション コードまで、AI ライフサイクルのあらゆる段階にセキュリティを組み込みます。
厳密な検証を実装するには、次の点を考慮してください。
モデルの操作やシステム エクスプロイトを防ぐため、コード内の入力と出力を検証してサニタイズします。
- Model Armor またはファインチューニングされた LLM を使用して、一般的なリスクについてプロンプトとレスポンスを自動的にスクリーニングします。
- データ型、形式、範囲について、データ取り込みスクリプトと前処理スクリプト内でデータ検証を実装します。Vertex AI Pipelines または BigQuery の場合は、Python を使用してこのデータ検証を実装できます。
- CodeMender などのコーディング アシスタント LLM エージェントを使用して、コードのセキュリティを強化します。人間が関与して、提案された変更を検証します。
AI モデル API エンドポイントを管理して保護するには、Apigee を使用します。これには、リクエストの検証、トラフィック制御、認証などの構成可能な機能が含まれています。
AI ライフサイクル全体のリスクを軽減するために、AI Protection を使用して次の操作を行うことができます。
- 環境内の AI インベントリを検出します。
- インベントリを評価して、潜在的な脆弱性を特定します。
- 制御、ポリシー、保護によって AI アセットを保護します。
- 検出、調査、対応の機能を使用して AI システムを管理します。
CI/CD パイプラインのコードとアーティファクトの依存関係を保護するには、次の点を考慮してください。
- オープンソース ライブラリの依存関係がプロジェクトに導入する可能性のあるリスクに対処するには、Artifact Registry で Artifact Analysis を使用して、既知の脆弱性を検出します。承認済みのバージョンのライブラリを使用し、維持します。カスタム ML パッケージと審査済みの依存関係を非公開の Artifact Registry リポジトリに保存します。
- 依存関係スキャンを Cloud Build MLOps パイプラインに埋め込むには、Binary Authorization を使用します。コードのコンテナ イメージがセキュリティ チェックに合格した場合にのみデプロイを許可するポリシーを適用します。
- ソフトウェア サプライ チェーンに関するセキュリティ情報を取得するには、 Google Cloud コンソールのダッシュボードを使用します。このダッシュボードには、ソース、ビルド、アーティファクト、デプロイ、ランタイムに関する詳細情報が表示されます。この情報には、ビルド アーティファクト、ビルドの来歴、ソフトウェア部品構成表(SBOM)の依存関係リストの脆弱性が含まれます。
- ソフトウェア サプライ チェーンのセキュリティの成熟度を評価するには、ソフトウェア アーティファクトのサプライチェーン レベル(SLSA)のフレームワークを使用します。
開発のあらゆる段階で安全なコーディングの原則を一貫して組み込むには、次の点を考慮してください。
- モデルのインタラクションから機密データが公開されるのを防ぐには、Sensitive Data Protection を使用したロギングを使用します。これらのプロダクトを組み合わせて使用すると、AI アプリケーションとパイプライン コンポーネントがログに記録するデータを制御し、機密データを非表示にできます。
- 最小権限の原則を実装するには、Vertex AI カスタムジョブ、パイプライン、デプロイされたモデルに使用するサービス アカウントに、必要な最小限の IAM 権限のみが付与されていることを確認します。詳細については、最小権限の原則を使用してロールベースのアクセス制御を実装するをご覧ください。
- パイプラインとビルド アーティファクトを保護するには、コードが実行される環境のセキュリティ構成(VPC と VPC Service Controls)を理解します。
パイプラインとモデル アーティファクトを不正アクセスから保護する
モデル アーティファクトとパイプラインは知的財産であり、トレーニング データにも専有情報が含まれています。モデルの重み、ファイル、デプロイ構成を改ざんや脆弱性から保護するには、セキュリティが強化された状態でこれらのアーティファクトを保存してアクセスします。ユーザーのロールとニーズに基づいて、アーティファクトごとに異なるアクセスレベルを実装します。
モデル アーティファクトを保護するには、次の点を考慮してください。
- モデル アーティファクトやその他の機密性の高いファイルを保護するには、Cloud KMS で暗号化します。この暗号化により、基盤となるストレージが侵害された場合でも、保存データと転送中のデータを保護できます。
- ファイルへのアクセスを保護するには、Cloud Storage にファイルを保存し、アクセス制御を構成します。
- 誤った構成や不十分な構成、定義した標準からの逸脱を追跡するには、Security Command Center を使用してセキュリティ ポスチャーを構成します。
- きめ細かいアクセス制御と保存時の暗号化を有効にするには、モデル アーティファクトを Vertex AI Model Registry に保存します。セキュリティを強化するには、承認済みのビルドプロセスで生成されたパッケージとコンテナのデジタル署名を作成します。
- Google Cloudのエンタープライズ グレードのセキュリティを利用するには、Model Garden で利用可能なモデルを使用します。Model Garden には Google のプロプライエタリ モデルが用意されており、注目のパートナーのサードパーティ モデルも提供されています。
すべてのユーザーとグループのライフサイクルの中央管理を適用し、最小権限の原則を適用するには、IAM を使用します。
- MLOps パイプライン用に、最小権限の専用サービス アカウントを作成して使用します。たとえば、トレーニング パイプラインのサービス アカウントには、特定の Cloud Storage バケットからデータを読み取り、モデル アーティファクトを Model Registry に書き込む権限が付与されています。
- IAM Conditions を使用して、条件付きの属性ベースのアクセス制御を適用します。たとえば、条件を使用すると、リクエストが信頼できる Cloud Build トリガーから送信された場合にのみ、サービス アカウントが Vertex AI パイプラインをトリガーできます。
デプロイ パイプラインを保護するには、次の点を考慮してください。
Google Cloud サービスとリソースで MLOps ステージを管理するには、他のサービスと統合して低レベルのアクセス制御を提供できる Vertex AI Pipelines を使用します。パイプラインを再実行する場合は、モデル アーティファクトをデプロイする前に、Vertex Explainable AI と責任ある AI のチェックを実行してください。これらのチェックは、次のセキュリティ問題の検出や防止に役立ちます。
- 不正な変更。モデルの改ざんを示している可能性があります。
- クロスサイト スクリプティング(XSS)。コンテナ イメージまたは依存関係が侵害されている可能性があります。
- 安全でないエンドポイント。サービング インフラストラクチャの構成が適切でないことを示している可能性があります。
推論中のモデルのインタラクションを保護するには、事前構築済みコンテナまたはカスタム コンテナで Private Service Connect に基づくプライベート エンドポイントを使用します。事前定義された入力スキーマと出力スキーマを使用してモデル署名を作成します。
コード変更の追跡を自動化するには、ソースコード管理に Git を使用し、バージョン管理を堅牢な CI/CD パイプラインと統合します。
詳細については、AI パイプラインの保護をご覧ください。
リネージとトラッキングを適用する
規制コンプライアンス要件を満たすために、AI アセットと ML アセットのリネージとトラッキングを適用します。データ リネージとトラッキングは、データ、モデル、コードの広範な変更レコードを提供します。モデルのプロビナンスにより、AI と ML のライフサイクル全体で透明性と説明責任が確保されます。
Google Cloudで系統と追跡を効果的に適用するには、次のツールとサービスを検討してください。
- 保存時に自動的に暗号化されるモデル、データセット、アーティファクトのリネージを追跡するには、Vertex ML Metadata を使用します。データソース、変換、モデル パラメータ、テスト結果に関するメタデータをログに記録します。
- Vertex AI Pipelines からパイプライン アーティファクトのリネージを追跡し、モデルとデータセットのリソースを検索するには、Dataplex Universal Catalog を使用します。デバッグ、トラブルシューティング、根本原因分析を行う場合は、個々のパイプライン アーティファクトを追跡します。パイプライン アーティファクトのリネージを含む MLOps パイプライン全体を追跡するには、Vertex ML Metadata を使用します。Vertex ML Metadata を使用すると、リソースと実行を分析することもできます。Model Registry は、保存した各モデルのバージョンを適用して管理します。
- API 呼び出しと管理アクションを追跡するには、Vertex AI の監査ログを有効にします。ログ分析で監査ログを分析して、データとモデルにアクセスまたは変更したユーザーと日時を把握します。サードパーティの宛先にログを転送することもできます。
安全なツールとアーティファクトを使用して安全なシステムにデプロイする
コードとモデルが安全な環境で実行されるようにします。この環境には、堅牢なアクセス制御システムがあり、デプロイするツールとアーティファクトのセキュリティが保証されている必要があります。
安全なシステムにコードをデプロイするには、次の推奨事項を検討してください。
安全な環境でモデルをトレーニングしてデプロイする
AI システムと ML システムのシステムの完全性、機密性、可用性を維持するには、不正なリソース操作を防ぐ厳格なアクセス制御を実装します。この防御により、次のことが可能になります。
- 予期しない結果や競合する結果が生じる可能性のあるモデルの改ざんを軽減します。
- トレーニング データをプライバシー侵害から保護します。
- サービスの稼働時間を維持する。
- 法令遵守を維持する。
- ユーザーの信頼を築く。
セキュリティが強化された環境で ML モデルをトレーニングするには、 Google Cloud の Cloud Run、GKE、Dataproc などのマネージド サービスを使用します。Vertex AI サーバーレス トレーニングを使用することもできます。
このセクションでは、トレーニング環境とデプロイ環境のセキュリティをさらに強化するための推奨事項について説明します。
環境と境界を保護するには、次の点を考慮してください。
前述のように、セキュリティ対策を実装する場合は、次の点を考慮してください。
- トレーニング環境を分離してアクセスを制限するには、トレーニングに専用のプロジェクトまたは VPC を使用します。
- 実行中に機密データとコードを保護するには、トレーニング ワークロードに Shielded VMs または Confidential Computing を使用します。
- ネットワーク インフラストラクチャを保護し、デプロイされたモデルへのアクセスを制御するには、VPC、ファイアウォール、セキュリティ境界を使用します。
Vertex AI トレーニングを使用する場合は、次の方法でコンピューティング インフラストラクチャを保護できます。
- 他の承認済み Google Cloud サービスと非公開で通信し、公共のトラフィックに公開されないカスタム ジョブをトレーニングするには、Private Service Connect インターフェースを設定します。
- ネットワーク セキュリティを強化し、パブリック IP アドレスを使用する場合よりもネットワーク レイテンシを短縮するには、プライベート IP アドレスを使用してトレーニング ジョブに接続します。詳細については、カスタム トレーニングにプライベート IP を使用するをご覧ください。
GKE または Cloud Run を使用してカスタム環境を設定する場合は、次のオプションを検討してください。
- GKE クラスタを保護するには、適切なネットワーク ポリシー、Pod セキュリティ ポリシー、アクセス制御を使用します。トレーニング ワークロードには、信頼できる検証済みのコンテナ イメージを使用します。脆弱性についてコンテナ イメージをスキャンするには、Artifact Analysis を使用します。
- コンテナ エスケープやその他の攻撃から環境を保護するには、Cloud Run functions にランタイム セキュリティ対策を実装します。環境をさらに保護するには、GKE Sandbox とワークロードの分離を使用します。
- GKE ワークロードを保護するには、GKE セキュリティの概要のベスト プラクティスに従ってください。
- Cloud Run でセキュリティ要件を満たすには、セキュリティ設計の概要をご覧ください。
モデルのトレーニングに Dataproc を使用する場合は、Dataproc のセキュリティに関するベスト プラクティスに従ってください。
デプロイを保護するには、次の点を考慮してください。
- モデルをデプロイするときは、Model Registry を使用します。コンテナにモデルをデプロイする場合は、GKE Sandbox とコンテナ最適化 OS を使用して、セキュリティを強化し、ワークロードを分離します。ユーザーの役割と責任に応じて、Model Garden からモデルへのアクセスを制限します。
- モデル API のセキュリティを強化するには、Apigee または API Gateway を使用します。不正使用を防ぐため、API キー、認証、認可、レート制限を実装します。モデル API へのアクセスを制御するには、API キーと認証メカニズムを使用します。
- 予測中にモデルへのアクセスを保護するには、Vertex AI Inference を使用します。データの引き出しを防ぐには、VPC Service Controls 境界を使用してプライベート エンドポイントを保護し、基盤となるモデルへのアクセスを制御します。プライベート エンドポイントを使用して、VPC ネットワーク内のモデルへのアクセスを有効にします。IAM はプライベート エンドポイントに直接適用されませんが、ターゲット サービスは IAM を使用してモデルへのアクセスを管理します。オンライン予測には、Private Service Connect を使用することをおすすめします。
- モデルのデプロイに関連する API 呼び出しを追跡するには、Vertex AI の Cloud Audit Logs を有効にします。関連する API 呼び出しには、エンドポイントの作成、モデルのデプロイ、構成の更新などのアクティビティが含まれます。
- Google Cloud インフラストラクチャをエッジ ロケーションに拡張するには、Google Distributed Cloud ソリューションを検討してください。完全に切断されたソリューションには、 Google Cloudへの接続を必要としない Distributed Cloud air-gapped を使用できます。
- デプロイを標準化し、規制とセキュリティのニーズへの準拠を確保するには、Assured Workloads を使用します。
AI アーティファクトの SLSA ガイドラインに従う
モデルやソフトウェア パッケージなどの AI 固有のアーティファクトについては、標準のソフトウェア アーティファクトのためのサプライチェーン レベル(SLSA)ガイドラインに従います。
SLSA は、ソフトウェア アーティファクトの完全性を向上させ、改ざんを防ぐのに役立つように設計されたセキュリティ フレームワークです。SLSA ガイドラインに準拠すると、AI パイプラインと ML パイプライン、およびパイプラインが生成するアーティファクトのセキュリティを強化できます。SLSA に準拠すると、次のメリットが得られます。
- AI アーティファクトと ML アーティファクトに対する信頼性の向上: SLSA は、モデルとソフトウェア パッケージが改ざんされないようにするのに役立ちます。ユーザーはモデルとソフトウェア パッケージをソースまで追跡することもできます。これにより、ユーザーはアーティファクトの完全性と信頼性に対する信頼を高めることができます。
- サプライ チェーン攻撃のリスクの軽減: SLSA は、悪意のあるコードを挿入する攻撃やビルドプロセスを侵害する攻撃など、ソフトウェア サプライ チェーンの脆弱性を悪用する攻撃のリスクを軽減します。
- セキュリティ対策の強化: SLSA は、AI システムと ML システムの全体的なセキュリティ対策を強化するのに役立ちます。この実装は、攻撃のリスクを軽減し、貴重な資産を保護するのに役立ちます。
Google Cloudで AI と ML のアーティファクトに SLSA を実装する手順は次のとおりです。
- SLSA レベルを理解する: さまざまな SLSA レベルとその要件を理解します。レベルが上がるにつれて、提供される完全性も高まります。
- 現在のレベルを評価する: SLSA フレームワークに照らして現在のプラクティスを評価し、現在のレベルを特定して、改善すべき領域を特定します。
- 目標レベルを設定する: リスク許容度、セキュリティ要件、AI システムと ML システムの重要性に基づいて、適切な SLSA レベルを決定します。
SLSA 要件を実装する: 目標の SLSA レベルを満たすには、必要な制御とプラクティスを実装します。これには、次のものが含まれます。
- ソース管理: Git などのバージョン管理システムを使用して、コードと構成の変更を追跡します。
- ビルドプロセス: Cloud Build などのビルドの保護に役立つサービスを使用し、ビルドプロセスがスクリプト化または自動化されていることを確認します。
- 来歴の生成: ビルドプロセス、ソースコード、依存関係など、アーティファクトがどのようにビルドされたかに関する詳細情報をキャプチャする来歴メタデータを生成します。詳細については、Vertex ML Metadata の追跡と実行とアーティファクトを追跡するをご覧ください。
- アーティファクトの署名: アーティファクトに署名して、その信頼性と完全性を確認します。
- 脆弱性管理: アーティファクトと依存関係の脆弱性を定期的にスキャンします。Artifact Analysis などのツールを使用します。
- デプロイのセキュリティ: このドキュメントで説明されているプラクティスなど、システムを保護するのに役立つデプロイ プラクティスを実装します。
継続的な改善: SLSA 実装をモニタリングして改善し、新しい脅威と脆弱性に対処し、より高い SLSA レベルを目指します。
検証済みのビルド済みコンテナ イメージを使用する
MLOps ステージの単一障害点を回避するには、異なる依存関係管理を必要とするタスクを異なるコンテナに分離します。たとえば、特徴エンジニアリング、トレーニング、ファインチューニング、推論タスクに別々のコンテナを使用します。このアプローチでは、ML エンジニアが環境を制御してカスタマイズする柔軟性も得られます。
組織全体で MLOps の一貫性を高めるには、ビルド済みコンテナを使用します。次のベスト プラクティスを使用して、検証済みの信頼できるベース プラットフォーム イメージの中央リポジトリを維持します。
- 標準化されたベース コンテナを構築して管理する中央プラットフォーム チームを組織内に維持します。
- Vertex AI が AI と ML 用に提供するビルド済みコンテナ イメージを拡張します。組織内の中央リポジトリでコンテナ イメージを管理します。
Vertex AI には、トレーニングと推論に使用できるさまざまなビルド済みディープ ラーニング コンテナが用意されています。また、カスタム コンテナを使用することもできます。小さいモデルの場合は、コンテナにモデルを読み込むと、推論のレイテンシを短縮できます。
コンテナ管理のセキュリティを強化するには、次の推奨事項を検討してください。
- Artifact Registry を使用して、さまざまな形式のコンテナ イメージのリポジトリを作成、保存、管理します。Artifact Registry は IAM でアクセス制御を処理し、オブザーバビリティと脆弱性評価機能が統合されています。Artifact Registry では、コンテナ セキュリティ機能を有効にして、コンテナ イメージをスキャンし、脆弱性を調査できます。
- Cloud Build を使用して、継続的インテグレーションの手順を実行し、コンテナ イメージをビルドします。この段階で、依存関係の問題を特定できます。Cloud Build によってビルドされたイメージのみをデプロイする場合は、Binary Authorization を使用します。サプライ チェーン攻撃を防ぐため、Cloud Build でビルドされたイメージを Artifact Registry にデプロイします。SonarQube、PyLint、OWASP ZAP などの自動テストツールを統合します。
- AI / ML ワークロード用の GPU または TPU に最適化された GKE や Cloud Run などのコンテナ プラットフォームを使用します。GKE クラスタ内のコンテナの脆弱性スキャン オプションを検討します。
GPU の Confidential Computing を検討する
使用中のデータを保護するには、Confidential Computing を使用します。従来のセキュリティ対策では保存データと転送中のデータが保護されますが、Confidential Computing では処理中のデータが暗号化されます。GPU 用の Confidential Computing を使用すると、機密性の高いトレーニング データとモデル パラメータを不正アクセスから保護できます。また、特権クラウド ユーザーや、基盤となるインフラストラクチャにアクセスする可能性のある攻撃者による不正アクセスを防ぐこともできます。
GPU に Confidential Computing が必要かどうかを判断するには、データの機密性、規制要件、潜在的なリスクを考慮します。
Confidential Computing を設定する場合は、次のオプションを検討してください。
- 汎用 AI / ML ワークロードには、NVIDIA T4 GPU を使用する Confidential VM インスタンスを使用します。これらの VM インスタンスは、使用中のデータのハードウェア ベースの暗号化を提供します。
- コンテナ化されたワークロードには、Confidential GKE Node を使用します。これらのノードは、Pod に安全で分離された環境を提供します。
- ワークロードが正規の安全なエンクレーブで実行されていることを確認するには、Confidential VM が提供する証明書レポートを確認します。
- パフォーマンス、リソース使用率、セキュリティ イベントを追跡するには、Monitoring と Logging を使用して Confidential Computing リソースと Confidential GKE Node をモニタリングします。
入力を検証して保護する
入力がエンドユーザーからのものか、他の自動システムからのものかに関係なく、AI システムへのすべての入力を信頼できないものとして扱います。AI システムの安全性を確保し、意図したとおりに動作させるには、潜在的な攻撃ベクトルを早期に検出してサニタイズする必要があります。
入力を検証して保護するには、次の推奨事項を検討してください。
生成 AI システムのセキュリティを強化する手法を実装する
プロンプトは、コードと同じくらいセキュリティ上重要なアプリケーション コンポーネントとして扱います。プロアクティブな設計、自動化されたスクリーニング、厳格なライフサイクル管理を組み合わせた多層防御戦略を実装します。
生成 AI プロンプトのセキュリティを確保するには、セキュリティを考慮して設計し、使用前にスクリーニングし、ライフサイクル全体で管理する必要があります。
プロンプトの設計とエンジニアリングのセキュリティを強化するには、次の方法を検討してください。
- プロンプトを構造化して明確にする: Vertex AI Studio のプロンプト管理機能を使用して、すべてのプロンプトを設計してテストします。プロンプトは明確で曖昧さのない構造にする必要があります。ロールを定義し、少数ショットの例を含め、具体的で範囲が限定された指示を与えます。これらのメソッドは、モデルがユーザーの入力を誤って解釈し、セキュリティ ホールを作成するリスクを軽減します。
堅牢性とグラウンディングのために入力をテストする: クラッシュや安全でない出力を防ぐため、予期しない入力、不正な形式の入力、悪意のある入力に対して、すべてのシステムを事前にテストします。レッドチーム テストを使用して、現実の攻撃をシミュレートします。Vertex AI Pipelines の標準ステップとして、堅牢性テストを自動化します。次のテスト手法を使用できます。
- ファズテスト。
- PII、機密性の高い入力、SQL インジェクションに対して直接テストします。
- マルウェアが含まれている可能性のあるマルチモーダル入力や、プロンプト ポリシーに違反する可能性のあるマルチモーダル入力をスキャンします。
多層防御を実装する: 複数の防御を使用し、単一の防御手段に依存しないようにします。たとえば、検索拡張生成(RAG)に基づくアプリケーションの場合は、別の LLM を使用して、受信したユーザーの意図を分類し、悪意のあるパターンをチェックします。その後、その LLM はリクエストを、最終的なレスポンスを生成するより強力なプライマリ LLM に渡すことができます。
入力をサニタイズして検証する: 外部入力またはユーザー提供の入力をプロンプトに組み込む前に、アプリケーション コード内のすべての入力をフィルタして検証します。この検証は、間接的なプロンプト インジェクションを防ぐうえで重要です。
プロンプトとレスポンスの自動スクリーニングについては、次の方法を検討してください。
- 包括的なセキュリティ サービスを使用する: LLM の必須保護レイヤとして、Model Armor などのモデルに依存しない専用のセキュリティ サービスを実装します。Model Armor は、プロンプトとレスポンスを検査して、プロンプト インジェクション、ジェイルブレイクの試行、有害なコンテンツなどの脅威を検出します。モデルのレスポンスで機密性の高いトレーニング データや知的財産が漏洩しないようにするには、Model Armor と Sensitive Data Protection の統合を使用します。詳細については、Model Armor フィルタをご覧ください。
- インタラクションをモニタリングしてロギングする: モデル エンドポイントのすべてのプロンプトとレスポンスの詳細なログを保持します。ロギングを使用して、これらのインタラクションを監査し、不正使用のパターンを特定して、デプロイされたモデルに対して発生する可能性のある攻撃ベクトルを検出します。
プロンプトのライフサイクル管理を保護するには、次の方法を検討してください。
- プロンプトのバージョニングを実装する: すべての本番環境プロンプトをアプリケーション コードとして扱います。Git などのバージョン管理システムを使用して、変更の完全な履歴を作成し、コラボレーション標準を適用し、以前のバージョンへのロールバックを有効にします。このコア MLOps プラクティスは、安定した安全な AI システムの維持に役立ちます。
- プロンプト管理を一元化する: 一元的なリポジトリを使用して、すべてのバージョニングされたプロンプトを保存、管理、デプロイします。この戦略により、環境間で一貫性が維持され、アプリケーションを完全に再デプロイすることなくランタイム アップデートが可能になります。
- 定期的な監査とレッドチーム テストを実施する: LLM アプリケーションに関する OWASP トップ 10 に記載されている脆弱性など、既知の脆弱性に対してシステムの防御を継続的にテストします。AI エンジニアは、攻撃者が脆弱性を悪用する前に、脆弱性を発見して修正するために、自分のアプリケーションを積極的にレッドチーム テストする必要があります。
AI システムへの悪意のあるクエリを防ぐ
このドキュメントで前述した認証と認可に加えて、悪意のある入力から AI システムを保護するための対策を講じることができます。攻撃者が認証プロトコルと認可プロトコルの両方をバイパスし、システムに内部から攻撃を試みる認証後のシナリオに備えて、AI システムを準備する必要があります。
認証後の攻撃からシステムを保護する包括的な戦略を実装するには、次の要件を適用します。
ネットワーク レイヤとアプリケーション レイヤを保護する: すべての AI アセットに対して多層防御を確立します。
- Model Registry からのモデルのデータ漏洩や BigQuery からの機密データのデータ漏洩を防ぐセキュリティ境界を作成するには、VPC Service Controls を使用します。境界を適用する前に、必ずドライラン モードを使用して境界の影響を検証してください。
- ノートブックなどのウェブベースのツールを保護するには、IAP を使用します。
- すべての推論エンドポイントを保護するには、エンタープライズ クラスのセキュリティとガバナンスに Apigee を使用します。API Gateway を使用して、簡単な認証を行うこともできます。
クエリ パターンの異常を監視する: たとえば、システムの脆弱性を探る攻撃者は、わずかに異なるクエリを連続して数千件送信する可能性があります。通常のユーザー行動を反映していない異常なクエリ パターンにフラグを設定します。
リクエストの量をモニタリングする: クエリ量の急激な増加は、サービス拒否(DoS)攻撃またはモデル盗難攻撃(モデルのリバース エンジニアリングを試みる攻撃)の可能性が高いことを示しています。レート制限とスロットリングを使用して、単一の IP アドレスまたはユーザーからのリクエストの量を制御します。
地理的および時間的な異常をモニタリングしてアラートを設定する: 通常のアクセス パターンのベースラインを確立します。異常な地域や時間帯からの突然のアクティビティに関するアラートを生成します。たとえば、午前 3 時に新しい国からのログインが急増した場合などです。
出力のモニタリング、評価、対応の準備
AI システムは、人間の意思決定を補完、最適化、自動化する出力を生成するため、その価値があります。AI システムとアプリケーションの完全性と信頼性を維持するには、出力が安全で、想定されるパラメータ内にあることを確認します。また、インシデントに対応するための計画も必要です。
出力を維持するには、次の推奨事項を検討してください。
指標とセキュリティ対策を使用してモデルのパフォーマンスを評価する
AI モデルがパフォーマンス ベンチマークを満たし、セキュリティ要件を満たし、公平性とコンプライアンスの基準を遵守していることを確認するには、モデルを徹底的に評価します。デプロイ前に評価を実施し、その後も本番環境でモデルを定期的に評価します。リスクを最小限に抑え、信頼できる AI システムを構築するには、パフォーマンス指標と特定の AI セキュリティ評価を組み合わせた包括的な評価戦略を実装します。
モデルの堅牢性とセキュリティ ポスチャーを評価するには、次の推奨事項を検討してください。
MLOps パイプラインでモデルの署名と検証を実装します。
- コンテナ化されたモデルの場合は、Binary Authorization を使用して署名を検証します。
- Vertex AI エンドポイントに直接デプロイされるモデルの場合は、デプロイ スクリプトでカスタム チェックを使用して検証します。
- 任意のモデルで、モデル署名に Cloud Build を使用します。
予期しない入力や敵対的な入力に対するモデルの回復力を評価します。
- すべてのモデルについて、一般的なデータ破損と、悪意のある可能性のあるデータ変更についてモデルをテストします。これらのテストをオーケストレートするには、Vertex AI トレーニングまたは Vertex AI Pipelines を使用します。
- セキュリティが重要なモデルについては、敵対的攻撃シミュレーションを実施して、潜在的な脆弱性を把握します。
- コンテナにデプロイされたモデルの場合は、Artifact Registry の Artifact Analysis を使用して、ベースイメージの脆弱性をスキャンします。
Vertex AI Model Monitoring を使用して、デプロイされたモデルのドリフトとスキューを検出します。次に、これらの分析情報を再評価または再トレーニングのサイクルにフィードバックします。
Vertex AI Pipelines では、パイプライン コンポーネントとして Vertex AI のモデル評価を使用します。モデル評価コンポーネントは単独で、または他のパイプライン コンポーネントと一緒に実行できます。定義した指標とデータセットに対してモデル バージョンを比較します。リネージと追跡のために、評価結果を Vertex ML Metadata にロギングします。
Gen AI Evaluation Service を使用または構築して、選択したモデルを評価するか、カスタムの人間による評価ワークフローを実装します。
公平性、バイアス、説明可能性、事実性を評価するには、次の推奨事項を検討してください。
- ユースケースに一致する公平性指標を定義し、さまざまなデータスライスでモデルの潜在的なバイアスを評価します。
- モデルの予測を左右する特徴を把握し、特徴と予測結果がドメイン知識や倫理ガイドラインに沿っていることを確認します。
- Vertex Explainable AI を使用して、モデルの特徴アトリビューションを取得します。
- Gen AI Evaluation Service を使用して指標を計算します。テストのソース検証フェーズでは、サービスのグラウンディング指標が、提供されたソーステキストに対して事実性をチェックします。
- モデルの出力でグラウンディングを有効にすると、ユーザーレベルでソースの検証を 2 回行うことができます。
- Google の AI に関する原則を確認し、AI アプリケーションに合わせて調整します。
本番環境で AI モデルと ML モデルの出力をモニタリングする
本番環境で AI モデルと ML モデル、およびそれらをサポートするインフラストラクチャを継続的にモニタリングします。モデルの出力品質やパフォーマンスの低下、新たに発生したセキュリティの脆弱性、コンプライアンス要件からの逸脱を迅速に特定して診断することが重要です。このモニタリングにより、システムの安全性、信頼性、信頼性を維持できます。
AI システムの出力で異常、脅威、品質の低下をモニタリングするには、次の推奨事項を検討してください。
- モデルの出力に Model Monitoring を使用して、予測分布の予期しない変化や、信頼度の低いモデル予測の急増を追跡します。生成されたコンテンツが安全でない、バイアスがかかっている、トピックから外れている、悪意のあるものであるかどうかを、生成 AI モデルの出力を積極的にモニタリングします。Model Armor を使用して、すべてのモデル出力をスクリーニングすることもできます。
- 特定のエラーパターンを特定したり、品質指標を取得したり、有害な出力やコンプライアンス違反の出力をアプリケーション レベルで検出したりします。これらの問題を特定するには、Monitoring ダッシュボードでカスタム モニタリングを使用し、Logging のログベースの指標を使用します。
セキュリティ固有のシグナルと不正な変更について出力をモニタリングするには、次の推奨事項を検討してください。
- AI モデル、Cloud Storage または BigQuery のデータセット、MLOps パイプライン コンポーネントへの不正アクセス試行を特定します。特に、AI リソースの IAM 権限に対する予期しない変更や未承認の変更を特定します。これらのアクティビティを追跡し、不審なパターンを確認するには、Cloud Audit Logs の管理アクティビティ監査ログとデータアクセス監査ログを使用します。Security Command Center の検出結果を統合します。これにより、セキュリティの構成ミスや、AI アセットに関連する潜在的な脅威にフラグを設定できます。
- 大量のリクエストや疑わしいソースからのリクエストの出力をモニタリングします。これは、モデルのリバース エンジニアリングやデータの漏洩を試みていることを示している可能性があります。Sensitive Data Protection を使用して、機密性の高いデータの持ち出しをモニタリングすることもできます。
- ログをセキュリティ オペレーションに統合します。Google Security Operations を使用して、AI システムからのサイバー脅威を検出、オーケストレート、対応します。
AI モデルを提供するインフラストラクチャの運用の健全性とパフォーマンスを追跡するには、次の推奨事項を検討してください。
- サービスの提供やモデルのパフォーマンスに影響を与える可能性がある運用上の問題を特定します。
- Vertex AI エンドポイントのレイテンシ、エラー率、トラフィック パターンをモニタリングします。
- MLOps パイプラインの実行ステータスとエラーをモニタリングします。
- Monitoring を使用します。Monitoring には、すぐに使用できる指標が用意されています。カスタム ダッシュボードを作成して、エンドポイントの停止やパイプラインの障害などの問題を特定することもできます。
アラートとインシデント対応の手順を実装する
パフォーマンス、セキュリティ、コンプライアンスに関する潜在的な問題が特定された場合は、効果的な対応が不可欠です。適切なチームにタイムリーに通知できるように、堅牢なアラート メカニズムを実装します。包括的で AI を認識したインシデント対応手順を確立して運用し、これらの問題を効率的に管理、封じ込め、修復します。
特定した AI の問題に対して堅牢なアラート メカニズムを確立するには、次の推奨事項を検討してください。
- プラットフォームのモニタリング アクティビティに基づいて、関連するチームに通知するアクション可能なアラートを構成します。たとえば、Model Monitoring が重大なドリフト、スキュー、予測の異常を検出したときにトリガーされるようにアラートを構成します。または、Model Armor またはカスタム モニタリング ルールが悪意のある入力や安全でない出力を検出したときにトリガーされるようにアラートを構成します。
- 明確な通知チャネルを定義します。これには、Pub/Sub 統合による Slack、メール、SMS などがあります。アラートの重大度と担当チームの通知チャネルをカスタマイズします。
AI を認識したインシデント対応計画を策定し、運用化します。潜在的な影響を最小限に抑え、復旧を確実にするには、構造化されたインシデント対応計画が不可欠です。このプランをカスタマイズして、モデルの改ざん、ドリフトによる不正確な予測、プロンプト インジェクション、生成モデルからの安全でない出力など、AI 特有のリスクに対処します。効果的なプランを作成するには、次の主要なフェーズを含めます。
準備: 資産とその脆弱性を特定し、プレイブックを作成して、チームに適切な権限があることを確認します。このフェーズには、次のタスクが含まれます。
- モデル、データセット、エンドポイントや Vertex AI Feature Store インスタンスなどの特定の Vertex AI リソースなど、重要な AI アセットを特定します。
- アセットの潜在的な障害モードまたは攻撃ベクトルを特定します。
組織の脅威モデルに一致するインシデントについて、AI 固有のプレイブックを作成します。たとえば、ハンドブックには次の内容が含まれる場合があります。
- Model Registry のバージョニングを使用するモデルのロールバック。
- Vertex AI トレーニングの緊急再トレーニング パイプライン。
- BigQuery または Cloud Storage で侵害されたデータソースの分離。
IAM を使用して、インシデント時に必要なツールに、対応チームが必要最小限の権限でアクセスできるようにします。
特定とトリアージ: 構成されたアラートを使用して、潜在的なインシデントを検出して検証します。組織が AI 関連のインシデントを調査または宣言する方法について、明確な基準としきい値を設定します。詳細な調査と証拠収集には、アプリケーション ログとサービスログに Logging を使用し、管理アクティビティとデータアクセス パターンに Cloud Audit Logs を使用します。セキュリティ チームは、Google SecOps を使用してセキュリティ テレメトリーの詳細な分析を行うことができます。
封じ込め: 影響を受けた AI システムまたはコンポーネントを隔離して、さらなる影響やデータ引き出しを防ぎます。このフェーズには、次のタスクが含まれる場合があります。
- 問題のある Vertex AI エンドポイントを無効にする。
- 特定の IAM 権限を取り消します。
- ファイアウォール ルールまたは Cloud Armor ポリシーを更新します。
- 動作に問題のある Vertex AI パイプラインを一時停止する。
根絶: インシデントの根本原因を特定して削除します。このフェーズには、次のタスクが含まれる場合があります。
- カスタムモデル コンテナ内の脆弱なコードにパッチを適用する。
- 特定された悪意のあるバックドアをモデルから削除します。
- Vertex AI トレーニングで安全な再トレーニング ジョブを開始する前に、有害なデータをサニタイズします。
- 安全でない構成を更新します。
- 特定のプロンプト インジェクション手法をブロックするように入力検証ロジックを調整します。
復元と安全な再デプロイ: 影響を受けた AI システムを既知の良好で安全な運用状態に復元します。このフェーズには、次のタスクが含まれる場合があります。
- Model Registry から、以前に検証され信頼されたモデル バージョンをデプロイします。
- コードまたはシステムに存在する可能性のある脆弱性に対するセキュリティ パッチをすべて見つけて適用します。
- IAM 権限を最小権限の原則にリセットします。
インシデント後のアクティビティと教訓: 重大な AI インシデントを解決したら、インシデント後の徹底的なレビューを実施します。このレビューには、AI / ML、MLOps、セキュリティ、データ サイエンスなどの関連するすべてのチームが参加します。インシデントのライフサイクル全体を把握します。これらの分析情報を使用して、AI システムの設計を改善し、セキュリティ制御を更新し、モニタリング構成を改善し、AI インシデント対応計画とプレイブックを強化します。
AI インシデント対応を、IT やセキュリティ インシデント管理などの組織全体のフレームワークと統合して、連携した取り組みを実現します。AI 固有のインシデント対応を組織のフレームワークに合わせるには、次の点を考慮してください。
- エスカレーション: 重大な AI インシデントを中央 SOC、IT、法務、または関連するビジネス ユニットにエスカレーションする方法について、明確な経路を定義します。
- コミュニケーション: 確立された組織のチャネルを、内部および外部のすべてのインシデント レポートと更新に使用します。
- ツールとプロセス: AI インシデントに既存のエンタープライズ インシデント管理システムとチケット発行システムを使用して、一貫した追跡と可視性を確保します。
- コラボレーション: AI と ML、MLOps、データ サイエンス、セキュリティ、法務、コンプライアンスの各チーム間のコラボレーション プロトコルを事前に定義して、AI インシデントに効果的に対応します。
寄稿者
著者:
- Kamilla Kurta | 生成 AI / ML スペシャリスト カスタマー エンジニア
- Vidhi Jain | クラウド エンジニア、アナリティクスと AI
- Mohamed Fawzi | ベネルクス セキュリティ / コンプライアンス リード
- Filipe Gracio, PhD | カスタマー エンジニア兼 AI / ML スペシャリスト
その他の寄稿者:
- Lauren Anthony | カスタマー エンジニア、セキュリティ スペシャリスト
- Daniel Lees | クラウド セキュリティ アーキテクト
- John Bacon | パートナー ソリューション アーキテクト
- Kumar Dhanagopal | クロス プロダクト ソリューション デベロッパー
- Marwan Al Shawi | パートナー カスタマー エンジニア
- Mónica Carranza | シニア生成 AI 脅威アナリスト
- Tarun Sharma | プリンシパル アーキテクト
- Wade Holmes | グローバル ソリューション ディレクター