azure - 使用 Terraform 更新 Azure KeyVault 的防火墙规则

标签 azure terraform

我已使用默认防火墙规则创建了 Azure KeyVault。现在我想更新防火墙规则以使用 Terraform 添加一些 IP 地址。我知道获取当前的 KeyVault 和资源组。但我发现用新的 IP 地址(防火墙)更新 KeyVault 很困难。

provider "azurerm" {
  version = "=1.36.0"
  subscription_id = "7e7f55d3-f30a-4bfd-a6be-1c59594b8592"
}

data "azurerm_resource_group" "rg_name" {
  name = "ITQIG-eu-rsv-sangamn-dev"
}

data "azurerm_key_vault" "kv_name" {
  name                = "manjugtestkv"
  resource_group_name = "${data.azurerm_resource_group.rg_name.name}"
}

最佳答案

您需要使用用于创建 key 保管库的资源:

假设您的 keyvault 是按照 terraform 文档中的方式定义的。我删除了不相关的属性。

为了允许 IP 地址列表,您需要在 network_acls block 中定义它们:

resource "azurerm_key_vault" "example" {
  name                        = "testvault"
  ...

  access_policy {
    ...
  }

  network_acls {
    # The Default Action to use when no rules match from ip_rules / 
    # virtual_network_subnet_ids. Possible values are Allow and Deny
    default_action = "Deny"

    # Allows all azure services to access your keyvault. Can be set to 'None'
    bypass         = "AzureServices"

    # The list of allowed ip addresses.
    ip_rules       = ["1.1.1.1","2.2.2.2"]

  }
}

关于azure - 使用 Terraform 更新 Azure KeyVault 的防火墙规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59088309/

相关文章:

c# - 在 ASP.NET 中使用文件 uploader 将图像上传到 Azure Blob?

azure - 在 Azure 移动服务中托管移动应用后端相对于 Azure 网站的优势

asp.net-mvc-4 - Azure 角色缓存无法在 "Not running in a hosted service or the Development Fabric."的服务器上启动

Azure DevOps az cli 以用户身份从管道登录

list - 从列表中获取元素 Terraform

Azure 数据仓库数据库存储

Azure AD SSO、IDP 发起的登录不起作用

Terraform API Gateway HTTP API - 获取错误 Insufficient permissions to enable logging

terraform - 有没有办法防止 Terraform google_container_cluster 在没有任何变化时被破坏和重新创建?

amazon-web-services - Terraform 破坏错误 'Instance cannot be destroyed' 和 'Failed getting S3 bucket'