説明
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
}
補足:
- 変更前: 拡張機能操作を許可します。管理権限と拡張機能の信頼性を別途管理する必要があります。
- 変更後: 拡張機能操作を許可しません。必要な運用機能への影響を先に確認してください。