Назад | Перейти на главную страницу

Политика Azure для аудита правила NSG sourceAddressPrefix

В Azure у меня есть правило NSG, настроенное следующим образом:

Я пытаюсь написать политику Azure для аудита, если исходные IP-адреса / диапазоны CIDR установлены неправильно.

Значение всегда должно быть точно равным: 192.168.0.0/24,192.168.1.0/24.

Если это не то точное значение, следует провести аудит.

Это определение, которое я написал:

{
    "if": {
        "allOf": [
            {
                "field": "type",
                "equals": "Microsoft.Network/networkSecurityGroups"
            },
            {
                "field": "name",
                "like": "jeffweb2-dr-sm-nsg"
            },
            {
                "count": {
                    "field": "Microsoft.Network/networkSecurityGroups/securityRules[*]",
                    "where": {
                        "allOf": [
                            {
                                "field": "Microsoft.Network/networkSecurityGroups/securityRules[*].name",
                                "equals": "SQL"
                            },
                            {
                                "anyof": [
                                    {
                                        "field": "Microsoft.Network/networkSecurityGroups/securityRules[*].sourceAddressPrefix",
                                        "notEquals": [
                                            "192.168.0.0/24",
                                            "192.168.1.0/24"
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                },
                "greater": 0
            }
        ]
    },
    "then": {
        "effect": "audit"
    }
}

Но при попытке создать определение с помощью этого json я получаю ошибку:

New-AzPolicyDefinition : InvalidPolicyRule : Failed to parse policy rule: 'Error reading string. Unexpected token: StartArray. Path 'notEquals'.'.

Вопрос: Как передать несколько диапазонов CIDR в notEquals, я считаю, что это моя проблема.

sourceAddressPrefix поддерживает только один диапазон IP-адресов, вы хотите использовать sourceAddressPrefixes.

Пользовательский интерфейс портала скрывает это, но в ARM это два разных свойства.