Azure AI のセキュリティ設定の不備を Key Vault と Managed Identity で修正する

Azure AI Services (Cognitive Services) のキーをコードに直書きしている脆弱な構成を、Key Vault + Managed Identity + ネットワーク制限で安全な構成に作り変えます。

中級60Azure 実環境

ラボ概要

シナリオ: あなたは高機能衛星打ち上げを行う Space Corp のセキュリティ エンジニアです。最近の社内会議で AI リソースのセキュリティ設定に不備があることが発覚しました。Cognitive Services のキーが Python コードに直書きされ、エンドポイントもインターネット全体に開かれています。あなたはこれらの不備を修正し、Space Corp の AI 基盤を安全な状態に戻す責任を負います。

学習目標:

  • 既存の脆弱な Python コード(Cognitive Services キーが直書き)の問題点を特定する
  • Cognitive Services のネットワーク アクセスを VNet からのみに制限する
  • Key Vault に Cognitive Services キーをシークレットとして保管する
  • VM の System Assigned Managed Identity と RBAC で、コードからキーをハードコードせずに参照する
  • 環境変数経由および Key Vault 経由の 2 段階で安全性を高めるリファクタリングを体験する
前提知識: Linux SSH の基本、Python の読解、Azure RBAC の概念、VNet/Subnet の基本理解。

完了条件: Python スクリプト text_analytics.py から Cognitive Services キーが除去され、DefaultAzureCredential 経由で Key Vault からキーを取得して感情分析・キーフレーズ・エンティティ抽出が動作する状態。Cognitive Services と Key Vault の両方で Selected networks 設定により VM の VNet からのみアクセス可能になっていること。

ラボの構成

  1. 1VM に SSH 接続して脆弱なコードを確認する
  2. 2脆弱な Python コードを確認・実行する
  3. 3Cognitive Services のネットワーク アクセスを制限する
  4. 4ロールの確認(このラボでは IAM 操作は不要)
  5. 5事前構築済みの Key Vault にキーを保管する
  6. 6VM の Managed Identity の Key Vault アクセス(事前付与済み)
  7. 7Key Vault のネットワーク アクセスを制限する
  8. 8Python コードを Key Vault + Managed Identity 経由に書き換える
  9. 9リファクタリング後のコードを実行して検証する

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

構成図

構成図

参考リソース