Развертывание политики Azure с использованием Visual Studio - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь использовать во встроенных разрешенных местоположениях политику Azure.

Ниже определения моего шаблона ARM

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "listOfAllowedLocations": {
            "type": "Array"
        }
    },
    "variables": {},
    "resources": [{
        "type": "Microsoft.Authorization/policyDefinitions",
        "name": "Test",
        "apiVersion": "2018-03-01",
        "properties": {
            "displayName": "Test allowed locations",
            "policyType": "BuiltIn",
            "description": "This policy enables you to restrict the locations your organization can specify when deploying resources. Use to enforce your geo-compliance requirements.",
            "parameters": {
                "listOfAllowedLocations": {
                    "type": "Array",
                    "metadata": {
                        "description": "The list of locations that can be specified when deploying resources.",
                        "strongType": "location",
                        "displayName": "Allowed locations"
                    }
                }
            },
            "policyRule": {
                "if": {
                    "not": {
                        "field": "location",
                        "in": "[parameters('listOfAllowedLocations')]"
                    }
                },
                "then": {
                    "effect": "Deny"
                }
            }
        }
    }],
    "outputs": {}
}

Я получаю ошибку ниже, когда пытаюсь развернуть ее с помощью опции развертывания Visual Studio

{
"error": {
"code": "InvalidPolicyUri",
"message": "The policy request scope '/subscriptions/xxx/resourcegroups/Test' should be '/', '/subscriptions/id' or '/providers/Microsoft.Management/managementGroups/id'."
 }
}

Я действительно ценю, если кто-томожет указать мне правильный путь для развертывания политик с использованием Visual Studio.Этот шаблон войдет в конвейер выпуска DevOps позже, когда он будет успешен в тестировании развертывания VS.

1 Ответ

0 голосов
/ 30 ноября 2018

Я понял это.По умолчанию Visual Studio использует развертывание группы ресурсов, поэтому это не работает.Нам нужно использовать New-AzureRmDeployment вместо New-AzureRmResourceGroupDeployment.

...