【问题标题】:can't use log analytics workspace in a different subscription? terraform azurerm policy assignment不能在不同的订阅中使用日志分析工作区? terraform azurerm 策略分配
【发布时间】:2021-03-18 23:19:25
【问题描述】:

我正在使用 terraform 将 azure 策略编写为代码 我发现了两个问题 1 我似乎无法在同一订阅中使用不同订阅上的日志分析工作区,没关系 2 对于需要托管身份的策略,我似乎无法为其分配正确的权限。

resource "azurerm_policy_assignment" "Enable_Azure_Monitor_for_VMs" {
  
  name                 = "Enable Azure Monitor for VMs"
  scope                = data.azurerm_subscription.current.id
  policy_definition_id = "/providers/Microsoft.Authorization/policySetDefinitions/55f3eceb-5573-4f18-9695-226972c6d74a"
  description          = "Enable Azure Monitor for the virtual machines (VMs) in the specified scope (management group, subscription or resource group). Takes Log Analytics workspace as parameter."
  display_name         = "Enable Azure Monitor for VMs"
  location             = var.location
  metadata = jsonencode(
    {
      "category" : "General"
  })

  parameters = jsonencode({
    "logAnalytics_1" : {
      "value" : var.log_analytics_workspace_ID
    }
  })

  identity {
    type = "SystemAssigned"
  }

}

resource "azurerm_role_assignment" "vm_policy_msi_assignment" {
  scope                = azurerm_policy_assignment.Enable_Azure_Monitor_for_VMs.scope
  role_definition_name = "Contributor"
  principal_id         = azurerm_policy_assignment.Enable_Azure_Monitor_for_VMs.identity[0].principal_id
}

对于 var.log_analytics_workspace_ID,如果我使用与策略在同一订阅中的工作区 ID,它会正常工作。但如果我使用来自不同订阅的工作区 ID,则在部署后,工作区字段将为空白。

也为

resource "azurerm_role_assignment" "vm_policy_msi_assignment"

,我已经给自己设置了用户权限管理角色,但是部署后“这个身份当前有以下权限:”还是空白?

【问题讨论】:

    标签: terraform-provider-azure azure-policy azure-rm


    【解决方案1】:

    我自己的问题得到了答案:) 1 这不是 Azure 中设计好的东西,我侦察。 MS 声明“为定义中包含 DeployIfNotExists 效果的每个策略分配创建托管标识 (MSI)。目标分配范围所需的权限是自动管理的。但是,如果补救任务需要与分配之外的资源交互范围,您将需要手动配置所需的权限。”

    这意味着,系统生成的托管身份需要在另一个订阅的日志分析工作区中访问,需要手动使用日志分析工作区贡献者权限 此外,由于您无法使用用户生成的托管 ID,因此您无法预填充此 ID。 所以如果你想在terraform中实现,似乎你必须运行两次策略分配,第一次只是获取ID,然后手动(或通过脚本)分配权限,然后再次运行策略分配以指向资源..

    2 该 ID 实际上已被赋予贡献者权限,您只需进入 sub RBAC 即可查看。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-16
      • 1970-01-01
      • 2021-10-30
      • 1970-01-01
      • 2021-05-24
      • 1970-01-01
      • 2021-08-08
      • 2016-11-19
      相关资源
      最近更新 更多