代码之家  ›  专栏  ›  技术社区  ›  r0r0n0a

如何在Azure策略定义中获取资源的resourceGroupName?

  •  0
  • r0r0n0a  · 技术社区  · 3 年前

    我正在尝试验证资源是否部署在正确的资源组中(就像它部署在包含“核心服务”的resourceGroupName中一样)?

    例如:

    如果在“核心服务”资源组中部署/创建了bastionHosts。

    有人知道如何获得类似resourceGroupName的Azure资源信息(堡垒主机)吗?

    1 回复  |  直到 3 年前
        1
  •  1
  •   Daredevil    3 年前

    要获取策略规则中的resourceGroupName,可以使用resourceGroup()函数。

    以下是一个检查给定Microsoft.Network/bastionHosts资源是否部署在名称包含“核心服务”的资源组中的示例:

    {
        "if": {
            "allOf": [{
                    "value": "[resourceGroup().name]",
                    "like": "*core-services*"
                },
                {
                    "field": "type",
                    "equals": "Microsoft.Network/bastionHosts"
                }
            ]
        },
        "then": {
            "effect": "deny"
        }
    }
    

    更多信息: https://learn.microsoft.com/en-us/azure/governance/policy/concepts/definition-structure#value-examples