Azure PostgreSQL の保存データ暗号化設定の確認

既定の保存データ暗号化と追加の鍵管理要件を区別し、対応する PostgreSQL 設定を使用してください。

説明

Azure PostgreSQL は保存データとバックアップを既定で暗号化します。旧 Single Server の infrastructure_encryption_enabled が false でも、平文で保存されるという意味ではありません。AzureRM 3.117.1 の文書は、このオプションを Microsoft がサポートしておらず、true にしないことを推奨しています。

想定される影響

  • 非対応の暗号化オプションによって、性能低下や運用上のエラーが発生する場合があります。
  • 既定の暗号化だけで顧客管理キーや追加の暗号化層の要件を満たすと判断すると、必要な制御が不足する場合があります。

対処方法

対応する Flexible Server で保存データの暗号化と鍵管理の要件を確認してください。顧客管理キーが必要なら、対応する設定と鍵へのアクセス・復旧手順を計画し、これを第二の暗号化層と同一視しないでください。バックアップ、TLS、ネットワークアクセスも確認し、終了した Single Server からの移行は別途準備してください。

例

変更前は終了した Single Server の過去の構成です。変更後は AzureRM 5.6.0 の Flexible Server の抜粋で、非対応の infrastructure_encryption_enabled は使用しません。認証、容量、実際のプライベート接続は別途構成する必要があります。

変更前

hcl
resource "azurerm_postgresql_server" "example" {
  name                = "example-psqlserver"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name

  public_network_access_enabled     = false
  ssl_enforcement_enabled           = true
  ssl_minimal_tls_version_enforced  = "TLS1_2"
  infrastructure_encryption_enabled = false
}

変更後

hcl
resource "azurerm_postgresql_flexible_server" "example" {
  name                = "example-psqlserver"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name

  public_network_access_enabled = false
}

Flexible Server は既定で保存データを暗号化します。この例は追加の暗号化層を有効にするものではなく、リソースの種類を変えるだけで既存データが移行されるわけでもありません。

参考資料