Azure portal を使用した Azure Database for MySQL のデータ暗号化

適用対象: Azure Database for MySQL - シングル サーバー

重要

Azure Database for MySQL シングル サーバーは廃止パスにあります。 Azure Database for MySQL フレキシブル サーバーにアップグレードすることを強くお勧めします。 Azure Database for MySQL フレキシブル サーバーへの移行の詳細については、Azure Database for MySQL シングル サーバーの現状に関するページを参照してください

Azure portal を使用して Azure Database for MySQL のデータ暗号化を設定し、管理する方法について説明します。

Azure CLI の前提条件

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

  • Azure Key Vault で、カスタマー マネージド キーに使用する Key Vault とキーを作成します。

  • カスタマー マネージド キーとして使用するには、キー コンテナーに次のプロパティが必要です。

    • 論理的な削除

      az resource update --id $(az keyvault show --name \ <key_vault_name> -o tsv | awk '{print $1}') --set \ properties.enableSoftDelete=true
      
    • 消去保護

      az keyvault update --name <key_vault_name> --resource-group <resource_group_name>  --enable-purge-protection true
      
    • データ保有日数を 90 日に設定

      az keyvault update --name <key_vault_name> --resource-group <resource_group_name>  --retention-days 90
      
  • カスタマー マネージド キーとして使用するには、キーに次の属性が必要です。

    • 有効期限がない
    • 無効化されていない
    • getwrapunwrap の操作を実行する
    • Recoverable に設定された recoverylevel 属性 (これには保有期間を 90 日に設定して、論理的な削除を有効にする必要があります)
    • 消去保護の有効化

    次のコマンドを使用して、キーの上記の属性を確認できます。

    az keyvault key show --vault-name <key_vault_name> -n <key_name>
    
  • Azure Database for MySQL - 単一サーバーは、汎用またはメモリ最適化の価格レベルと、汎用ストレージ v2 である必要があります。 処理を進める前に、「カスタマー マネージド キーを使用したデータ暗号化」の制限事項を参照してください。

キー操作に対する適切なアクセス許可を設定する

  1. Key Vault で、 [アクセス ポリシー]>[アクセス ポリシーの追加] の順に選択します。

  2. [キーのアクセス許可] を選択して、 [取得][ラップ][ラップ解除] 、および MySQL サーバーの名前である [プリンシパル] を選択します。 既存のプリンシパルの一覧にお使いのサーバー プリンシパルが見つからない場合は、登録する必要があります。 初めてデータの暗号化を設定しようとして失敗したときに、サーバー プリンシパルを登録するように求められます。

  3. [保存] を選択します。

Azure Database for MySQL のデータ暗号化を設定する

  1. Azure Database for MySQL で、 [データの暗号化] を選択して、カスタマー マネージド キーをセットアップします。

  2. キー コンテナー とキーの組を選択するか、キー識別子を入力することができます。

  3. [保存] を選択します。

  4. 確実にすべてのファイル (一時ファイルを含む) が完全に暗号化されるように、サーバーを再起動します。

復元サーバーまたはレプリカ サーバーでのデータ暗号化の使用

Key Vault に格納されている顧客のマネージド キーで Azure Database for MySQL が暗号化された後、新しく作成されたサーバーのコピーも暗号化されます。 この新しいコピーは、ローカルまたは geo 復元操作を使用するか、レプリカ (ローカル/リージョン間) 操作を使用して作成できます。 そのため、暗号化された MySQL サーバーの場合は、次の手順を使用して、暗号化済みの復元されたサーバーを作成できます。

  1. サーバーで、 [概要]>[復元] の順に選択します。

    または、レプリケーションが有効なサーバーでは、 [設定] 見出しの下にある [レプリケーション] を選択します。

  2. 復元操作が完了すると、作成された新しいサーバーは、プライマリ サーバーのキーで暗号化されます。 ただし、このサーバーの機能とオプションは無効になっており、サーバーにアクセスできません。 新しいサーバーの ID には、キー コンテナーへのアクセス許可がまだ付与されていないため、これによってデータ操作が抑止されます。

  3. サーバーにアクセスできるようにするには、復元されたサーバーでキーを再検証します。 [データの暗号化]>[キーの再検証] の順に選択します。

    Note

    新しいサーバーのサービス プリンシパルに Key Vault へのアクセス権を付与する必要があるため、最初の再検証の試行は失敗します。 サービス プリンシパルを生成するには、 [キーの再検証] を選択します。これにより、エラーが表示されますが、サービス プリンシパルが生成されます。 その後、この記事で前述したこちらの手順を参照してください。

    新しいサーバーへのアクセス権をキー コンテナーに付与する必要があります。 詳細については、キー コンテナーへのアクセス ポリシーの割り当てに関するページを参照してください。

  4. サービス プリンシパルを登録した後、もう一度キーを再検証すると、サーバーの通常の機能が再開されます。

次のステップ