Azure Database for PostgreSQLのクロステナントCMKとは?Public Previewの変更点と確認ポイント

2026年6月3日に公開・更新された Azure の告知で注目すべき点は、Azure Database for PostgreSQL – Flexible Server が、別の Microsoft Entra テナントにある Azure Key Vault/Managed HSM のカスタマー マネージド キー(CMK)を使えるようになったことです。つまり、SaaS 事業者やグループ会社のように「データベースを運用するテナント」と「暗号化キーを管理するテナント」を分けたいケースで、より現実的な鍵管理設計が取れるようになります。なお、名称に Azure SQL が含まれて検索されることがありますが、今回の対象は Azure SQL Database や Azure SQL Managed Instance ではなく、Azure Database for PostgreSQL – Flexible Server です。Microsoft の Azure Updates では In preview は非本番での利用・検証向けとして扱われます。 (マイクロソフト Azure)

目次

今回の変更点:クロステナントCMKで「DB運用」と「鍵管理」を分離できる

Azure Database for PostgreSQL – Flexible Server では、保存データは常に暗号化されます。対象には、システムデータベース、ユーザーデータベース、サーバーログ、WAL、バックアップなどが含まれます。既定ではサービス マネージド キー(SMK)が使われますが、より厳格な鍵管理が必要な場合は、Azure Key Vault または Azure Key Vault Managed HSM に保存したカスタマー マネージド キー(CMK)を利用できます。 (Microsoft Learn)

今回の Public Preview で追加されたのは、PostgreSQL Flexible Server と Key Vault/Managed HSM が異なる Microsoft Entra テナントに存在する構成です。Microsoft Learn では、このクロステナントCMKを、サービス提供者側のテナントに PostgreSQL リソースがあり、顧客側のテナントに暗号化キーがあるシナリオとして説明しています。 (Microsoft Learn)

観点従来のCMK構成クロステナントCMKのPublic Preview
PostgreSQLサーバーサービス提供者または利用者のテナント内サービス提供者側の Microsoft Entra テナント
暗号化キー原則として同じテナントの Key Vault/Managed HSM顧客側など別テナントの Key Vault/Managed HSM
主な用途自社内のセキュリティ統制、鍵ローテーション管理SaaS、ISV、グループ会社、顧客管理キー要件への対応
運用上の注意Key Vault、ID、権限、ローテーションの管理が必要それに加えて、テナント間のアプリ登録・権限委任・責任分界が必要
本番利用通常のCMKは要件に応じて利用可能Public Preview のため、本番適用は慎重に判断

この変更の本質は、暗号化そのものが新しくなったというより、暗号化キーの所有・管理をデータベース運用者から分離しやすくなった点にあります。

たとえば、SaaS 事業者が Azure Database for PostgreSQL – Flexible Server を自社テナントで運用し、顧客が自社テナントの Key Vault で暗号化キーを管理する構成が考えられます。顧客はキーのライフサイクルを自分たちのセキュリティポリシーに合わせて管理でき、サービス提供者は PostgreSQL 基盤の運用に集中できます。

Azure SQLの更新ではなく、Azure Database for PostgreSQLの更新として確認する

今回のトピックは「Azure SQL」という文脈で見つける人もいますが、実際の対象サービスは Azure Database for PostgreSQL – Flexible Server です。

Azure SQL Database、Azure SQL Managed Instance、SQL Server on Azure VM のCMK設定が直接変更されたわけではありません。Azure SQLを運用している管理者が確認すべきなのは、「自社のAzureデータベース全体の暗号化キー管理方針に影響するか」という観点です。

特に、次のような組織では Azure SQL 担当者も情報を押さえておく価値があります。

  • Azure SQL と Azure Database for PostgreSQL を併用している
  • クラウドDBの暗号化キー管理をセキュリティ部門が一元管理している
  • 顧客別テナント、事業会社別テナント、国・地域別テナントを使い分けている
  • SaaS基盤で「顧客が鍵を持つ」モデルを検討している

逆に、Azure SQL Database だけを使っていて PostgreSQL Flexible Server を使っていない場合、今回のプレビューによって既存環境の設定変更が必要になるわけではありません。

影響を受ける可能性が高い対象者

