次の方法で共有


Azure Cosmos DB for PostgreSQL でカスタマー マネージド キーを使用したデータ暗号化を有効にする

適用対象: Azure Cosmos DB for PostgreSQL (PostgreSQL の Citus データベース拡張機能を利用)

前提条件

カスタマー マネージド キーを使用したデータ暗号化を有効にする

重要

Azure Cosmos DB for PostgreSQL クラスターがデプロイされるのと同じリージョンに、次のすべてのリソースを作成します。

  1. ユーザー割り当てマネージド ID を作成します。 現在、Azure Cosmos DB for PostgreSQL では、ユーザー割り当てマネージド ID のみがサポートされています。

  2. Azure Key Vault を作成し、作成したユーザー割り当てマネージド ID にアクセス ポリシーを追加します。キーのアクセス許可は、[取得]、[キーの折り返しを解除]、および [キーを折り返す] です。

  3. キー コンテナーでキーを生成します (サポートされているキーの種類: RSA 2048、3071、4096)。

  4. Azure Cosmos DB for PostgreSQL クラスターの作成時にカスタマー マネージド キー暗号化のオプションを選択し、手順 1、2、3 で作成した適切なユーザー割り当てマネージド ID、キー コンテナー、キーを選択します。

詳細な手順

ユーザー割り当てマネージド ID

  1. グローバル検索バーでマネージド ID を検索します。

    Azure portal の [マネージド ID] のスクリーンショット。

  2. Azure Cosmos DB for PostgreSQL クラスターと同じリージョンに、新しいユーザー割り当てマネージド ID を作成します。

    Azure portal のユーザー割り当てマネージド ID ページのスクリーンショット。

詳細については、「ユーザー割り当てマネージド ID」を参照してください。

Key Vault

Azure Cosmos DB for PostgreSQL でカスタマー マネージド キーを使用するには、暗号化キーをホストするために使用しようとしている Azure Key Vault インスタンスで [論理的な削除] と [消去保護] の 2 つのプロパティを設定する必要があります。

  1. 新しい Azure Key Vault インスタンスを作成する場合は、作成時にこれらのプロパティを有効にします。

    Key Vault のプロパティのスクリーンショット。

  2. 既存の Azure Key Vault インスタンスを使用している場合は、Azure portal の [プロパティ] セクションを見て、これらのプロパティが有効であることを確認できます。 これらのプロパティのいずれかが有効になっていない場合は、次のいずれかの記事の「消去保護を有効にする」と「論理的な削除を有効にする」のセクションを参照してください。

  3. キー コンテナーには、削除されたコンテナーを保持する日数に 90 日が設定されている必要があります。 既存の Key Vault にこれより小さい数値が構成されている場合、作成後にこの設定を変更することはできないため、新しい Key Vault を作成する必要があります。

    重要

    Azure Key Vault インスタンスは、すべてのネットワークからのパブリック アクセスを許可する必要があります。

Key Vault にアクセス ポリシーを追加する

  1. Azure portal から、暗号化キーをホストするために使用しようとしている Azure Key Vault インスタンスに移動します。 左側のメニューから [アクセス構成] を選択します。 [アクセス許可モデル] で [Vault アクセス ポリシー] が選択されていることを確認し、[アクセス ポリシーに移動] を選択します。

    Key Vault のアクセス構成のスクリーンショット。

  2. [+ 作成] を選択します。

  3. [アクセス許可] タブの [キーのアクセス許可] ドロップダウン メニューで、[取得]、[キーの折り返しを解除]、および [キーを折り返す] の各アクセス許可を選択します。

    Key Vault のアクセス許可設定のスクリーンショット。

  4. [プリンシパル] タブで、前提条件の手順で作成したユーザー割り当てマネージド ID を選択します。

  5. [確認と作成] に進み、[作成] を選択します。

キーの作成およびインポート

  1. Azure portal から、暗号化キーをホストするために使用しようとしている Azure Key Vault インスタンスに移動します。

  2. 左側のメニューから [キー] を選択し、[+ 生成/インポート] を選択します。

    キー生成ページのスクリーンショット。

  3. DEK の暗号化に使用されるカスタマーマネージド キーに使用できるのは、非対称の RSA キーの種類のみです。 すべての RSA キー サイズ (2048、3072、4096) がサポートされています。

  4. キーがアクティブ化された日時 (設定する場合) は、過去の日付と時刻にする必要があります。 有効期限 (設定する場合) は、将来の日付と時刻にする必要があります。

  5. キーは、"有効" 状態になっている必要があります。

  6. Key Vault に既存のキーをインポートする場合は、サポートされているファイル形式 (.pfx.byok.backup) で指定するようにしてください。

  7. キーを手動でローテーションする場合、古いキー バージョンは少なくとも 24 時間は削除しないでください。

新しいクラスターのプロビジョニング中に CMK 暗号化を有効にする

  1. 新しい Azure Cosmos DB for PostgreSQL クラスターのプロビジョニング中に、[基本] タブと [ネットワーク] タブで必要な情報を指定した後、[暗号化] タブに移動してください。 暗号化構成ページのスクリーンショット。

  2. [データ暗号化キー] オプションで [カスタマー マネージド キー] を選択してください。

  3. 前のセクションで作成したユーザー割り当てマネージド ID を選択してください。

  4. 前の手順で作成した Key Vault を選択してください。これには、前の手順で選択したユーザー マネージド ID へのアクセス ポリシーが含まれています。

  5. 前の手順で作成したキーを選択し、[確認と作成] を選択してください。

  6. クラスターが作成されたら、Azure portal で Azure Cosmos DB for PostgreSQL クラスターの [データ暗号化] ブレードに移動して、CMK の暗号化が有効になっていることを確認してください。 [データ暗号化] タブのスクリーンショット。

注意

データ暗号化は、新しいクラスターの作成時にのみ構成でき、既存のクラスターでは更新できません。 既存のクラスターで暗号化構成を更新する回避策は、クラスターの復元を実行し、新しく復元されたクラスターの作成時にデータ暗号化を構成することです。

高可用性

プライマリ クラスターで CMK 暗号化が有効になっている場合、すべての HA スタンバイ ノードはプライマリ クラスターのキーによって自動的に暗号化されます。

PITR を実行して暗号化構成を変更する

暗号化の構成は、クラスターの復元操作 (PITR - ポイントインタイム リストア) の実行中に、サービスマネージド暗号化からカスタマー マネージド暗号化に、または、その逆に変更できます。

  1. [データ暗号化] ブレードに移動し、[復元操作の開始] を選択してください。 または、[概要] ブレードで [復元] オプションを選択して PITR を実行することもできます。 PITR のスクリーンショット。

  2. クラスターの復元ページの [暗号化] タブで、データ暗号化を変更または構成できます。

Key Vault でカスタマーマネージド キーを監視する

データベースの状態を監視したり、透過的データ暗号化保護機能アクセスができなくなった場合のアラートを有効にしたりするには、Azure の次の機能を構成します。

  • Azure Resource Health: カスタマー キーにアクセスできなくなったアクセス不可能なデータベースでは、データベースへの最初の接続が拒否された後、"アクセス不可" と表示されます。

  • アクティビティ ログ: カスタマー マネージド Key Vault 内のカスタマー キーへのアクセスに失敗すると、アクティビティ ログにエントリが追加されます。 これらのイベントに対してアラートを作成した場合は、できるだけ早くアクセスを再開できます。

  • アクション グループ: 設定に応じて通知とアラートを送信するように、これらのグループを定義します。

次のステップ