Azure VM の拡張機能操作の確認

必要な拡張機能を確認し、不要な拡張機能操作を制限してください。

説明

VM 拡張機能は、高い権限でソフトウェアのインストールや管理作業を実行できます。拡張機能操作を許可すると、管理権限を持つ主体がこの機能を使えるため、必要な範囲に制限する必要があります。この設定で匿名ユーザーに実行権限が付与されるわけではありません。

想定される影響

  • 過剰な管理権限や信頼できない拡張機能が、VM の設定やデータに影響する場合があります。
  • 依存関係を確認せずに無効化すると、セキュリティ、監視、バックアップ機能が停止する場合があります。

対処方法

  • 必要な拡張機能と依存機能を確認し、拡張機能が不要なら allow_extension_operations = false または対象リソースの extension_operations_enabled = false を検討してください。
  • 拡張機能が必要な場合は、デプロイ・変更権限を最小限にし、承認された発行元と拡張機能を使ってください。変更履歴と拡張機能の状態を確認してください。

例

拡張機能操作だけを比較する Linux VM の抜粋です。OS ディスク、イメージ、管理者認証など省略した設定は別途用意してください。

変更前

hcl
resource "azurerm_linux_virtual_machine" "example" {
  name                = "example-vm"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  size                = "Standard_F2"
  admin_username      = "adminuser"
  network_interface_ids = [azurerm_network_interface.example.id]

  allow_extension_operations = true
}

変更後

hcl
resource "azurerm_linux_virtual_machine" "example" {
  name                = "example-vm"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  size                = "Standard_F2"
  admin_username      = "adminuser"
  network_interface_ids = [azurerm_network_interface.example.id]

  allow_extension_operations = false
}

補足:

  • 変更前: 拡張機能操作を許可します。管理権限と拡張機能の信頼性を別途管理する必要があります。
  • 変更後: 拡張機能操作を許可しません。必要な運用機能への影響を先に確認してください。

参考資料