今回の Public Preview は、すべての Azure 利用者に大きな影響がある変更ではありません。影響が大きいのは、テナント分離と鍵管理を厳密に設計している組織です。

対象者確認すべき理由
SaaS/ISV事業者サービス提供者テナントでDBを運用し、顧客テナントのキーで暗号化する設計が検討しやすくなる
セキュリティ管理者Key Vault、Managed HSM、Microsoft Entra ID、RBAC、監査ログの設計が必要
Azure管理者サーバー作成時の暗号化方式、リージョン、ID、権限設定を誤ると後から変更しにくい
PostgreSQL運用担当者キー失効や権限削除がDB接続不可につながるため、監視と復旧手順が重要
開発者/SREIaC、デプロイ手順、障害時の切り分け、切り戻し設計に影響する
情報システム部門顧客管理キー要件や委託先管理の説明材料として使える可能性がある

一方で、既定のサービス マネージド キーを使っているだけの小規模な検証環境や、単一テナント内で完結している環境では、急いで対応する必要はありません。

クロステナントCMKの構成イメージ

クロステナントCMKでは、大きく分けて「サービス提供者側テナント」と「顧客側テナント」の2つを意識します。Microsoft Learn の説明では、サービス提供者側でマルチテナントアプリケーションを作成し、ユーザー割り当てマネージド ID をフェデレーション資格情報として構成します。顧客側では、そのマルチテナントアプリケーションをインストールし、Key Vault または Managed HSM とキーを用意して、必要なキー権限を付与します。 (Microsoft Learn)

役割主な作業
サービス提供者側テナントマルチテナントアプリの作成、ユーザー割り当てマネージド ID の構成、PostgreSQL Flexible Server の作成
顧客側テナントKey Vault/Managed HSM の用意、暗号化キーの作成または利用、マルチテナントアプリへのキー権限付与
PostgreSQL Flexible Server作成時に CMK、ユーザー割り当てマネージド ID、キー識別子、マルチテナントアプリのクライアントIDを関連付ける

実務では、サービス提供者と顧客の間で「誰がどの操作を行うのか」を事前に決めておく必要があります。特に、キーの削除、無効化、期限切れ、権限変更はデータベース可用性に直結します。

管理者が最初に確認すべき設定項目

クロステナントCMKを試す前に、まず次の項目を確認してください。

確認項目判断基準
対象サービスAzure Database for PostgreSQL – Flexible Server であること。Azure SQL Database ではない
利用目的顧客管理キー、SaaS、テナント分離、鍵管理分離などの明確な要件があるか
利用環境Public Preview のため、本番ではなく検証・非本番から始める
リージョンプレビュー対応リージョンに対象環境を作れるか
サーバー作成タイミングCMK方式はサーバー作成時に選ぶ必要があるため、既存サーバーへの単純な後付けを前提にしない
Key Vault/Managed HSMキー、削除保護、監査、ネットワーク制御、権限設計が整っているか
Microsoft Entra IDマルチテナントアプリ、ユーザー割り当てマネージド ID、フェデレーション資格情報を管理できるか
運用体制キーローテーション、障害時復旧、顧客との責任分界を文書化できるか

特に重要なのは、CMKは暗号化を強化する便利機能ではなく、鍵を失うとデータベースの可用性に影響する運用責任を引き受ける機能だという点です。

対応リージョンとプレビュー制限

Microsoft Learn によると、クロステナントCMKのプレビューは、現時点で East US 2、West US 2、US Central、Australia Southeast、Australia East、North Europe のリージョンに限定されています。また、Azure PowerShell と Azure CLI ではまだサポートされておらず、geo-redundant backups を有効にしたサーバー作成や long-term retention backup operations も現在はサポート対象外とされています。 (Microsoft Learn)

制限実務上の影響
対応リージョンが限定されるJapan East/Japan West 前提の本番構成にはそのまま適用できない可能性がある
Azure PowerShell/Azure CLI 未対応自動化は Azure Portal、ARM テンプレート、REST API などの対応状況を確認して設計する
geo-redundant backups と LTR に制限DR、長期保管、監査要件がある環境では本番採用の前に代替策が必要
Public PreviewSLA、サポート条件、仕様変更の可能性を前提に検証する

