この記事では、保存時の暗号化に重点を置き、データベースに格納されているデータを保護する Azure Database for MySQL のデータ暗号化を設定および管理する方法について説明します。
この記事では、次の方法について説明します。
- Azure Database for MySQL のデータ暗号化を設定します。
- 復元用のデータ暗号化を構成します。
- レプリカ サーバー用のデータ暗号化を構成します。
Azure Key Vault のアクセス構成で、Azure ロールベースのアクセス制御と Vault アクセス ポリシーの 2 種類のアクセス許可モデルがサポートされるようになりました。 この記事では、コンテナー アクセス ポリシーを使用して Azure Database for MySQL のデータ暗号化を構成する方法について説明します。
Azure Key Vault へのアクセスを許可するアクセス許可モデルとして Azure RBAC を使用することを選択できます。 そのためには、以下の 3 つのアクセス許可を持つ組み込みロールまたはカスタム ロールが必要です。キーコンテナーの [アクセス制御 (IAM)] タブを使用して"ロールの割り当て" を使用して割り当てます。
- KeyVault/vaults/keys/wrap/action
- KeyVault/vaults/keys/unwrap/action
- KeyVault/vaults/keys/read。 Azure Key Vault で管理される HSM の場合は、RBAC で "Managed HSM Crypto Service Encryption User" ロールの割り当てを割り当てる必要もあります。
暗号化の種類
Azure Database for MySQL では、データの保護に役立つ 2 種類の主要な暗号化がサポートされています。 保存時の暗号化 により、バックアップやログを含むデータベースに格納されているすべてのデータが、ディスク上の暗号化によって未承認のアクセスから保護されます。 転送中の暗号化 (通信暗号化とも呼ばれます) は、クライアント アプリケーションとデータベース サーバーの間を移動するデータをセキュリティで保護します。通常は TLS/SSL プロトコルを使用します。 これらの暗号化の種類を組み合わせることで、データが保存されている間と送信されるデータの両方に対して包括的な保護が提供されます。
- 保存時の暗号化: データベース、バックアップ、ログに格納されているデータを保護します。 これがこの記事の主な焦点です。
- 通信暗号化 (転送中の暗号化): 通常は TLS/SSL プロトコルを使用して、クライアントとサーバーの間を移動するデータを保護します。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。
- Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
> [!注] > Azure 無料アカウントを使用すると、Azure Database for MySQL フレキシブル サーバーを 12 か月間無料で試すことができます。 詳細については、「Azure 無料アカウントを使用して Azure Database for MySQL - フレキシブル サーバーを無料で試す」を参照してください。
キー操作に対する適切なアクセス許可を設定する
- Key Vault で、[アクセス ポリシー] を選択し、[作成] を選択します。
[アクセス許可] タブで、主な アクセス許可である Get、List、Wrap Key、Unwrap Key を選択します。
[プリンシパル] タブで、ユーザー割り当てマネージド ID を選択します。
- [作成]を選択します
カスタマー マネージド キーを構成する
カスタマー マネージド キーを設定するには、次の手順に従います。
- ポータルで、Azure Database for MySQL フレキシブル サーバー インスタンスに移動し、[セキュリティ] で [データ暗号化] を選択します。
[データ暗号化] ページの [ID が割り当てられていない] で、[ID の変更] を選択します。
[ユーザー割り当て* マネージド ID の 選択] ダイアログ ボックスで、demo-umi ID を選択し、[追加]** を選択します。
- [キーの選択方法] の右側で、キーを選択してキー コンテナーとキー ペアを指定するか、[キー識別子の入力] を選択します。
- [保存] を選択します。
復元用のデータ暗号化を使用する
復元操作の一部としてデータ暗号化を使用するには、次の手順に従います。
- Azure portal で、サーバーの [概要] ページに移動し、[復元] を選択 します。 1. [ セキュリティ ] タブで、ID とキーを指定します。
- [ID の変更] を選択し、[ユーザー割り当てマネージド ID] を選択し、[追加] を選択してキーを選択します。キー コンテナーとキー ペアを選択するか、キー識別子を入力できます
レプリカ サーバー用のデータ暗号化を使用する
Key Vault に格納されている顧客のマネージド キーで Azure Database for MySQL フレキシブル サーバー インスタンスが暗号化された後、新しく作成されたサーバーのコピーも暗号化されます。
- レプリケーションを構成するには、[設定] で [レプリケーション] を選択し、[レプリカの追加] を選択します。
- [レプリカ サーバーを Azure Database for MySQL に追加する] ダイアログ ボックスで、適切な [コンピューティング + ストレージ] オプションを選択し、[OK] を選択します。
> [!重要] 既にレプリカを持つカスタマー マネージド キーを使用して Azure Database for MySQL フレキシブル サーバーを暗号化する場合は、マネージド ID とキーを追加して 1 つ以上のレプリカを構成することをお勧めします。