Azure マネージドディスクの暗号化要件の確認

既定のサーバー側暗号化と Azure Disk Encryption を区別し、追加の保護が必要な範囲を確認します。

説明

Azure マネージドディスクでは、サーバー側暗号化(SSE)が常に有効です。encryptionSettingsCollection.enabled は、別の機能である Azure Disk Encryption(ADE)に関する設定です。この値がない場合や false の場合でも、保存されたディスクデータが平文という意味ではありません。

想定される影響

既定の SSE だけでは、鍵の管理主体や一時ディスク・キャッシュの保護に関する組織の要件を満たさない場合があります。必要な暗号化範囲を確認してから、追加の保護方法を選んでください。

対処方法

カスタマーマネージドキーが必要な場合はディスク暗号化セット(DES)を使用し、一時ディスクとキャッシュの保護にはホストでの暗号化を検討してください。ADE は2028年9月15日に廃止予定のため、既存の利用環境ではサポートされる方式への移行を計画してください。enabled フラグを変更するだけで、実際の暗号化処理が行われるわけではありません。

例

以下のどちらの構成も、保存データを暗号化します。カスタマーマネージドキーが必要な場合は2つ目を使用してください。diskEncryptionSetId にはディスクと互換性のある DES の実際のリソース ID を指定し、DES が鍵を使用できるように権限を設定してください。

プラットフォームマネージドキー

bicep
param projectName string

var vmName = '${projectName}-vm'

resource vmName_disk1 'Microsoft.Compute/disks@2024-03-02' = {
  name: '${vmName}-disk1'
  location: resourceGroup().location
  sku: {
    name: 'Standard_LRS'
  }
  properties: {
    creationData: {
      createOption: 'Empty'
    }
    diskSizeGB: 512
    encryption: {
      type: 'EncryptionAtRestWithPlatformKey'
    }
  }
}

カスタマーマネージドキー

bicep
param projectName string
param diskEncryptionSetId string

var vmName = '${projectName}-vm'

resource vmName_disk1 'Microsoft.Compute/disks@2024-03-02' = {
  name: '${vmName}-disk1'
  location: resourceGroup().location
  sku: {
    name: 'Standard_LRS'
  }
  properties: {
    creationData: {
      createOption: 'Empty'
    }
    diskSizeGB: 512
    encryption: {
      type: 'EncryptionAtRestWithCustomerKey'
      diskEncryptionSetId: diskEncryptionSetId
    }
  }
}

参考資料