【问题标题】:Terraform - Importing multiple Azure KeyVault Access PoliciesTerraform - 导入多个 Azure KeyVault 访问策略
【发布时间】:2021-11-11 16:15:47
【问题描述】:

我有一个带有 4 个访问策略的 Azure KeyVault。每个访问策略都有自己唯一的 ObjectId。

在尝试将我们的旧 Azure 资源导入 Terraform 配置时,我创建了如下所示的 Terraform 块。

resource "azurerm_key_vault" "example" {
  name                = "examplekeyvault"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  tenant_id           = data.azurerm_client_config.current.tenant_id
  sku_name            = "premium"
}

resource "azurerm_key_vault_access_policy" "policy1" {
  key_vault_id = azurerm_key_vault.example.id
  tenant_id    = data.azurerm_client_config.current.tenant_id
  object_id    = 001

  key_permissions = [
    "Get",
  ]

  secret_permissions = [
    "Get",
  ]
}

以上工作正常,我能够成功导入“policy1”。

但是,当我随后复制策略块并将其附加到下一个策略(如下面的策略)时,它似乎不接受它作为正确形成的 Terraform 配置。我的意图显然是导入所有四个策略(如果可能的话)。

resource "azurerm_key_vault" "example" {
  name                = "examplekeyvault"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  tenant_id           = data.azurerm_client_config.current.tenant_id
  sku_name            = "premium"
}

resource "azurerm_key_vault_access_policy" "policy1" {
  key_vault_id = azurerm_key_vault.example.id
  tenant_id    = data.azurerm_client_config.current.tenant_id
  object_id    = 001 

  key_permissions = [
    "Get",
  ]

  secret_permissions = [
    "Get",
  ]
}

resource "azurerm_key_vault_access_policy" "policy2" {
  key_vault_id = azurerm_key_vault.example.id
  tenant_id    = data.azurerm_client_config.current.tenant_id
  object_id    = 002 

  key_permissions = [
    "Get",
  ]

  secret_permissions = [
    "Get",
  ]
}

在上述两个插图中,我只使用了虚拟 ObjectId。

我这样做是完全错误的方式,还是无法将多个策略导入到一个 Terraform 配置中?同时,Terraform 注册表文档说 Azure 允许每个 Key Vault 最多 1024 个访问策略。

【问题讨论】:

  • “它似乎不接受它作为正确形成的 Terraform 配置”这是什么意思? 在您的问题中包含错误消息!
  • 您遇到的错误是什么?
  • 好吧,这一切都变成了红鲱鱼。我最终让它工作了........是的,一旦我完成了导入,附加这些多访问策略块就可以工作了。
  • 你好@hitman126,您能否将您的解决方案发布为答案。这将对遇到相同问题的其他社区成员有益。
  • 你好@AnsumanBal-MT,所以最后,我提出的解决方案,即在我的第二个代码 sn-p 中描述的简单地将额外的策略块附加到密钥库访问策略,似乎可以作为我的后续Terraform 计划和应用进展顺利,没有报告任何错误。因此,我只能得出结论和/或假设这是一个正确的解决方案。

标签: azure terraform azure-keyvault azure-policy


【解决方案1】:

最后,如我的第二个代码 sn-p(上图)所示,我提出的简单地将额外的策略块附加到密钥库访问策略的解决方案似乎有效,因为我随后的 Terraform 计划和应用运行良好,没有任何报告错误。

因此,我只能得出结论和/或假设附加这些额外的策略块毕竟是一个正确的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-28
    • 2021-11-22
    • 1970-01-01
    相关资源
    最近更新 更多