説明
Transparent Data Encryption(TDE)は、Azure SQL Database のデータファイル、ログ、バックアップを保存時に暗号化します。無効にすると、記憶媒体やデータファイルが流出した際に TDE の保護を受けられません。新しいデータベースでは既定で有効ですが、既存または復元したデータベースの実際の状態を確認してください。
TDE は権限のある SQL クエリを防いだり、接続を暗号化したりするものではありません。データアクセス権限と TLS は別途管理してください。
想定される影響
- 保存データが流出した際の機密性保護が弱まります。
- 保存時の暗号化要件を満たさない可能性があります。
対処方法
transparent_data_encryption_enabled = true を設定し、実際の暗号化状態を確認してください。サービス管理キーを使用できますが、組織がカスタマー管理キーを要求する場合は、Azure Key Vault のキー権限とライフサイクルも管理してください。バックアップの保持と復元も検証してください。
例
同じデータベースの TDE 設定を比較します。
変更前
hcl
resource "azurerm_mssql_database" "app_database" {
name = "example-db"
server_id = azurerm_mssql_server.example.id
transparent_data_encryption_enabled = false
}
TDE を明示的に無効にしています。
変更後
hcl
resource "azurerm_mssql_database" "app_database" {
name = "example-db"
server_id = azurerm_mssql_server.example.id
transparent_data_encryption_enabled = true
}
TDE を有効にし、データファイル、ログ、バックアップを保存時に保護します。キー管理とデータアクセス制御も維持してください。