トラステッド起動 では、高度で永続的な攻撃手法から保護することで、第 2 世代仮想マシン (VM) のセキュリティが向上します。 これにより、管理者は、検証済みおよび署名済みのブートローダー、OS カーネル、ドライバーを使用して、基になる仮想マシンを含む AKS ノードを配置できます。 セキュリティで保護された測定済みブートを使用することで、管理者はブート チェーン全体の整合性に関する分析情報と信頼度を得ることができます。
この記事は、この新機能とその実装方法を理解するのに役立ちます。
Important
2025 年 11 月 30 日から、Azure Kubernetes Service (AKS) は、Azure Linux 2.0 のセキュリティ更新プログラムをサポートまたは提供しなくなりました。 Azure Linux 2.0 ノード イメージは、 202512.06.0 リリースでフリーズします。 2026 年 3 月 31 日以降、ノード イメージは削除され、ノード プールをスケーリングできなくなります。 ノード プールをサポートされている Kubernetes バージョンにアップグレードするか、osSku AzureLinux3 に移行して、サポートされている Azure Linux バージョンに移行します。 詳細については、 廃止に関する GitHub の問題 と Azure 更新プログラムの提供終了に関するお知らせを参照してください。 お知らせや更新情報を常に把握するには、 AKS のリリース ノートに従ってください。
概要
Trusted Launch は、個別に有効にできる複数の連携インフラストラクチャ テクノロジで構成されています。 テクノロジごとに、高度な脅威に対する防御の別のレイヤーが提供されます。
vTPM - トラステッド起動では、TPM 2.0 仕様に準拠しているハードウェア トラステッド プラットフォーム モジュール (TPM) の仮想化バージョンが導入されています。 キーと測定のためのセキュリティで保護された専用のコンテナーとして機能します。 Trusted Launch では、VM に独自の専用 TPM インスタンスが提供され、任意の VM の範囲外のセキュリティで保護された環境で実行されます。 vTPM により、VM のブート チェーン全体 (UEFI、OS、システム、ドライバー) を測定することで、構成証明が有効になります。 トラステッド起動では、vTPMを使用してクラウドがリモートアテステーションを実行します。 これは、プラットフォームの正常性チェックや、信頼ベースの意思決定に使用されます。 正常性チェックとして、トラステッド起動により、VM が正常に起動したことを暗号によって認定できます。 プロセスが失敗した場合、承認されていないコンポーネントが VM で実行されていることが原因の可能性があり、Microsoft Defender for Cloud によって整合性アラートが発行されます。 そのアラートには、整合性チェックに合格しなかったコンポーネントの詳細が含まれます。
セキュア ブート - 信頼された起動のルートには、VM のセキュア ブートがあります。 プラットフォームのファームウェアに実装されているこのモードにより、マルウェアベースのルートキットやブート キットがインストールされるのを防ぎます。 セキュア ブートの動作により、署名されたオペレーティング システムとドライバーだけでが起動できることが保証されます。 それにより、VM 上のソフトウェア スタックに対する "信頼のルート" が確立されます。 セキュア ブートが有効になっていると、すべての OS ブート コンポーネント (ブート ローダー、カーネル、カーネル ドライバー) は、信頼された発行元によって署名されている必要があります。 セキュア ブートは、Windows と一部の Linux ディストリビューションの両方でサポートされています。 セキュア ブートで、信頼された発行元によって署名されたイメージの認証が失敗した場合、VM の起動は許可されません。 詳細については、「セキュア ブート」を参照してください。
開始する前に
- Azure CLI、バージョン 2.66.0 以降。
az --versionを実行してバージョンを見つけ、az upgradeを実行してバージョンをアップグレードします。 インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。
- セキュア ブートには、署名されたブート ローダー、OS カーネル、ドライバーが必要です。
制限事項
- AKS では、Kubernetes バージョン 1.25.2 以降での信頼された起動がサポートされています。
- トラステッド起動では、Azure 第 2 世代 VM のみがサポートされます。
- Windows Server オペレーティング システムを使用するノード プールはサポートされていません。
- Arm64、ポッド サンドボックス、または機密 VM と同じノード プールで、信頼された起動を有効にすることはできません。 詳細については、 ノード イメージのドキュメントを参照してください。
- 信頼された起動は、Ubuntu 22.04 の FIPS と同じノード プールでのみ有効にすることができます。
- トラステッド起動で仮想ノードはサポートされていません。
- 可用性セットはサポートされず、仮想マシン スケール セットのみがサポートされます。
- Ubuntu オペレーティング システムを使用して GPU ノード プールでセキュア ブートを有効にするには、GPU ドライバー (
--gpu-driver None) のインストールをスキップする必要があります。 詳細については、「GPU ドライバーのインストールをスキップする」および「Azure Kubernetes Service (AKS)で NVIDIA GPU を使用する」を参照してください。 この制限は、Azure Linux または Azure Container Linux オペレーティング システムで GPU ワークロードを実行する場合には適用されません。 - トラステッド起動を使用してエフェメラル OS ディスクを作成でき、すべてのリージョンがサポートされています。 ただし、すべての仮想マシン のサイズがサポートされているわけではありません。 詳細については、「トラステッド起動エフェメラル OS サイズ」を参照してください。
- AKS 用 Flatcar Container Linux では、AKS での信頼された起動はサポートされていません。
- 信頼された起動は、AzureRM (
azurerm) Terraform プロバイダーではサポートされていません。 信頼された起動ノード プールをデプロイするには、この記事のAzure CLI、ARM テンプレート、またはBicepの手順を使用します。
信頼された起動が有効になっている AKS クラスターを作成する
クラスターを作成するときに、vTPM またはセキュア ブートを有効にすると、カスタマイズされた信頼された起動イメージを使用するようにノード プールが自動的に設定されます。 このイメージは、Trusted Launch で有効になっているセキュリティ機能をサポートするように特別に構成されています。
az aks create コマンドを使用して、AKS クラスターを作成します。 コマンドを実行する前に、次のパラメータを確認します。
-
--name: myAKSCluster など、AKS クラスターの一意の名前を入力します。 -
--resource-group: AKS クラスター リソースをホストする既存のリソース グループの名前を入力します。 -
--enable-secure-boot: セキュア ブートで、信頼された発行元によって署名されたイメージを認証できるようにします。 -
--enable-vtpm:vTPM を有効にし、VM のブート チェーン全体を測定して構成証明を実行します。
注
セキュア ブートには、署名されたブート ローダー、OS カーネル、ドライバーが必要です。 セキュア ブートを有効にした後でノードが起動しない場合は、Azure Linux 仮想マシン内でセキュア ブートエラーの原因となっているブート コンポーネントを確認できます。 「セキュア ブートエラーの確認を参照してください」。
次の例では、myResourceGroup 内の 1 つのノードを持つ myAKSCluster という名前のクラスターを作成し、セキュア ブートと vTPM を有効にします。
az aks create \ --name myAKSCluster \ --resource-group myResourceGroup \ --node-count 1 \ --enable-secure-boot \ --enable-vtpm \ --generate-ssh-keys-
次のコマンドを実行して、Kubernetes クラスターのアクセス資格情報を取得します。 az aks バージョン変更資格情報 コマンドを使用してクラスター名とリソース グループ名の既定値を置き換えます。
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
信頼できる起動パラメーターを使用してテンプレートを作成します。 テンプレートを作成する前に、次のパラメーターを確認します。
-
enableSecureBoot: セキュア ブートを有効にして、信頼された発行元によって署名されたイメージを認証します。 -
enableVTPM:vTPM を有効にし、VM のブート チェーン全体を測定して構成証明を実行します。
テンプレートで、
enableVTPMとenableSecureBootの値を指定します。 次の例に示すように、CLI デプロイに使用されるのと同じスキーマが、Microsoft.ContainerService/managedClusters/agentPoolsの"properties"定義に存在します。"properties": { ..., "securityProfile": { "enableVTPM": true, "enableSecureBoot": true, } }-
クラスターで vTPM とセキュア ブートを有効にしてテンプレートをデプロイします。 詳細な手順については、 ARM テンプレートを使用した AKS クラスターのデプロイ に関するページを参照してください。
トラステッド起動パラメーターを使用してBicep ファイルを作成します。 ファイルを作成する前に、次のパラメーターを確認します。
-
enableSecureBoot: セキュア ブートを有効にして、信頼された発行元によって署名されたイメージを認証します。 -
enableVTPM:vTPM を有効にし、VM のブート チェーン全体を測定して構成証明を実行します。
Bicep ファイルで、
enableVTPMとenableSecureBootの値を指定します。 次の例に示すように、CLI デプロイに使用されるのと同じスキーマが、Microsoft.ContainerService/managedClusters/agentPoolsのproperties定義に存在します。properties: { // ... securityProfile: { enableVTPM: true enableSecureBoot: true } }-
クラスターで vTPM とセキュア ブートを有効にして、Bicep ファイルをデプロイします。 詳細な手順については、「Bicep ファイルを使用して AKS クラスターをデプロイする」を参照してください。
AzureRM (azurerm) Terraform プロバイダーは、信頼された起動ノード プールの設定を公開しないため、信頼された起動をサポートしていません。 トラステッド起動を有効にして AKS クラスターを作成するには、この記事のAzure CLI、ARM テンプレート、またはBicepの手順を使用します。
Azure ポータルでは、トラステッド起動を有効にした AKS クラスターの作成はサポートされていません。 トラステッド起動を有効にして AKS クラスターを作成するには、この記事のAzure CLI、ARM テンプレート、またはBicepの手順を使用します。
トラステッド起動が有効になっているノード プールを追加する
ノード プールを作成すると、vTPM またはセキュア ブートを有効にすると、カスタマイズされた信頼された起動イメージを使用するようにノード プールが自動的に設定されます。 このイメージは、Trusted Launch で有効になっているセキュリティ機能をサポートするように特別に構成されています。
az aks nodepool addコマンドを使用して、トラステッド起動が有効になっているノード プールを追加します。 コマンドを実行する前に、次のパラメータを確認します。-
--cluster-name: AKS クラスターの名前を入力します。 -
--resource-group: AKS クラスター リソースをホストする既存のリソース グループの名前を入力します。 -
--name: ノード プールの一意の名前を入力します。 ノード プールの名前には小文字の英数字のみを使用でき、小文字で始まる必要があります。 Linux ノード プールの場合、長さは 1 ~ 11 文字にする必要があります。 -
--node-count: Kubernetes エージェント プール内のノードの数。 既定値は 3 です。 -
--enable-secure-boot: セキュア ブートで、信頼された発行元によって署名されたイメージを認証できるようにします。 -
--enable-vtpm:vTPM を有効にし、VM のブート チェーン全体を測定して構成証明を実行します。
注
セキュア ブートには、署名されたブート ローダー、OS カーネル、ドライバーが必要です。 セキュア ブートを有効にした後でノードが起動しない場合は、Azure Linux 仮想マシン内でセキュア ブートエラーの原因となっているブート コンポーネントを確認できます。 「セキュア ブートエラーの確認を参照してください」。
次の例では、3 つのノードを持つ myAKSCluster という名前のクラスターで、vTPM とセキュア ブートが有効になっているノード プールを配置します。
az aks nodepool add --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --node-count 3 --enable-vtpm --enable-secure-boot-
ノード プールが信頼された起動イメージを使用していることを確認します。
信頼された起動ノードには、次の出力があります。
-
"TL"など、"AKSUbuntu-2204-gen2TLcontainerd"を含むノード イメージのバージョン。 -
"Security-type"は"Trusted Launch"になるはずです。
kubectl get nodes kubectl describe node {node-name} | grep -e node-image-version -e security-type-
信頼できる起動パラメーターを使用してテンプレートを作成します。 テンプレートを作成する前に、次のパラメーターを確認します。
-
enableSecureBoot: セキュア ブートを有効にして、信頼された発行元によって署名されたイメージを認証します。 -
enableVTPM:vTPM を有効にし、VM のブート チェーン全体を測定して構成証明を実行します。
テンプレートで、
enableVTPMとenableSecureBootの値を指定します。 次の例に示すように、CLI デプロイに使用されるのと同じスキーマが、Microsoft.ContainerService/managedClusters/agentPoolsの"properties"定義に存在します。"properties": { ..., "securityProfile": { "enableVTPM": true, "enableSecureBoot": true, } }-
クラスターで vTPM とセキュア ブートを有効にしてテンプレートをデプロイします。 詳細な手順については、 ARM テンプレートを使用した AKS クラスターのデプロイ に関するページを参照してください。
トラステッド起動パラメーターを使用してBicep ファイルを作成します。 ファイルを作成する前に、次のパラメーターを確認します。
-
enableSecureBoot: セキュア ブートを有効にして、信頼された発行元によって署名されたイメージを認証します。 -
enableVTPM:vTPM を有効にし、VM のブート チェーン全体を測定して構成証明を実行します。
Bicep ファイルで、
enableVTPMとenableSecureBootの値を指定します。 次の例に示すように、CLI デプロイに使用されるのと同じスキーマが、Microsoft.ContainerService/managedClusters/agentPoolsのproperties定義に存在します。properties: { // ... securityProfile: { enableVTPM: true enableSecureBoot: true } }-
クラスターで vTPM とセキュア ブートを有効にして、Bicep ファイルをデプロイします。 詳細な手順については、「Bicep ファイルを使用して AKS クラスターをデプロイする」を参照してください。
AzureRM (azurerm) Terraform プロバイダーは、信頼された起動ノード プールの設定を公開しないため、信頼された起動をサポートしていません。 トラステッド起動が有効になっているノード プールを追加するには、この記事のAzure CLI、ARM テンプレート、またはBicepの手順を使用します。
Azure ポータルでは、トラステッド起動が有効になっているノード プールの追加はサポートされていません。 トラステッド起動が有効になっているノード プールを追加するには、この記事のAzure CLI、ARM テンプレート、またはBicepの手順を使用します。
信頼された起動と FIPS が有効になっているノード プールを追加する
信頼された起動と FIPS は、第 2 世代 VM サイズの Ubuntu 22.04 ノード プールに対してのみ有効にすることができます。
既存のノード プールで FIPS を無効にするなどの FIPS 固有の操作については、「Azure Kubernetes Service (AKS) ノード プールの Federal Information Processing Standard (FIPS) を有効にする」を参照してください。
az aks nodepool addコマンドを使用して、トラステッド起動と FIPS が有効になっているノード プールを追加します。 コマンドを実行する前に、次のパラメータを確認します。-
--cluster-name: AKS クラスターの名前を入力します。 -
--resource-group: AKS クラスター リソースをホストする既存のリソース グループの名前を入力します。 -
--name: ノード プールの一意の名前を入力します。 ノード プールの名前には小文字の英数字のみを使用でき、小文字で始まる必要があります。 Linux ノード プールの場合、長さは 1 ~ 11 文字にする必要があります。 -
--node-count: Kubernetes エージェント プール内のノードの数。 既定値は 3 です。 -
--enable-secure-boot: セキュア ブートで、信頼された発行元によって署名されたイメージを認証できるようにします。 -
--enable-vtpm:vTPM を有効にし、VM のブート チェーン全体を測定して構成証明を実行します。 -
--enable-fips-image: ノード プールの FIPS 準拠ノード イメージを有効にします。
注
セキュア ブートには、署名されたブート ローダー、OS カーネル、ドライバーが必要です。 セキュア ブートを有効にした後でノードが起動しない場合は、Azure Linux 仮想マシン内でセキュア ブートエラーの原因となっているブート コンポーネントを確認できます。 「セキュア ブートエラーの確認を参照してください」。
次の例では、3 つのノードを持つ myAKSCluster という名前のクラスターで、vTPM、Secure Boot、FIPS が有効になっているノード プールをデプロイします。
az aks nodepool add --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --node-count 3 --enable-vtpm --enable-secure-boot --enable-fips-image-
ノード プールで信頼された起動イメージが使用されていることを確認します。
信頼された起動ノードには、次の出力があります。
-
"TL"と"FIPS"の両方を含むノード イメージ バージョン。 -
"Security-type"は"Trusted Launch"です。
kubectl get nodes kubectl describe node {node-name} | grep -e node-image-version -e security-type-
信頼できる起動と FIPS パラメーターを使用してテンプレートを作成します。 テンプレートを作成する前に、次のパラメーターを確認します。
-
enableSecureBoot: セキュア ブートを有効にして、信頼された発行元によって署名されたイメージを認証します。 -
enableVTPM:vTPM を有効にし、VM のブート チェーン全体を測定して構成証明を実行します。 -
enableFips: ノード プールの FIPS 準拠ノード イメージを有効にします。
テンプレートで、
enableVTPM、enableSecureBoot、enableFipsの値を指定します。 次の例に示すように、CLI デプロイに使用されるのと同じスキーマが、Microsoft.ContainerService/managedClusters/agentPoolsの"properties"定義に存在します。"properties": { ..., "osSKU": "Ubuntu", "enableFips": true, "securityProfile": { "enableVTPM": true, "enableSecureBoot": true, } }-
クラスターで vTPM、セキュア ブート、FIPS を有効にしてテンプレートをデプロイします。 詳細な手順については、 ARM テンプレートを使用した AKS クラスターのデプロイ に関するページを参照してください。
信頼できる起動と FIPS パラメーターを使用してBicep ファイルを作成します。 ファイルを作成する前に、次のパラメーターを確認します。
-
enableSecureBoot: セキュア ブートを有効にして、信頼された発行元によって署名されたイメージを認証します。 -
enableVTPM:vTPM を有効にし、VM のブート チェーン全体を測定して構成証明を実行します。 -
enableFips: ノード プールの FIPS 準拠ノード イメージを有効にします。
Bicep ファイルで、
enableVTPM、enableSecureBoot、およびenableFipsの値を指定します。 次の例に示すように、CLI デプロイに使用されるのと同じスキーマが、Microsoft.ContainerService/managedClusters/agentPoolsのproperties定義に存在します。properties: { // ... osSKU: 'Ubuntu' enableFips: true securityProfile: { enableVTPM: true enableSecureBoot: true } }-
クラスターで vTPM、セキュア ブート、FIPS を有効にして、Bicep ファイルをデプロイします。 詳細な手順については、Bicep ファイルを使用した AKS クラスターのデプロイに関する記事を参照してください。
AzureRM (azurerm) Terraform プロバイダーは、信頼された起動ノード プールの設定を公開しないため、信頼された起動をサポートしていません。 信頼された起動と FIPS が有効になっているノード プールを追加するには、この記事のAzure CLI、ARM テンプレート、またはBicepの手順を使用します。
Azure ポータルでは、トラステッド起動と FIPS が有効になっているノード プールの追加はサポートされていません。 信頼された起動と FIPS が有効になっているノード プールを追加するには、この記事のAzure CLI、ARM テンプレート、またはBicepの手順を使用します。
既存の Linux ノード プールで vTPM またはセキュア ブートを有効にする
トラステッド起動対応 Ubuntu または Azure Linux イメージを使用する既存の標準 Linux ノード プールで、vTPM、セキュア ブート、またはその両方を有効にすることができます。 ノード プールは、信頼された起動イメージを既に使用する必要はありませんが、既存の信頼された起動の要件と制限を満たしている必要があります。
AKS によってノード プールが信頼された起動イメージに再イメージ化され、ノードが再作成され、ワークロードが中断されます。 メンテナンス期間中に更新を実行し、ワークロードでノードの再イメージ化が許容されるようにします。
az aks nodepool updateコマンドを使用して、vTPM またはセキュア ブートを有効にするようにノード プールを更新します。 コマンドを実行する前に、次のパラメータを確認します。-
--resource-group: 既存の AKS クラスターをホストしている既存のリソース グループの名前を入力します。 -
--cluster-name: myAKSCluster など、AKS クラスターの一意の名前を入力します。 -
--name: mynodepool などのノード プールの名前を入力します。 -
--enable-secure-boot: イメージが信頼された発行元によって署名されたことを認証するためのセキュア ブートを有効にします。 -
--enable-vtpm:vTPM を有効にし、VM のブート チェーン全体を測定して構成証明を実行します。
注
セキュア ブートには、署名されたブート ローダー、OS カーネル、ドライバーが必要です。 セキュア ブートを有効にした後でノードが起動しない場合は、Azure Linux 仮想マシン内でセキュア ブートエラーが発生する原因となるブート コンポーネントを確認できます。 「セキュア ブートエラーの確認を参照してください」。
次の例では、myResourceGroup の myAKSCluster のノード プール mynodepool を更新し、vTPM を有効にします。
az aks nodepool update --cluster-name myAKSCluster --resource-group myResourceGroup --name mynodepool --enable-vtpm次の例では、myResourceGroup の myAKSCluster のノード プール mynodepool を更新し、セキュア ブートを有効にします。
az aks nodepool update --cluster-name myAKSCluster --resource-group myResourceGroup --name mynodepool --enable-secure-boot次の例では、myResourceGroup の myAKSCluster のノード プール mynodepool を更新し、vTPM とセキュア ブートの両方を有効にします。
az aks nodepool update \ --cluster-name myAKSCluster \ --resource-group myResourceGroup \ --name mynodepool \ --enable-vtpm \ --enable-secure-boot-
更新が完了したら、ノード プールで信頼された起動イメージが使用されていることを確認します。
信頼された起動ノードには、次の出力があります。
-
"TL"など、"AKSUbuntu-2204-gen2TLcontainerd"を含むノード イメージのバージョン。 -
"Security-type"は"Trusted Launch"です。
kubectl get nodes kubectl describe node {node-name} | grep -e node-image-version -e security-type-
信頼できる起動パラメーターを使用して ARM テンプレートを更新します。 テンプレートを更新する前に、次のパラメーターを確認します。
-
enableSecureBoot: セキュア ブートを有効にして、信頼された発行元によって署名されたイメージを認証します。 -
enableVTPM:vTPM を有効にし、VM のブート チェーン全体を測定して構成証明を実行します。
テンプレートで、ノード プール
enableVTPMでenableSecureBoot、securityProfile、またはその両方を設定します。 次の例では、vTPM とセキュア ブートの両方を有効にします。"properties": { ..., "securityProfile": { "enableVTPM": true, "enableSecureBoot": true, } }-
ノード プールで vTPM とセキュア ブートを有効にして、更新されたテンプレートをデプロイします。 詳細な手順については、 ARM テンプレートを使用した AKS クラスターのデプロイに関するページを参照してください。
デプロイが完了したら、ノード プールで信頼された起動イメージが使用されていることを確認します。
信頼された起動ノードには、次の出力があります。
-
"TL"など、"AKSUbuntu-2204-gen2TLcontainerd"を含むノード イメージのバージョン。 -
"Security-type"は"Trusted Launch"です。
kubectl get nodes kubectl describe node {node-name} | grep -e node-image-version -e security-type-
信頼できる起動パラメーターを使用してBicep ファイルを更新します。 ファイルを更新する前に、次のパラメーターを確認します。
-
enableSecureBoot: セキュア ブートを有効にして、信頼された発行元によって署名されたイメージを認証します。 -
enableVTPM:vTPM を有効にし、VM のブート チェーン全体を測定して構成証明を実行します。
Bicep ファイルで、ノード プール
enableVTPMのenableSecureBoot、securityProfile、またはその両方を設定します。 次の例では、vTPM とセキュア ブートの両方を有効にします。properties: { // ... securityProfile: { enableVTPM: true enableSecureBoot: true } }-
更新したBicep ファイルを vTPM とセキュア ブートを有効にしてノード プールにデプロイします。 詳細な手順については、Bicep ファイルを使用した AKS クラスターのデプロイに関する記事を参照してください。
デプロイが完了したら、ノード プールで信頼された起動イメージが使用されていることを確認します。
信頼された起動ノードには、次の出力があります。
-
"TL"など、"AKSUbuntu-2204-gen2TLcontainerd"を含むノード イメージのバージョン。 -
"Security-type"は"Trusted Launch"です。
kubectl get nodes kubectl describe node {node-name} | grep -e node-image-version -e security-type-
AzureRM (azurerm) Terraform プロバイダーは、信頼された起動ノード プールの設定を公開しないため、信頼された起動をサポートしていません。 既存のノード プールで vTPM またはセキュア ブートを有効にするには、この記事のAzure CLI、ARM テンプレート、またはBicepの手順を使用します。
Azure ポータルでは、既存のノード プールでの vTPM またはセキュア ブートの有効化はサポートされていません。 既存のノード プールで vTPM またはセキュア ブートを有効にするには、この記事のAzure CLI、ARM テンプレート、またはBicepの手順を使用します。
トラステッド起動が有効になっているノードにポッドを割り当てる
ポッドを制限し、特定のノードまたはノードで実行するように制限したり、信頼された起動が有効になっているノードに対する優先設定を制限したりできます。 これは、ポッド マニフェストで次のノード プール セレクターを使用して制御できます。
spec:
nodeSelector:
kubernetes.azure.com/security-type = "TrustedLaunch"
既存の Linux ノード プールで vTPM またはセキュア ブートを無効にする
既存の Linux ノード プールで vTPM、セキュア ブート、またはその両方を無効にすることができます。 いずれかの機能が有効なままの場合、ノード プールは信頼された起動イメージ パスを使用し続けます。 通常の Ubuntu または Azure Linux ノード プールで両方の機能を無効にした場合、AKS はノード プールを対応する非信頼起動イメージに再イメージ化し、基になる仮想マシン スケール セットのセキュリティの種類を Standard に戻します。
az aks nodepool updateコマンドを使用して、セキュア ブートまたは vTPM を無効にするようにノード プールを更新します。 コマンドを実行する前に、次のパラメータを確認します。-
--resource-group: 既存の AKS クラスターをホストしている既存のリソース グループの名前を入力します。 -
--cluster-name: myAKSCluster など、AKS クラスターの一意の名前を入力します。 -
--name: mynodepool などのノード プールの名前を入力します。 -
--disable-secure-boot: セキュア ブートを無効にします。 -
--disable-vtpm: vTPM を無効にします。
次の例では、myResourceGroup の myAKSCluster のノード プール mynodepool を更新し、vTPM を無効にします。
az aks nodepool update --cluster-name myAKSCluster --resource-group myResourceGroup --name mynodepool --disable-vtpm次の例では、myResourceGroup の myAKSCluster のノード プール mynodepool を更新し、セキュア ブートを無効にします。
az aks nodepool update --cluster-name myAKSCluster --resource-group myResourceGroup --name mynodepool --disable-secure-boot次の例では、myResourceGroup の myAKSCluster のノード プール mynodepool を更新し、vTPM とセキュア ブートの両方を無効にします。
az aks nodepool update \ --cluster-name myAKSCluster \ --resource-group myResourceGroup \ --name mynodepool \ --disable-vtpm \ --disable-secure-boot-
更新が完了したら、ノード プールで想定されるイメージが使用されていることを確認します。
vTPM またはセキュア ブートのいずれかが有効なままの場合、信頼された起動ノードには次の出力があります。
-
"TL"など、"AKSUbuntu-2204-gen2TLcontainerd"を含むノード イメージのバージョン。 -
"Security-type"は"Trusted Launch"です。
vTPM とセキュア ブートの両方を無効にした場合、ノード イメージのバージョンには
"TL"が含まれず、"Security-type"は"Trusted Launch"しないでください。kubectl get nodes kubectl describe node {node-name} | grep -e node-image-version -e security-type-
信頼できる起動パラメーターを使用して ARM テンプレートを更新します。 テンプレートを更新する前に、次のパラメーターを確認します。
-
enableSecureBoot: セキュア ブートを有効にして、信頼された発行元によって署名されたイメージを認証します。 -
enableVTPM:vTPM を有効にし、VM のブート チェーン全体を測定して構成証明を実行します。
テンプレートで、ノード プール
enableVTPMでenableSecureBoot、securityProfile、またはその両方を設定します。 次の例では、vTPM とセキュア ブートの両方を無効にします。"properties": { ..., "securityProfile": { "enableVTPM": false, "enableSecureBoot": false, } }-
更新されたテンプレートを vTPM とセキュア ブートをノード プールで無効にしてデプロイします。 詳細な手順については、 ARM テンプレートを使用した AKS クラスターのデプロイに関するページを参照してください。
デプロイが完了したら、ノード プールで想定されるイメージが使用されていることを確認します。
vTPM またはセキュア ブートのいずれかが有効なままの場合、信頼された起動ノードには次の出力があります。
-
"TL"など、"AKSUbuntu-2204-gen2TLcontainerd"を含むノード イメージのバージョン。 -
"Security-type"は"Trusted Launch"です。
vTPM とセキュア ブートの両方を無効にした場合、ノード イメージのバージョンには
"TL"が含まれず、"Security-type"は"Trusted Launch"しないでください。kubectl get nodes kubectl describe node {node-name} | grep -e node-image-version -e security-type-
信頼できる起動パラメーターを使用してBicep ファイルを更新します。 ファイルを更新する前に、次のパラメーターを確認します。
-
enableSecureBoot: セキュア ブートを有効にして、信頼された発行元によって署名されたイメージを認証します。 -
enableVTPM:vTPM を有効にし、VM のブート チェーン全体を測定して構成証明を実行します。
Bicep ファイルで、ノード プール
enableVTPMのenableSecureBoot、securityProfile、またはその両方を設定します。 次の例では、vTPM とセキュア ブートの両方を無効にします。properties: { // ... securityProfile: { enableVTPM: false enableSecureBoot: false } }-
更新されたBicep ファイルを vTPM とセキュア ブートをノード プールで無効にしてデプロイします。 詳細な手順については、Bicep ファイルを使用した AKS クラスターのデプロイに関する記事を参照してください。
デプロイが完了したら、ノード プールで想定されるイメージが使用されていることを確認します。
vTPM またはセキュア ブートのいずれかが有効なままの場合、信頼された起動ノードには次の出力があります。
-
"TL"など、"AKSUbuntu-2204-gen2TLcontainerd"を含むノード イメージのバージョン。 -
"Security-type"は"Trusted Launch"です。
vTPM とセキュア ブートの両方を無効にした場合、ノード イメージのバージョンには
"TL"が含まれず、"Security-type"は"Trusted Launch"しないでください。kubectl get nodes kubectl describe node {node-name} | grep -e node-image-version -e security-type-
AzureRM (azurerm) Terraform プロバイダーは、信頼された起動ノード プールの設定を公開しないため、信頼された起動をサポートしていません。 既存のノード プールで vTPM またはセキュア ブートを無効にするには、この記事のAzure CLI、ARM テンプレート、またはBicepの手順を使用します。
Azure ポータルでは、既存のノード プールでの vTPM またはセキュア ブートの無効化はサポートされていません。 既存のノード プールで vTPM またはセキュア ブートを無効にするには、この記事のAzure CLI、ARM テンプレート、またはBicepの手順を使用します。
次のステップ
この記事では、信頼できる起動を有効にする方法について説明しました。 信頼できる起動の詳細を確認します。