Azure 中限制虚拟机大小策略(Azure Policy)
-
登录Azure portal(这里以国内的Azure为例)
注:因此操作设计权限分配,建议该账户在订阅下的角色为“Owner” -
在所有服务中找到“策略” 这项服务。
-
添加策略定义:
-
配置策略定义位置:
-
配置策略名称,说明以及类别:
-
配置策略规则和策略参数:
{
“parameters”: {
“listOfAllowedWindowsSKUs”: {
“type”: “Array”,
“metadata”: {
“description”: “可为Windows 虚拟机指定的 SKU 列表。”,
“displayName”: “允许的Windows SKU”,
“strongType”: “VMSKUs”
}
},
“listOfAllowedLinuxSKUs”: {
“type”: “Array”,
“metadata”: {
“description”: “可为Linux 虚拟机指定的 SKU 列表。”,
“displayName”: “允许的Linux SKU”,
“strongType”: “VMSKUs”
}
}
},
“policyRule”: {
“if”: {
“allOf”: [
{
“field”: “type”,
“equals”: “Microsoft.Compute/virtualMachines”
},
{
“anyOf”: [
{
“allOf”: [
{
“field”: “Microsoft.Compute/virtualMachines/storageProfile.osDisk.osType”,
“equals”: “Linux”
},
{
“field”: “Microsoft.Compute/virtualMachines/sku.name”,
“notIn”: “[parameters(‘listOfAllowedLinuxSKUs’)]”
}
]
},
{
“allOf”: [
{
“field”: “Microsoft.Compute/virtualMachines/storageProfile.osDisk.osType”,
“equals”: “Windows”
},
{
“field”: “Microsoft.Compute/virtualMachines/sku.name”,
“notIn”: “[parameters(‘listOfAllowedWindowsSKUs’)]”
}
]
},
{
“allOf”: [
{
“field”: “Microsoft.Compute/virtualMachines/osProfile.windowsConfiguration”,
“exists”: “true”
},
{
“field”: “Microsoft.Compute/virtualMachines/sku.name”,
“notIn”: “[parameters(‘listOfAllowedWindowsSKUs’)]”
}
]
},
{
“allOf”: [
{
“field”: “Microsoft.Compute/virtualMachines/osProfile.windowsConfiguration”,
“exists”: “false”
},
{
“field”: “Microsoft.Compute/virtualMachines/sku.name”,
“notIn”: “[parameters(‘listOfAllowedLinuxSKUs’)]”
}
]
}
]
}
]
},
“then”: {
“effect”: “Deny”
}
}
}
- 点击保存
- 进行分配操作
- 配置订阅生效范围
- 引用角色定义:
- 配置角色自定义参数,这里以Windows系统的D2v3为例
- 点击“查看+创建”
- 点击 “创建” 按钮
- 测试该策略分配:
创建除D2 v3之外的虚拟机资源:
创建D2 v3系列虚拟机资源