应用程序安全组功能刚刚在 4 月发布。我们正在尝试实现这一点,因为我们拥有大量服务器,因此网络安全组很快就会变得难以管理。
我找不到任何示例 Terraform 代码。我已经从https://docs.microsoft.com/en-us/azure/virtual-machines/linux/terraform-create-complete-vm修改了示例 Terraform 代码,以实现快速 POC。场景是我们有一组我们保护的堡垒服务器(现在只有 1 个),所有进入重要服务器的 SSH 都来自这些堡垒服务器。因此,我创建了一个 bastion_asg 应用程序安全组,并将 DL2staging_rtb_nsg 设置为仅允许来自 bastion_asg 的服务器进行 SSH 访问。但是,一旦它运行并创建了服务器,我就无法通过 ssh 进入 DL2staging_rtb_vm。我附上了我的代码。
非常感谢任何关于我的 POC 可能有什么问题的指示。
谢谢,
德里克
** 以下是来自https://docs.microsoft.com/en-us/azure/virtual-machines/linux/terraform-create-complete-vm的示例 Terraform 代码的主要代码补充:
resource "azurerm_network_security_group" "DL2staging_rtb_nsg" {
...
security_rule {
name = "AllowSSHInbound"
...
source_application_security_group_ids = ["${azurerm_application_security_group.bastion_asg.id}"]
destination_address_prefix = "*"
}
# Create network interface
resource "azurerm_network_interface" "DL2staging_rtb_nic" {
...
ip_configuration {
name = "DL2NicConfiguration"
...
application_security_group_ids = ["${azurerm_application_security_group.staging_sellsidertb_asg.id}"]
}
完整代码位于https://github.com/dl888888/azure-terraform-application-security-group/blob/master/vm3.tf