【问题标题】:Azure policy for VM Sku based on Vm Name基于 VM 名称的 VM Sku 的 Azure 策略
【发布时间】:2020-04-29 20:07:02
【问题描述】:

我正在尝试编写我的第一个 Azure 策略。

我希望它审核我的虚拟机,其中名称以 -tr-sa-vm 结尾,以查看它们是否在允许的 vmSKU 内。 我认为以下内容会起作用,但它说 Compliant 100% 0 out of 0。 谁能帮我理解为什么它不起作用以及如何使它起作用?

{
  "properties": {
    "displayName": "TR - Allowed VM Sizes",
    "policyType": "Custom",
    "mode": "All",
    "metadata": {
      "category": "Compute",
      "createdBy": "0dcf9e6c-b717-485b-8704-a0695cd10be7",
      "createdOn": "2020-04-29T19:38:39.486075Z",
      "updatedBy": null,
      "updatedOn": null
    },
    "parameters": {
      "listOfAllowedSKUs": {
        "type": "Array",
        "metadata": {
          "displayName": "Allowed SKUs",
          "description": "The list of SKUs that can be specified for TR virtual machines.",
          "strongType": "vmSKUs"
        }
      }
    },
    "policyRule": {
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.Compute/virtualMachines"
          },
          {
            "field": "name",
            "like": "*-tr-sa-vm"
          },
          {
            "not": {
              "field": "Microsoft.Compute/virtualMachines/sku.name",
              "in": "[parameters('listOfAllowedSKUs')]"
            }
          }
        ]
      },
      "then": {
        "effect": "audit"
      }
    }
  },
  "id": "/subscriptions/c8387722-df99-4ac4-9e19-682e684b048d/providers/Microsoft.Authorization/policyDefinitions/44fd80d7-569a-416e-92ee-be2a5b56e9fd",
  "type": "Microsoft.Authorization/policyDefinitions",
  "name": "44fd80d7-569a-416e-92ee-be2a5b56e9fd"
}

预期结果: 假设我有 200 台虚拟机,其中 100 台的名称以 -tr-sa-vm 结尾 如果目前这 100 个中有 30 个没有允许的 sku.name,那么我希望看到它说 100 个中有 30 个不合规。

【问题讨论】:

    标签: azure-policy


    【解决方案1】:

    政策可能仍处于“未开始”的合规状态。您是否检查了合规性状态? 新分配给范围的策略大约需要 30 分钟才能将分配应用于定义的范围。应用后,该范围内的资源将根据新分配的策略开始评估周期,并根据策略使用的效果,将资源标记为合规不合规.

    我尝试了相同的策略,它对我有用。

    【讨论】:

    • 嗨,是的,你是对的,它确实有效,我错了。你知道我可以如何更改它,以便 VM 名称是 OR 语句吗?我是这样的名字就像“-tr-sa-vm”或“-sa”
    • 这种情况可以使用“anyOf”操作符。
    猜你喜欢
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 2015-12-02
    • 2021-07-25
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2019-07-16
    相关资源
    最近更新 更多