如何计算 Azure Policy 中具有特定标签的存储帐户的数量?
How to count the number of storage accounts having specific tag in Azure Policy?
我想为存储帐户创建一个 Azure Policy
。在创建存储帐户的过程中,它会计算订阅中具有特定标签(如 env:dev)的存储帐户的数量。如果此计数的数量超过 10,它应该拒绝创建该存储帐户。
我如何计算在Azure Policy[=19]中具有特定标签的存储帐户的数量=]声明?
使用 Azure Policy 无法做到这一点。
尽管该方法似乎有效,但 count
运算符旨在与 [*] aliases
一起使用 - 请参阅 official documentation。人们可能会想到扫描 Microsoft.Subscription
别名,但是 运行 命令 az provider show --namespace Microsoft.Subscription --expand "resourceTypes/aliases" --query "resourceTypes[].aliases[].name"
,你得到的输出到目前为止并不广泛:
[
"Microsoft.Subscription/SubscriptionDefinitions/subscriptionId",
"Microsoft.Subscription/SubscriptionDefinitions/subscriptionDisplayName",
"Microsoft.Subscription/SubscriptionDefinitions/offerType",
"Microsoft.Subscription/SubscriptionDefinitions/etag",
"Microsoft.Subscription/aliases/subscriptionId"
]
此外,策略引擎的工作方式不允许您计算满足特定规则的实例数:每个 ARM 组件都被单独扫描并与策略中定义的规则进行比较。您看不到“给定范围内的所有存储帐户”——扫描每个帐户时都看不到全貌。这就是为什么我开始查看订阅对象是否有类似 Resources [*]
别名的原因。
我想为存储帐户创建一个 Azure Policy
。在创建存储帐户的过程中,它会计算订阅中具有特定标签(如 env:dev)的存储帐户的数量。如果此计数的数量超过 10,它应该拒绝创建该存储帐户。
我如何计算在Azure Policy[=19]中具有特定标签的存储帐户的数量=]声明?
使用 Azure Policy 无法做到这一点。
尽管该方法似乎有效,但 count
运算符旨在与 [*] aliases
一起使用 - 请参阅 official documentation。人们可能会想到扫描 Microsoft.Subscription
别名,但是 运行 命令 az provider show --namespace Microsoft.Subscription --expand "resourceTypes/aliases" --query "resourceTypes[].aliases[].name"
,你得到的输出到目前为止并不广泛:
[
"Microsoft.Subscription/SubscriptionDefinitions/subscriptionId",
"Microsoft.Subscription/SubscriptionDefinitions/subscriptionDisplayName",
"Microsoft.Subscription/SubscriptionDefinitions/offerType",
"Microsoft.Subscription/SubscriptionDefinitions/etag",
"Microsoft.Subscription/aliases/subscriptionId"
]
此外,策略引擎的工作方式不允许您计算满足特定规则的实例数:每个 ARM 组件都被单独扫描并与策略中定义的规则进行比较。您看不到“给定范围内的所有存储帐户”——扫描每个帐户时都看不到全貌。这就是为什么我开始查看订阅对象是否有类似 Resources [*]
别名的原因。