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

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

中級約 60 分Azure 実環境

ラボ概要

シナリオ: あなたは高機能衛星打ち上げを行う 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リファクタリング後のコードを実行して検証する

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

手順のプレビュー(最初のステップ)

1. VM に SSH 接続して脆弱なコードを確認する

  • 提供された資格情報で Azure Portal (https://portal.azure.com/) にサインインします
> 注: 「サインインの状態を維持しますか?」と表示されたら いいえ を選択します。
  • 上部検索バーから Virtual machines を検索 → サービス カテゴリの 仮想マシン を選択します
  • 一覧から vm-secfix で始まる VM をクリックし、概要 ページで パブリック IP アドレス をコピーします
  • 任意のターミナル(macOS/Linux のターミナル、Windows の PowerShell、または Cloud Shell)を開きます
  • 以下のコマンドで SSH 接続します
  ssh cloud_user@<PUBLIC_IP_ADDRESS>
  • Are you sure you want to continue connecting (yes/no)? には yes と入力します
  • パスワードはラボ画面の cloud_user_password を貼り付けます
残り 8 セクションの手順は、ラボを開始すると画面内に表示されます

構成図

構成図

参考リソース

このラボが対応する試験の模擬問題集

本番形式の問題で理解度を確認できます。各試験とも先頭 15 問は無料です。

AI-103Azure AI Engineer練習テスト 2 回・全 160 問AZ-305Azure Solutions Architect練習テスト 2 回・全 160 問