Azure Developer CLI(azd)で環境設定を管理する ― env・Key Vault・Managed Identityの役割を分ける

Microsoft 365・Azureカテゴリを表すパンダのイラスト Microsoft 365・Azure

この記事について
この記事は、生成AIを活用した自動生成フローで作成しています。Microsoft LearnのAzure Developer CLI環境変数・環境シークレット・CLIリファレンスを確認し、旧記事の未確認機能「集中設定リゾルバー」「ターボプロビジョニング」を削除しました。

検証ステータス:✅ Microsoft公式azd仕様確認済み

Azure Developer CLI(azd)では、開発・検証・本番など環境ごとの値を管理できます。ただし、通常設定とシークレットを同じ扱いにしないことが重要です。

通常の環境値はazd envで管理する

一般的な設定値は次のコマンドで扱えます。

# 値を設定
azd env set API_TIMEOUT 5000

# 1つの値を確認
azd env get-value API_TIMEOUT

# 現在の環境値を一覧表示
azd env get-values

# JSONで取得
azd env get-values --output json

azd env setで設定した値は、選択中の環境に対応する.envへ保存されます。また、Bicepのoutputをazd provision後に環境値へ取り込む仕組みもあります。

.envへシークレット値を直接入れない

Microsoftは、azdの.envファイルへシークレットを直接保存しないよう明確に警告しています。プレーンテキストのファイルは、誤コミット、共有、ログ出力などで漏えいする可能性があります。

通常設定と秘密情報を分けます。

扱い
通常設定 リージョン、APIのタイムアウト、リソース名 azd env set
シークレット APIキー、パスワード Key Vault参照 / azd env set-secret
可能なら不要にする資格情報 Azureサービス間アクセス Managed Identity + RBAC

2026年のazdにはenv set-secretがある

現在の公式CLIでは、Key Vaultシークレットへの参照を環境へ設定するazd env set-secretが用意されています。

azd env set-secret MY_SECRET

対話に従って既存のKey Vaultシークレットを選ぶか、新しいシークレットを作成できます。環境の.envに保存されるのは実値ではなく、Key Vaultシークレットへの参照です。

Bicepへ渡す場合は、対象パラメータを@secure()にし、公式手順に従って環境キーをパラメータへマッピングします。

実行時はManaged Identityを優先できるか確認する

アプリケーションがAzure StorageやKey Vaultなどへアクセスするためだけに、接続文字列やクライアントシークレットを持つ必要がないケースがあります。その場合はManaged IdentityとRBACを使う方が、長期シークレットの保管・更新を減らせます。

Azure Container AppsでKey Vaultシークレットを参照する場合も、MicrosoftはContainer AppへManaged Identityを割り当て、そのIDにKey Vault Secrets Userなど必要な権限を付ける構成を案内しています。

「設定管理」と「プロビジョニング高速化」は別問題

旧記事には--turbo-provisionPROVISIONING_MODE=turbocentral-vaultといったコマンド・設定が掲載されていましたが、今回確認した現在のazd公式リファレンスでは、その機能を確認できませんでした。

デプロイ速度を測る場合は、存在しない高速化フラグを前提にせず、azd provisionazd upの実行時間、Bicep側の依存関係、コンテナビルド時間などを実測してボトルネックを切り分けます。

実務の整理

  • 非機密の環境差分 → azd env set
  • 秘密値 → Key Vault + azd env set-secret
  • サービス間認証 → Managed Identityでシークレットレス化できるか確認
  • インフラ定義 → Bicep / Terraform
  • アプリ構成 → azure.yamlと環境値を役割分担

公式情報

この記事の更新履歴

  • 2026-09-14 追加:実在するazd env set-secret、Key Vault参照、Managed Identityとの使い分けを追加。
  • 2026-09-14 変更:架空の高速デプロイ機能中心の記事から、現在のazd環境・シークレット管理へ全面改訂。
  • 2026-09-14 削除:内部JSON/style_prompt、本文H1、--turbo-provisionPROVISIONING_MODE=turbocentral-vaultなど確認できない機能を削除。

文書情報

記事タイトル
Azure Developer CLI(azd)で環境設定を管理する ― env・Key Vault・Managed Identityの役割を分ける
作成日
更新日
Source URL
https://papanda925.com/?p=5474

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました