Azure Automanage マシン構成の拡張機能
マシン構成拡張機能は、仮想マシン (VM) 内で監査および構成操作を実行する Azure Automanage の機能です。
Linux および Windows 用の Azure コンピューティング セキュリティ ベースライン定義など、VM 内でポリシーをチェックするには、マシン構成拡張機能をインストールする必要があります。
前提条件
VM がマシン構成サービスに対して認証できるようにするには、VM にシステム割り当てマネージド ID が必要です。 "type": "SystemAssigned"
プロパティを設定することで、VM の ID 要件を満たすことができます。
"identity": {
"type": "SystemAssigned"
}
オペレーティング システム
マシン構成拡張機能のオペレーティング システム サポートは、ドキュメントで説明されているエンド ツー エンド ソリューションのオペレーティング システムのサポートと同じです。
インターネット接続
マシン構成拡張機能によってインストールされるエージェントは、ゲスト構成の割り当てによってリストされたコンテンツ パッケージに到達し、マシン構成サービスに状態を報告できる必要があります。 VM は、TCP ポート 443 を介した送信方向の HTTPS を使用して、またはプライベート ネットワークを介して提供される接続を使用して接続できます。
プライベート ネットワーキングの詳細については、次の記事をご覧ください。
拡張機能をインストールする
マシン構成拡張機能は、Azure CLI または PowerShell から直接インストールしてデプロイできます。 デプロイ テンプレートは、Azure Resource Manager (ARM)、Bicep、Terraform でも使用できます。 デプロイ テンプレートの詳細については、「Microsoft.GuestConfiguration guestConfigurationAssignments」を参照してください。
注意
次のデプロイ例では、<placeholder>
パラメーター値を構成の特定の値に置き換えます。
デプロイに関する考慮事項
マシン構成拡張機能をインストールしてデプロイする前に、次の考慮事項を確認してください。
インスタンス名。 マシン構成拡張機能をインストールするときは、拡張機能のインスタンス名を
AzurePolicyforWindows
またはAzurePolicyforLinux
に設定する必要があります。 前述のセキュリティ ベースライン定義ポリシーには、これらの特定の文字列が必要です。バージョン。 既定では、すべてのデプロイが最新バージョンに更新されます。
autoUpgradeMinorVersion
プロパティの値は、特に指定がない限り、既定でtrue
に設定されます。 この機能は、マシン構成拡張機能の新しいバージョンがリリースされたときにコードを更新する際の懸念を軽減するのに役立ちます。自動アップグレード。 マシン構成拡張機能では、
enableAutomaticUpgrade
プロパティがサポートされています。 このプロパティがtrue
に設定されている場合、Azure では、将来のリリースが利用可能になると、最新バージョンの拡張機能に自動的にアップグレードされます。 詳細については、「Azure での Virtual Machine Scale Sets とスケール セットの拡張機能の自動アップグレード」を参照してください。Azure Policy ID 要件を含む、大規模な最新バージョンのマシン構成拡張機能をデプロイするには、「ポ準拠していないリソースを識別するためのポリシー割り当てを作成する」の手順に従ってください。 Azure Policy を使用して次の割り当てを作成します。
他のプロパティ。 マシン構成拡張機能に設定や protected-settings プロパティを含める必要はありません。 エージェントによって、このクラスの情報は Azure REST API のゲスト構成割り当てリソースから取得されます。 たとえば、
ConfigurationUri
、Mode
、およびConfigurationSetting
プロパティはそれぞれ、VM 拡張機能ではなく、構成ごとに管理されます。
Azure CLI
Linux 用の拡張機能をデプロイするには、次のようにします。
az vm extension set --publisher Microsoft.GuestConfiguration --name ConfigurationForLinux --extension-instance-name AzurePolicyforLinux --resource-group <myResourceGroup> --vm-name <myVM> --enable-auto-upgrade true
Windows 用の拡張機能をデプロイするには、次のようにします。
az vm extension set --publisher Microsoft.GuestConfiguration --name ConfigurationforWindows --extension-instance-name AzurePolicyforWindows --resource-group <myResourceGroup> --vm-name <myVM> --enable-auto-upgrade true
PowerShell
Linux 用の拡張機能をデプロイするには、次のようにします。
Set-AzVMExtension -Publisher 'Microsoft.GuestConfiguration' -ExtensionType 'ConfigurationForLinux' -Name 'AzurePolicyforLinux' -TypeHandlerVersion 1.0 -ResourceGroupName '<myResourceGroup>' -Location '<myLocation>' -VMName '<myVM>' -EnableAutomaticUpgrade $true
Windows 用の拡張機能をデプロイするには、次のようにします。
Set-AzVMExtension -Publisher 'Microsoft.GuestConfiguration' -ExtensionType 'ConfigurationforWindows' -Name 'AzurePolicyforWindows' -TypeHandlerVersion 1.0 -ResourceGroupName '<myResourceGroup>' -Location '<myLocation>' -VMName '<myVM>' -EnableAutomaticUpgrade $true
ARM テンプレート
Linux 用の拡張機能をデプロイするには、次のようにします。
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "[concat(parameters('VMName'), '/AzurePolicyforLinux')]",
"apiVersion": "2020-12-01",
"location": "[parameters('location')]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', parameters('VMName'))]"
],
"properties": {
"publisher": "Microsoft.GuestConfiguration",
"type": "ConfigurationForLinux",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"settings": {},
"protectedSettings": {}
}
}
Windows 用の拡張機能をデプロイするには、次のようにします。
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "[concat(parameters('VMName'), '/AzurePolicyforWindows')]",
"apiVersion": "2020-12-01",
"location": "[parameters('location')]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', parameters('VMName'))]"
],
"properties": {
"publisher": "Microsoft.GuestConfiguration",
"type": "ConfigurationforWindows",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"settings": {},
"protectedSettings": {}
}
}
Bicep テンプレート
Linux 用の拡張機能をデプロイするには、次のようにします。
resource virtualMachine 'Microsoft.Compute/virtualMachines@2021-03-01' existing = {
name: 'VMName'
}
resource windowsVMGuestConfigExtension 'Microsoft.Compute/virtualMachines/extensions@2020-12-01' = {
parent: virtualMachine
name: 'AzurePolicyforLinux'
location: resourceGroup().location
properties: {
publisher: 'Microsoft.GuestConfiguration'
type: 'ConfigurationForLinux'
typeHandlerVersion: '1.0'
autoUpgradeMinorVersion: true
enableAutomaticUpgrade: true
settings: {}
protectedSettings: {}
}
}
Windows 用の拡張機能をデプロイするには、次のようにします。
resource virtualMachine 'Microsoft.Compute/virtualMachines@2021-03-01' existing = {
name: 'VMName'
}
resource windowsVMGuestConfigExtension 'Microsoft.Compute/virtualMachines/extensions@2020-12-01' = {
parent: virtualMachine
name: 'AzurePolicyforWindows'
location: resourceGroup().location
properties: {
publisher: 'Microsoft.GuestConfiguration'
type: 'ConfigurationforWindows'
typeHandlerVersion: '1.0'
autoUpgradeMinorVersion: true
enableAutomaticUpgrade: true
settings: {}
protectedSettings: {}
}
}
Terraform テンプレート
Linux 用の拡張機能をデプロイするには、次のようにします。
resource "azurerm_virtual_machine_extension" "gc" {
name = "AzurePolicyforLinux"
virtual_machine_id = "<myVMID>"
publisher = "Microsoft.GuestConfiguration"
type = "ConfigurationForLinux"
type_handler_version = "1.0"
auto_upgrade_minor_version = "true"
}
Windows 用の拡張機能をデプロイするには、次のようにします。
resource "azurerm_virtual_machine_extension" "gc" {
name = "AzurePolicyforWindows"
virtual_machine_id = "<myVMID>"
publisher = "Microsoft.GuestConfiguration"
type = "ConfigurationforWindows"
type_handler_version = "1.0"
auto_upgrade_minor_version = "true"
}
エラー メッセージ
次の表に、ゲスト構成拡張機能の有効化に関連して発生する可能性のあるエラー メッセージを示します。
エラー コード | 説明 |
---|---|
NoComplianceReport | VM からコンプライアンス データが報告されていません。 |
GCExtensionMissing | マシン構成 (ゲスト構成) 拡張機能がありません。 |
ManagedIdentityMissing | マネージド ID がありません。 |
UserIdentityMissing | ユーザー割り当て ID がありません。 |
GCExtensionManagedIdentityMissing | マシン構成 (ゲスト構成) 拡張機能およびマネージド ID がありません。 |
GCExtensionUserIdentityMissing | マシン構成 (ゲスト構成) 拡張機能およびユーザー割り当て ID がありません。 |
GCExtensionIdentityMissing | マシン構成 (ゲスト構成) 拡張機能、マネージド ID、およびユーザー割り当て ID がありません。 |
次の手順
- マシン構成拡張機能の詳細については、「Azure Automanage のマシン構成機能の概要」を参照してください。
- Linux エージェントと拡張機能のしくみの詳細については、Linux 用の仮想マシンの拡張機能とその機能に関する記事を参照してください。
- Windows ゲスト エージェントと拡張機能のしくみの詳細については、Windows 用の 仮想マシン拡張機能とその機能に関する記事を参照してください。
- Windows ゲスト エージェントをインストールする場合は、Azure 仮想マシン エージェントの概要に関するページをご覧ください。
- Linux エージェントをインストールするには、「Azure Linux エージェントの理解と使用」を参照してください。