過去問ドリル

AI-200:Developing AI Cloud Solutions on Azure Azure ソリューションのセキュリティ保護・監視・トラブルシューティング 問1

Azure ソリューションのセキュリティ保護・監視・トラブルシューティング/Azure ソリューションのセキュリティ保護(Key Vault・App Configuration)

Azure Container Apps で動く API から、Azure Key Vault のシークレットを取得します。コードやアプリの設定に資格情報を一切置かず、必要最小限の権限で取得させたいと考えています。Key Vault のアクセス制御には Azure RBAC を使っています。適切な構成はどれですか。

当サイトのオリジナル問題(AI-200:Developing AI Cloud Solutions on Azureの出題範囲「Azure ソリューションのセキュリティ保護・監視・トラブルシューティング」に対応。実際の試験問題ではありません)

正解:C

解説

マネージド ID を使うと、資格情報をコードや設定に置かずに Microsoft Entra ID で認証できます。Azure RBAC で Key Vault のアクセスを制御している場合、シークレットの値を読み取るには「Key Vault Secrets User」ロールが必要で、これを対象の Key Vault に限って割り当てるのが最小権限です。SDK の DefaultAzureCredential は、Azure 上ではマネージド ID を自動で使います。

下線の用語は 用語集 で意味を確認できます。

選択肢ごとの解説

  • A誤り。Key Vault には、ストレージ アカウントのようなアクセス キーはありません。資格情報を環境変数に置かないという要件にも反します。
  • B誤り。所有者ロールは、リソースを管理するための広い権限です。最小権限の原則に反しますし、シークレットの値を読むための権限として適切ではありません。
  • C正しい。マネージド ID と、対象の Key Vault に限定した「Key Vault Secrets User」ロールの組み合わせが最小権限の構成です。
  • D誤り。クライアント シークレットをイメージに埋め込むと、イメージを取得できる人に資格情報が漏れます。資格情報を置かないという要件にも反します。
AI-200:Developing AI Cloud Solutions on Azureの問題を演習モードで解く