Azure Kubernetes Service (AKS) のホストベースの暗号化

ホストベースの暗号化では、AKS エージェント ノードの VM の VM ホストに保存されたデータは、保存時に暗号化され、暗号化された状態でストレージ サービスに送られます。 つまり、一時ディスクは、プラットフォーム マネージド キーを使用して保存時に暗号化されます。 OS ディスクとデータ ディスクのキャッシュは、ディスクに設定された暗号化のタイプに応じて、プラットフォーム マネージド キーまたはカスタマー マネージド キーのどちらかを使用して保存時に暗号化されます。

AKS を使うと、既定では、OS ディスクとデータ ディスクでプラットフォーム マネージド キーによるサーバー側暗号化が使われます。 これらのディスクのキャッシュも、プラットフォーム マネージド キーを使って保存時に暗号化されます。 「Azure Kubernetes Service (AKS) の Azure ディスクに独自のキー (BYOK) を使用する」の説明に従って、独自のマネージド キーを指定できます。 以後、これらのディスクのキャッシュも、この手順で指定するキーを使用して暗号化されるようになります。

ホスト ベースの暗号化は、Azure Storage で使用されるサーバー側暗号化 (SSE) とは異なります。 Azure マネージド ディスクでは、Azure Storage を使用してデータの保存時に保存データを自動的に暗号化します。 ホスト ベースの暗号化では、VM のホストを使用して、データが Azure Storage を通過する前に暗号化を処理します。

開始する前に

この機能は、クラスターの作成時またはノード プールの作成時にのみ設定できます。

注意

ホストベースの暗号化は、Azure マネージド ディスクのサーバー側暗号化がサポートされている Azure リージョンで使用できますが、特定のサポートされている VM サイズしか使用できません。

前提条件

  • CLI 拡張機能 v2.23 以降のバージョンがインストールされていることを確認します。
  • Microsoft.ComputeEncryptionAtHost 機能フラグが有効になっていることを確認します。

EncryptionAtHost 機能を登録する

ホストベースの暗号化を使用する AKS クラスターを作成するには、サブスクリプションで EncryptionAtHost 機能フラグを有効にする必要があります。

次の例に示すように az feature register コマンドを使用して、EncryptionAtHost 機能フラグを登録します。

az feature register --namespace "Microsoft.Compute" --name "EncryptionAtHost"

状態が [登録済み] と表示されるまでに数分かかります。 登録状態を確認するには、az feature list コマンドを使用します。

az feature list -o table --query "[?contains(name, 'Microsoft.Compute/EncryptionAtHost')].{Name:name,State:properties.state}"

準備ができたら、az provider register コマンドを使用して、Microsoft.Compute の各リソース プロバイダーの登録を更新します。

az provider register --namespace Microsoft.Compute

制限事項

  • 新しいノード プールでのみ有効にできます。
  • Azure マネージド ディスクのサーバー側暗号化がサポートされている Azure リージョンで、特定のサポートされている VM サイズのみを使用して有効にできます。
  • Virtual Machine Scale Sets (VMSS) の VM セット タイプに基づいた AKS クラスターとノード プールが必要です。

新しいクラスターでホストベースの暗号化を使用する

クラスターの作成時に、ホストベースの暗号化を使用するようにクラスター エージェント ノードを構成します。

az aks create --name myAKSCluster --resource-group myResourceGroup -s Standard_DS2_v2 -l westus2 --enable-encryption-at-host

ホストベースの暗号化を使用せずにクラスターを作成する場合は、--enable-encryption-at-host パラメーターを省略できます。

既存のクラスターでホストベースの暗号化を使用する

新しいノード プールをクラスターに追加することによって、既存のクラスターでホストベースの暗号化を有効にできます。 --enable-encryption-at-host パラメーターを使用して、ホストベースの暗号化を使用するように新しいノード プールを構成します。

az aks nodepool add --name hostencrypt --cluster-name myAKSCluster --resource-group myResourceGroup -s Standard_DS2_v2 -l westus2 --enable-encryption-at-host

ホストベースの暗号化機能を使用せずに新しいノード プールを作成する場合は、--enable-encryption-at-host パラメーターを省略できます。

次のステップ

AKS クラスターのセキュリティのベスト プラクティスを確認します。ホストベースの暗号化の詳細を確認します。