Azure Container AppsでConfidential Computeサポートが一般提供されました。結論から言うと、機密性の高いコンテナー化ワークロードをAzure Container Apps上で動かす際に、保存時・転送時だけでなく、処理中のデータの保護を強化できる選択肢が増えたという更新です。
ただし、既存のContainer Appsが自動的にConfidential Compute化されるわけではありません。管理者や開発者は、対応リージョン、DCシリーズのDedicated workload profile、アプリの割り当て先、コスト・性能・運用監視を確認したうえで展開する必要があります。Microsoft公式のAzure Updatesでは、この更新は「Launched / General Availability」として案内されています。(Microsoft Azure)
Azure Container AppsのConfidential Compute一般提供で何が変わるのか
今回の更新は、Azure Container AppsでConfidential Computeを本番用途として検討しやすくなった点が重要です。Azure Updatesでは「Launched」を、本番利用可能な状態として説明しています。(Microsoft Azure)
Confidential Computeは、コンテナー化されたアプリケーションをハードウェアベースのTrusted Execution Environment、つまりTEE上で実行し、処理中のデータを保護する考え方です。Azure Container Appsの公式ドキュメントでは、メモリ暗号化、実行前の環境証明、インフラ運用者を含む不正アクセスリスクの低減が説明されています。(Microsoft Learn)
従来のクラウドセキュリティでは、主に次の2つが重視されてきました。
| データの状態 | 一般的な保護策 |
|---|---|
| 保存中のデータ | ストレージ暗号化、データベース暗号化、Key Vault |
| 転送中のデータ | TLS、mTLS、Private Link、VPN、ExpressRoute |
| 処理中のデータ | Confidential Compute、TEE、メモリ暗号化、証明 |
今回のポイントは、3つ目の「処理中のデータ」をAzure Container Appsのマネージド環境で扱いやすくなることです。
たとえば、金融取引、医療データ、本人確認情報、顧客ごとの機密データを使うSaaS、社内機密を扱うAI推論APIなどでは、コンテナー内でデータを復号して処理する瞬間が発生します。Confidential Computeは、その処理中のデータをより強く分離した環境で扱うための選択肢です。
変更点を実務目線で整理
今回の一般提供により、Azure Container Appsを使うチームが確認すべきポイントは、単に「新機能が使えるようになった」ことではありません。どのワークロードをConfidential Computeに載せるべきか、どの設定で有効になるのか、既存運用にどの影響があるのかを整理する必要があります。
| 観点 | 変更・確認ポイント | 実務上の影響 |
|---|---|---|
| 提供状態 | Confidential Compute support on Azure Container Appsが一般提供 | 本番ワークロードへの採用検討を進めやすい |
| 有効化単位 | アプリ単位のスイッチではなく、DCシリーズのworkload profileに割り当てる | IaC、CLI、デプロイ定義の見直しが必要 |
| 対象プロファイル | DC4、DC8、DC16、DC32、DC48、DC64、DC96などのDedicated workload profile | Consumption前提の設計とはコスト・スケール特性が異なる |
| 対象リージョン | 利用可能リージョンに制限がある | データ所在地、レイテンシ、DR設計の確認が必要 |
| アプリ改修 | 特別なSDKや専用コンテナーランタイム設定は不要と説明されている | 既存イメージを活かしやすいが、検証は必須 |
| セキュリティ | 処理中データの保護を追加 | Key Vault、RBAC、ネットワーク制御の代替ではない |
Azure Container AppsのConfidential Computeは、DCシリーズのDedicated workload profileに割り当てることで有効になります。公式ドキュメントでは、個別のアプリやコンテナーごとに専用設定を入れるのではなく、DCシリーズのworkload profileに割り当てられたアプリがConfidential Compute基盤上で実行されると説明されています。(Microsoft Learn)
Confidential Computeが向いているワークロード
Confidential Computeは、すべてのContainer Appsに必要な機能ではありません。向いているのは、処理中のデータ保護が明確な要件になっているワークロードです。
向いているケース
金融、保険、医療、公共、法務、B2B SaaSなど、規制・契約・監査の観点から処理中データの保護を説明する必要があるシステムは有力候補です。
具体的には、次のようなワークロードが考えられます。
| ワークロード例 | Confidential Computeを検討する理由 |
|---|---|
| 決済・与信・不正検知API | 取引情報や本人確認情報をメモリ上で処理するため |
| 医療データ処理・診療支援API | 患者情報や検査結果など高機密データを扱うため |
| 企業向けSaaSのテナント別分析処理 | 顧客データの分離性を強く説明したい場合があるため |
| 機密文書を扱うAI推論・RAG API | プロンプトや検索対象データに社内機密が含まれるため |
| 規制業界向けのバックエンドバッチ | 監査時に処理中データの保護策を示しやすいため |
優先度が低いケース
一方で、公開情報だけを扱うWebフロントエンド、短時間で大きくスケールアウト・スケールゼロする前提の軽量API、コスト最優先の開発・検証環境では、Confidential Computeを最初から選ぶ必要性は高くありません。
特に、Azure Container AppsのConsumption profileを前提に「使った分だけ」のサーバーレス運用をしている場合、Dedicated workload profileへの移行によって料金モデルや最小ノード数の考え方が変わります。Workload profileの公式ドキュメントでは、Dedicated profileは予約されたコンピュートリソース上で実行され、profile instance単位で課金されると説明されています。(Microsoft Learn)
管理者がまず確認すべき設定
Confidential Computeを使う前に、管理者は次の順番で確認すると失敗しにくくなります。
対応リージョンを確認する
最初に確認すべきなのはリージョンです。GAになったからといって、すべてのAzureリージョンですぐ利用できるとは限りません。
公式ドキュメントでは、Confidential ComputeのDedicated workload profileとしてDC4からDC96までが記載され、リージョンはUAENorthと説明されています。(Microsoft Learn) また、Confidential Compute in Azure Container Appsのページでも、利用可能リージョンが限定されることが示されています。(Microsoft Learn)
CLIで確認する場合は、候補リージョンに対して次のようにサポートされるworkload profileを確認します。
az containerapp env workload-profile list-supported \
--location <LOCATION> \
--query "[].{Name:name, Cores:properties.cores, MemoryGiB:properties.memoryGiB, Category:properties.category}" \
-o table
ここでDC4、DC8などのDCシリーズが出ない場合、そのリージョンではConfidential Compute用のプロファイルを前提にした展開はできません。
既存アプリのworkload profileを確認する
既存のContainer Appsがどのworkload profileで動いているかを確認します。
az containerapp show \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--query properties.workloadProfileName \
-o tsv
表示結果がConsumptionや通常のDedicated profileの場合、そのままではConfidential Compute上で動いているとは判断できません。
次に、環境側のworkload profile一覧を確認します。
az containerapp env workload-profile list \
--name <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--query "[].{name:name, workloadProfileType:workloadProfileType}"
workloadProfileTypeがDC4やDC8のようにDCで始まるプロファイルであれば、Confidential Compute用のプロファイルとして確認できます。公式ドキュメントでも、割り当て先プロファイルのtype/sizeがDCで始まるかを確認する手順が示されています。(Microsoft Learn)
ネットワークとシークレット管理を再確認する
Confidential Computeは、Key Vault、Managed Identity、RBAC、Private Endpoint、mTLS、WAF、NSG、UDRなどの代替ではありません。
処理中データの保護が強化されても、次のような問題は別途対策が必要です。
| よくある誤解 | 正しい考え方 |
|---|---|
| Confidential Computeにすればシークレット漏えい対策は不要 | シークレットはKey VaultやManaged Identityで管理する |
| メモリが保護されるので脆弱性対策は不要 | アプリの脆弱性、依存ライブラリ、認可ミスは別問題 |
| DC profileにしただけで通信も完全に閉じる | ingress、egress、Private Endpoint、VNet設計は別途確認 |
| GAなので全リージョン・全構成で使える | 実際の対応リージョンとprofile availabilityを確認する |
| 既存アプリが自動的に保護される | DCシリーズworkload profileへの割り当てが必要 |
Azure Container Appsのセキュリティ概要でも、シークレット管理では本番環境でシークレットを直接保存することを避け、Azure Key Vault連携や最小権限、ローテーションを使うことが推奨されています。(Microsoft Learn)
開発者・DevOps向けの移行手順
既存のContainer AppsをConfidential Compute前提に移行する場合は、いきなり本番アプリを切り替えるのではなく、検証用のDC profileを用意して段階的に進めるのが安全です。
| 手順 | 作業内容 | 確認ポイント |
|---|---|---|
| 事前評価 | 対象アプリが機密・規制データを処理しているか分類 | 本当にConfidential Computeが必要か |
| リージョン確認 | 候補リージョンでDC profileが使えるか確認 | データ所在地、遅延、DR要件 |
| プロファイル作成 | DCシリーズDedicated workload profileを追加 | DC4、DC8など必要リソースに合うか |
| 検証デプロイ | 既存イメージをDC profileに割り当ててデプロイ | 起動、スケール、外部接続、監視 |
| 性能比較 | 通常profileとDC profileで負荷試験 | レイテンシ、CPU、メモリ、コスト |
| 段階展開 | RevisionやTraffic splitで段階的に切り替え | ロールバック手順を用意 |
| 運用反映 | IaC、Runbook、監査資料を更新 | 誰が変更できるかも管理 |
既存環境にworkload profileを追加する場合の基本形は次の通りです。
az containerapp env workload-profile add \
--resource-group <RESOURCE_GROUP> \
--name <ENVIRONMENT_NAME> \
--workload-profile-type DC4 \
--workload-profile-name <WORKLOAD_PROFILE_NAME> \
--min-nodes <MIN_NODES> \
--max-nodes <MAX_NODES>
アプリ作成時にDC profileへ割り当てる場合は、--workload-profile-nameを指定します。
az containerapp create \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--environment <ENVIRONMENT_NAME> \
--workload-profile-name <WORKLOAD_PROFILE_NAME> \
--image <CONTAINER_IMAGE>
既存アプリのprofile変更を行う場合も、Azure CLIのaz containerapp updateには--workload-profile-nameパラメーターが用意されています。複数リビジョンモードでは、更新により最新リビジョンを基に新しいリビジョンが作成される点も確認しておきましょう。(Microsoft Learn)
az containerapp update \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--workload-profile-name <WORKLOAD_PROFILE_NAME>
展開時に失敗しやすいポイント
Confidential Computeの導入でつまずきやすいのは、セキュリティそのものよりも、リージョン、profile、コスト、デプロイ定義のずれです。
Consumption profileのままデプロイしてしまう
一番多いミスは、DC profileを作成したのにアプリ側のworkloadProfileNameがConsumptionのままになっているケースです。
この状態では、Confidential Computeを使う意図があっても、アプリはDC profile上で動いていません。CI/CDのYAML、Bicep、Terraform、ARMテンプレート、GitHub Actions、Azure DevOps PipelineにworkloadProfileNameが固定されていないか確認してください。
リージョン制約を見落とす
日本国内リージョンでの低遅延やデータ所在地要件がある場合、Confidential Computeの対応リージョンと要件が合わない可能性があります。
この場合は、すぐ本番移行を決めるのではなく、次のように判断します。
| 判断軸 | 確認すること |
|---|---|
| データ所在地 | 契約・規制上、対象リージョンで処理してよいか |
| レイテンシ | ユーザーや連携先システムから許容できるか |
| DR構成 | 同等のConfidential Compute構成を別リージョンに用意できるか |
| 監査要件 | リージョン、profile、証跡を説明できるか |
Dedicated profileのコスト感を見誤る
Consumption profileから移行する場合、スケールゼロ前提のコスト構造とは変わります。Dedicated profileでは、最小ノード数、最大ノード数、profileのサイズ、稼働時間がコストに影響します。
コストを見積もるときは、単に「Confidential Computeが必要か」ではなく、次をセットで確認してください。
- DC4で足りるのか、DC8以上が必要か
- 最小ノード数をいくつにするか
- 通常時とピーク時のレプリカ数
- 1つのDC profileに複数アプリを載せるか
- 監視、ログ、データ転送、関連サービスの料金
- 本番・ステージング・DR環境まで含めた総額
セキュリティ対策をConfidential Computeだけに寄せてしまう
Confidential Computeは「処理中データの保護」を強化する技術です。アプリケーションの認可ミス、過剰な権限、公開されたingress、脆弱な依存ライブラリ、漏えいしたAPIキーを自動的に解決するものではありません。
特に本番導入前には、次のチェックを済ませておくべきです。
| 項目 | 確認内容 |
|---|---|
| ID管理 | Managed Identityを使い、接続文字列やキーの直書きを避ける |
| シークレット | Key Vault参照、ローテーション、アクセス権限を確認する |
| ネットワーク | 内部ingress、Private Endpoint、egress制御を設計する |
| イメージ | ACRの権限、脆弱性スキャン、タグ固定を確認する |
| 監視 | Azure Monitor、Log Analytics、アラートを整備する |
| 変更管理 | DC profileへの変更をIaCとレビューで管理する |
導入判断の基準
Confidential Computeを採用するか迷った場合は、次の3つに当てはまるかで判断すると現実的です。
処理中データの保護を説明する必要がある
監査、顧客契約、社内セキュリティ基準、規制対応で「データを処理している瞬間の保護」を説明する必要があるなら、Confidential Computeは検討価値があります。
逆に、保存時暗号化、TLS、Key Vault、Private Link、RBACで要件を満たしている一般的な社内アプリなら、優先度は下がります。
リージョンと運用条件が合う
利用可能リージョンがシステム要件に合わない場合、技術的に魅力があっても本番導入は難しくなります。
特に日本国内の利用者向けサービスでは、レイテンシ、データ所在地、サポート体制を確認してから判断してください。
Dedicated profileの運用コストを許容できる
Confidential Computeは高い分離性を求めるワークロード向けです。コスト最適化だけが目的のアプリには向きません。
「高機密データを扱うため、追加の分離性と監査説明力に価値がある」と判断できる場合に、DC profileへの移行を進めるのがよいでしょう。
まず実施すべきアクション
今回のAzure Container Apps Confidential Compute一般提供を受けて、管理者と開発者は次の順に動くのがおすすめです。
- Azure Container Appsで稼働しているアプリを棚卸しする
- 個人情報、機密情報、規制対象データを処理するアプリを分類する
- 候補リージョンでDCシリーズworkload profileが使えるか確認する
- 検証環境にDC profileを作成し、既存イメージを割り当てて動作確認する
- 通常profileとの性能・コスト差を測定する
- IaC、CI/CD、監視、ロールバック手順を更新する
- 本番移行の判断材料として、セキュリティ設計書や監査資料に反映する
Confidential Computeは、単に「セキュリティ機能をオンにする」ものではありません。どのデータを、どのリージョンで、どのprofile上で、どの運用ルールに基づいて処理するのかを明確にして初めて効果を発揮します。
今回の一般提供は、Azure Container Appsを高機密ワークロードの実行基盤として検討するうえで重要な更新です。まずは既存アプリのworkload profileとデータ分類を確認し、DC profileで小さく検証するところから始めるのが安全です。

コメント