日本国内リージョンでの利用を前提にしている場合は、まず「現時点で検証できるリージョン」と「将来本番配置したいリージョン」を分けて考える必要があります。プレビュー検証は対応リージョンで行い、本番設計はGAやリージョン拡大の情報を待つ、という進め方が現実的です。

既存サーバーへの影響と移行時の考え方

既存の Azure Database for PostgreSQL – Flexible Server に対して、サービス マネージド キーからカスタマー マネージド キーへ同じサーバー上で切り替えることはできません。Microsoft Learn では、データ暗号化で SMK と CMK のどちらを使うかはサーバー作成時に決定し、作成後に切り替えられないと説明されています。既存サーバーで方式を変えたい場合は、バックアップを新しいサーバーへ復元する方法が選択肢になります。 (Microsoft Learn)

移行を検討する場合は、次の流れで進めると失敗しにくくなります。

ステップ作業内容注意点
現状確認既存サーバーが SMK か CMK か、リージョン、バックアップ、レプリカ構成を確認暗号化方式の後付け変更を前提にしない
要件整理顧客管理キー、テナント分離、監査、DR、長期保管の要件を整理プレビュー制限と矛盾しないか確認
検証環境作成対応リージョンで新しい PostgreSQL Flexible Server を作成本番データではなく検証データから始める
クロステナント設定マルチテナントアプリ、ID、Key Vault権限、キー識別子を設定顧客側テナントの作業手順も文書化
復元・接続確認アプリケーション接続、性能、バックアップ、監視を確認キー権限を意図的に外す障害テストも行う
切り替え計画DNS、接続文字列、メンテナンス時間、ロールバックを設計プレビュー機能を本番投入する場合はリスク承認が必要

ここで避けたいのは、「CMKを有効にすればセキュリティが上がる」とだけ考えて、復旧手順を作らずに進めることです。CMKでは、キー管理の自由度が上がる一方で、キーにアクセスできないとDBが利用できなくなるリスクも増えます。

Key Vaultとキー設定で確認すべきポイント

CMKを使う場合、Key Vault または Managed HSM の設計が重要です。Microsoft Learn では、Key Vault の soft-delete、purge protection、権限付与、キーの種類、キー状態などが要件として挙げられています。キーは非対称の RSA または RSA-HSM が対象で、2,048、3,072、4,096 ビットがサポートされ、より高いセキュリティには 4,096 ビットが推奨されています。 (Microsoft Learn)

設定項目推奨・確認ポイント
soft-delete誤削除からの復旧に備えて有効化する
purge protection削除後すぐに完全消去されないようにする
削除済みコンテナー保持期間90日保持が推奨されている
キーの種類RSA または RSA-HSM を使用する
キーサイズ2,048/3,072/4,096 ビット。高セキュリティ要件では 4,096 ビットを検討
キー状態Enabled であること
有効開始日時設定する場合は過去日時になっていること
有効期限設定する場合は期限切れにならない運用を用意する
監査ログKey Vault のアクセスログを Azure Monitor Logs やSIEMに連携する
リソースロック誤削除防止のため Key Vault にロックを設定する

セキュリティ部門が Key Vault を管理し、DBA が PostgreSQL を管理する組織では、操作権限を明確に分けることが重要です。たとえば、DBAにはDB操作権限を付与しても、キーの削除や無効化までは許可しない設計が望ましいケースがあります。

権限設定で失敗しやすいポイント

CMK構成で最も多いトラブルは、キーそのものではなく、IDと権限の不足です。通常のCMKでは、Azure Database for PostgreSQL Flexible Server のユーザー割り当てマネージド ID に対して、Key Vault の RBAC 権限モデルなら Key Vault Crypto Service Encryption User ロール、従来のアクセスポリシーなら get、list、wrapKey、unwrapKey などの権限が必要です。 (Microsoft Learn)

クロステナントCMKでは、これに加えてマルチテナントアプリとフェデレーション資格情報が関係します。サービス提供者側だけで設定が完結しないため、顧客側テナントの管理者がアプリのインストールやKey Vault権限付与を行える状態にしておく必要があります。

よくある失敗は次の通りです。

