次の方法で共有


Azure CLI を使用してカスタマー マネージド キー (CMK) によって暗号化されたデータを含む、Azure Database for PostgreSQL - フレキシブル サーバーを作成および管理する

適用対象: Azure Database for PostgreSQL - フレキシブル サーバー

Note

以下の CLI の例は、2.45.0 バージョンの Azure Database for PostgreSQL フレキシブル サーバー CLI ライブラリに基づいています

この記事では、カスタマー マネージド キーによって暗号化されたデータがある Azure Database for PostgreSQL フレキシブル サーバーを、Azure CLI を使用して作成および管理する方法について説明します。 カスタマー マネージド キー (CMK) 機能と、Azure Database for PostgreSQL フレキシブル サーバーの詳細については、概要に関するページを参照してください。

サーバーの作成時にカスタマー マネージド キーを設定する

前提条件:

  • Azure サブスクリプションがあり、そのサブスクリプションの管理者である必要があります。

以下の手順に従って、Azure CLI を使用して Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成中に CMK を有効にします。

  1. カスタマー マネージド キーで使用するキー コンテナーとキーを作成します。 また、キー コンテナーの消去防止と論理的な削除も有効にします。
     az keyvault create -g <resource_group> -n <vault_name> --location <azure_region> --enable-purge-protection true
  1. 作成された Azure Key Vault で、Azure Database for PostgreSQL フレキシブル サーバー インスタンスのデータ暗号化に使うキーを作成します。
     keyIdentifier=$(az keyvault key create --name <key_name> -p software --vault-name <vault_name> --query key.kid -o tsv)
  1. Azure Key Vault からキーを取得するのに使うマネージド ID を作成します。
 identityPrincipalId=$(az identity create -g <resource_group> --name <identity_name> --location <azure_region> --query principalId -o tsv)
  1. 上記で作成したマネージド ID に、wrapKeyunwrapKeygetlist というキーに関するアクセス許可を持つアクセス ポリシーを Azure KeyVault に追加します。
az keyvault set-policy -g <resource_group> -n <vault_name>  --object-id $identityPrincipalId --key-permissions wrapKey unwrapKey get list
  1. 最後に、CMK ベースの暗号化を有効にして Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成します。
az postgres flexible-server create -g <resource_group> -n <postgres_server_name> --location <azure_region>  --key $keyIdentifier --identity <identity_name>

CMK 対応 Azure Database for PostgreSQL フレキシブル サーバー インスタンスでカスタマー マネージド キーを更新する

前提条件:

  • Azure サブスクリプションがあり、そのサブスクリプションの管理者である必要があります。
  • Azure Database for PostgreSQL フレキシブル サーバー インスタンスが作成されるリージョンにキーがあるキー コンテナー。 このチュートリアルに従って、Key Vault を作成し、キーを生成します。

データ暗号化を使ってサーバーを作成してから、キーまたは ID を変更またはローテーションするには、次の手順を実行します。

  1. 既存のサーバーに対するデータ暗号化のためのキー/ID を変更します。 まず、新しいキー ID を取得します。
 newKeyIdentifier=$(az keyvault key show --vault-name <vault_name> --name <key_name>  --query key.kid -o tsv)
  1. 新しいキーまたは ID、あるいはその両方を使ってサーバーを更新します。
  az postgres flexible-server update --resource-group <resource_group> --name <server_name> --key $newKeyIdentifier --identity <identity_name>

次のステップ