我对违反 Azure Policy 的资源有疑问。假设在我的订阅中,我在英国西部有一台 VM,在英国南部有另一台 VM。如果我制定了将 VM 限制为仅 UK south 的策略,那么 UK West 的 VM 会发生什么情况?它是否变得无法运行或将被迫移至英国南部或仅报告为不合规?此外,对 UK west 的新请求会发生什么情况,这些请求会被拒绝吗?
问问题
789 次
1 回答
1
如果您在现有资源存在时分配策略,则默认情况下它们不会发生任何事情,如果您使用的是内置策略。
如果您从门户分配策略,您应该看到以下语句:
默认情况下,该分配只对新创建的资源生效。分配策略后,可以通过修复任务更新现有资源。对于 deployIfNotExists 策略,修复任务将部署指定的模板。对于修改策略,修复任务将编辑现有资源上的标签。
简而言之,英国西部的现有虚拟机应被标记为不合规,并且未来在英国南部以外的部署将被该政策阻止。
您可以在内置的“允许位置”策略中看到这一点:
{
"properties": {
"displayName": "Allowed locations",
"policyType": "BuiltIn",
"mode": "Indexed",
"description": "This policy enables you to restrict the locations your organization can specify when deploying resources. Use to enforce your geo-compliance requirements. Excludes resource groups, Microsoft.AzureActiveDirectory/b2cDirectories, and resources that use the 'global' region.",
"metadata": {
"version": "1.0.0",
"category": "General"
},
"parameters": {
"listOfAllowedLocations": {
"type": "Array",
"metadata": {
"description": "The list of locations that can be specified when deploying resources.",
"strongType": "location",
"displayName": "Allowed locations"
}
}
},
"policyRule": {
"if": {
"allOf": [
{
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
{
"field": "location",
"notEquals": "global"
},
{
"field": "type",
"notEquals": "Microsoft.AzureActiveDirectory/b2cDirectories"
}
]
},
"then": {
"effect": "deny"
}
}
},
"id": "/providers/Microsoft.Authorization/policyDefinitions/e56962a6-4747-49cd-b67b-bf8b01975c4c",
"type": "Microsoft.Authorization/policyDefinitions",
"name": "e56962a6-4747-49cd-b67b-bf8b01975c4c"
}
Deny
如果条件不满足,它只会执行 a 。当然,如果您使用自定义策略,则可能还会执行其他操作。
于 2020-05-05T13:27:41.413 回答