失敗例起きる問題対策
顧客側テナントでアプリが承認されていないPostgreSQLサーバー作成時にキーへアクセスできない事前に承認手順と必要権限を顧客側に共有する
Key Vault権限が不足しているキーの取得・ラップ・アンラップに失敗するRBACまたはアクセスポリシーを最小権限で正しく付与する
キー識別子を誤るサーバー作成やローテーションが失敗するKey Identifier をコピーし、バージョンあり/なしを運用方針に合わせる
Key Vaultのネットワーク制限が厳しすぎるPostgreSQLからキーに到達できない信頼された Microsoft サービスの許可など、公式推奨に沿って確認する
管理者がキーを無効化・削除するDBが Inaccessible になる削除保護、監査、変更承認フローを設定する

特にSaaSで顧客管理キーを扱う場合は、顧客がキーを無効化したときの扱いを契約・運用手順に含めるべきです。「キーを止める=データアクセスを止める」という意味になるため、サポート窓口や障害対応フローにも影響します。

デプロイ時に確認したいARM/REST APIの要点

Microsoft Learn の例では、クロステナントCMKを ARM テンプレートや REST API で構成する場合、primaryKeyUriprimaryUserAssignedIdentityprimaryFederatedIdentityClientId などの指定が必要です。また、REST API の例では api-version=2025-03-15-privatepreview またはそれ以降を使う旨が示されています。 (Microsoft Learn)

実務でIaC化する場合は、次の観点をレビューしてください。

パラメーター意味確認ポイント
primaryKeyUri顧客側Key Vault/Managed HSMにあるキーのURIバージョン付きURIか、バージョンなしURIかを運用方針に合わせる
primaryUserAssignedIdentityPostgreSQL Flexible Serverに割り当てるユーザー割り当てマネージド IDサービス提供者側テナントで正しく作成・関連付けされているか
primaryFederatedIdentityClientIdマルチテナント Microsoft Entra アプリのクライアントID省略するとクロステナントCMKとして扱われない可能性がある
dataEncryption.typeAzure Key Vault を使った暗号化指定SMK/CMKの切り替え不可を理解して作成する

注意したいのは、キーURIだけを更新する場合でも、データ暗号化関連のプロパティをまとめて指定する必要がある点です。Microsoft Learn では、primaryFederatedIdentityClientId をリクエスト本文に含めないと、クロステナントCMK構成ではなく非クロステナントCMK構成として扱われると説明されています。 (Microsoft Learn)

キーローテーション時の注意点

CMK運用では、キーの作成よりもローテーションのほうが重要です。Azure Database for PostgreSQL Flexible Server では、バージョンなしキーURIを使うことで、Key Vault側で新しいキー バージョンが利用可能になった際に、PostgreSQL側が新しいバージョンを自動的に取り込む構成が可能です。 (Microsoft Learn)

ただし、運用では次の点を守る必要があります。

運用項目注意点
自動キー バージョン更新バージョンなしキーURIを使う設計にすると、手作業の更新漏れを減らせる
手動ローテーションバージョン付きURIを使っている場合、PostgreSQL側の参照更新が必要
旧キーの扱いローテーション後すぐに無効化しない
監視ローテーション後にサーバー状態、Activity log、アプリ接続を確認する
作業手順顧客側テナントとサービス提供者側テナントの両方で手順を合わせる

Microsoft Learn では、キーを新しいバージョンにローテーションする場合、再暗号化が成功するまで古いキーを利用可能な状態に保つ必要があり、少なくとも2時間待ってから古いキー バージョンへのアクセスを無効化することが推奨されています。 (Microsoft Learn)

障害時に起きること:キーにアクセスできないとDBは利用不可になる

CMK構成では、Azure Database for PostgreSQL Flexible Server が継続的にキーへアクセスできる必要があります。キーが無効化、削除、期限切れ、到達不能になった場合、サーバーは Inaccessible 状態になり、接続を拒否し始める可能性があります。Microsoft Learn では、キーが無効化・削除・期限切れ・到達不能になった場合、通常60分以内に Inaccessible になり、キーが再び利用可能になった後も Ready に戻るまで最大60分かかる場合があると説明されています。 (Microsoft Learn)

原因影響復旧の考え方
キーの期限切れDBがキーを使えず接続不可になるキーの有効期限を延長し、状態回復を待つ
キーの削除DBが暗号化キーにアクセスできないKey Vaultのsoft-deleteから復旧する
Key Vaultの削除DB全体がキーにアクセスできないKey Vaultを復旧し、再検証を待つ
マネージド ID の削除キー取得に使うIDが失われるIDを復旧または新規作成し、サーバー側設定を更新する
RBACロール削除wrapKey/unwrapKeyなどが実行できない必要なロールまたはアクセスポリシーを再付与する
Key Vaultファイアウォール変更PostgreSQLからKey Vaultに到達できないネットワーク制御と信頼されたサービス設定を見直す

