過去問ドリル

AI-200:Developing AI Cloud Solutions on Azure Azure でのコンテナー化されたソリューションの開発 問3

Azure でのコンテナー化されたソリューションの開発/コンテナー アプリケーション ホスティングの実装(Container Registry・App Service)

コンテナー化した Web API を Azure App Service にデプロイします。API は環境変数 DB_PASSWORD からデータベースのパスワードを読み取ります。パスワードはイメージに含めず、Azure Key Vault で一元管理したいと考えています。適切な構成はどれですか。

当サイトのオリジナル問題(AI-200:Developing AI Cloud Solutions on Azureの出題範囲「Azure でのコンテナー化されたソリューションの開発」に対応。実際の試験問題ではありません)

正解:D

解説

App Service のアプリ設定は、コンテナーに環境変数として渡されます。アプリ設定の値を Key Vault 参照にすると、App Service が自身のマネージド ID を使って Key Vault からシークレットを取得します。このため、パスワードをイメージや設定に直接書かずに済みます。マネージド ID には、Key Vault のシークレットを読み取る権限を付与しておく必要があります。

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

選択肢ごとの解説

  • A誤り。ENV 命令で書いた値はイメージに含まれ、イメージを取得できる人なら誰でも読めてしまいます。イメージにパスワードを含めないという要件にも反します。
  • B誤り。起動コマンドの引数に平文で渡すと、設定やログからパスワードが見えてしまいます。また、Key Vault での一元管理にもなりません。
  • C誤り。Key Vault には、ストレージ アカウントのようなアクセス キーはありません。アクセスは Microsoft Entra ID の認証と、ロールやアクセス ポリシーで制御します。
  • D正しい。アプリ設定の Key Vault 参照とマネージド ID を組み合わせると、コンテナーには環境変数として値が渡され、資格情報を保存する必要もありません。
AI-200:Developing AI Cloud Solutions on Azureの問題を演習モードで解く