本番相当の検証では、正常系だけでなく「キー権限を外したら何が起きるか」「復旧にどれくらいかかるか」まで確認しておくべきです。これは障害訓練としても重要です。

開発者・SREが確認すべきアプリケーション側の影響

クロステナントCMKは主にインフラ・セキュリティ寄りの機能ですが、アプリケーション側にも影響します。

まず、接続文字列やSQLクエリの書き方が直接変わるわけではありません。アプリケーションは通常どおり PostgreSQL に接続します。ただし、キーアクセス障害が起きた場合は、アプリケーションから見ると「DB接続不可」「タイムアウト」「認証以前の接続失敗」のように見える可能性があります。

開発者・SREは、次の点を確認してください。

  • DB接続失敗時のリトライが過剰になっていないか
  • キーアクセス障害と通常のネットワーク障害を監視上で区別できるか
  • アプリケーションログに接続先サーバー名、タイムスタンプ、エラーコードが残るか
  • デプロイ時に新サーバーへの切り替え手順を自動化できるか
  • ロールバック時に旧サーバーへ戻せるDNS・接続文字列設計になっているか
  • 顧客側のキー操作が原因の停止を、SLAやサポート範囲でどう扱うか

SaaSでは、顧客が自分のキーを管理するほど、障害原因がサービス提供者側だけに閉じなくなります。SREの運用設計では、顧客側テナントの設定変更もインシデント要因として扱う必要があります。

導入判断の基準

クロステナントCMKは、要件に合えば非常に有用ですが、すべての環境に必要な機能ではありません。導入判断は、次の基準で行うとよいでしょう。

判断向いているケース
すぐ検証すべきSaaSで顧客管理キー要件がある、ISVとして顧客テナントのキー利用を求められている
情報収集に留める将来的にテナント分離を検討しているが、現在は単一テナントCMKで足りている
今は不要PostgreSQL Flexible Serverを使っていない、SMKで十分、キー管理の追加負荷を避けたい
本番適用は慎重に判断国内リージョン、geo-redundant backups、LTR、CLI自動化が必須の環境

セキュリティ要件が強いほど魅力的に見えますが、プレビュー段階では制限もあります。特にDRや長期保管が必須のシステムでは、クロステナントCMKだけを前提に設計せず、現行のバックアップ・レプリケーション要件と突き合わせてください。

実務での確認チェックリスト

最後に、管理者・開発者が実際に動くためのチェックリストを整理します。

項目確認
サービス確認対象が Azure Database for PostgreSQL – Flexible Server である
影響確認Azure SQL Database への直接変更ではないことを関係者に共有した
利用目的顧客管理キー、SaaS、テナント分離などの要件が明確である
リージョンPublic Preview 対応リージョンで検証環境を作成できる
サーバー作成CMKはサーバー作成時に選ぶ必要があることを理解した
Key Vaultsoft-delete、purge protection、監査、リソースロックを確認した
キーRSA/RSA-HSM、キーサイズ、Enabled状態、有効期限を確認した
Entra IDマルチテナントアプリ、フェデレーション資格情報、ユーザー割り当てマネージド ID を設計した
権限Key Vault権限を最小権限で付与した
自動化ARM/REST API のパラメーターをレビューした
監視Resource health、Activity log、Key Vaultログのアラートを用意した
障害訓練キー失効・権限削除・Key Vault到達不可の復旧手順を検証した
移行既存サーバーのインプレース切り替えを前提にしていない
本番判断Public Preview の制限とリスクを承認プロセスに載せた

今回の Public Preview は、Azure Database for PostgreSQL – Flexible Server をSaaSや複数テナント構成で使う組織にとって、鍵管理の選択肢を広げる重要なアップデートです。まずは既存環境の暗号化方式、PostgreSQL Flexible Server の利用有無、Key Vault 管理体制を棚卸しし、対応リージョンの非本番環境で小さく検証するところから始めるのが安全です。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次