Политика Azure для запрета создания сетевых интерфейсов без подключения NSG

Эй, я хочу назначить политику Azure, которая будет запрещать создание сетевых интерфейсов без подключения NSG.

Я посмотрел со встроенной ролью и не смог найти ничего связанного. Может быть, у кого-то есть скрипт, который делает эту работу.

Заранее благодарны за Вашу помощь.

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
0
0
110
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я попытался создать политику Azure, чтобы запретить создание сетевого интерфейса без NSG.

Я создал определение политики с именем network

В правиле политики напишите приведенный ниже сценарий json, чтобы создать правила политики для запрета виртуальной сети без правил NSG. Я взял ссылку на пример из git URL @withstu

 {
      "name": "Deny-Subnet-Without-Nsg",
      "type": "Microsoft.Authorization/policyDefinitions",
      "apiVersion": "2022-11-22",
      "scope": null,
      "properties": {
        "policyType": "Custom",
        "mode": "All",
        "displayName": "Subnets should have a Network Security Group",
        "description": " policy will deny the creation of a network/subnet with out an NSG.",
        "metadata": {
          "version": "1.1.0",
          "category": "Network"
        },
        "parameters": {
          "effect": {
            "type": "String",
            "allowedValues": [
              "Audit",
              "Deny",
              "Disabled"
            ],
            "defaultValue": "Deny",
            "metadata": {
              "displayName": "Effect",
              "description": " disable the execution of the policy"
            }
          },
          "excludedSubnets": {
            "type": "Array",
            "metadata": {
              "displayName": "Excluded Subnets",
              "description": "subnets excluded from this policy"
            },
            "defaultValue": [
              "GatewaySubnet",
              "AzureFirewallSubnet",
              "AzureFirewallManagementSubnet"
            ]
          }
        },
        "policyRule": {
          "if": {
            "anyOf": [
              {
                "allOf": [
                  {
                    "equals": "Microsoft.Network/virtualNetworks",
                    "field": "type"
                  },
                  {
                    "exists": "false",
                    "field": "Microsoft.Network/virtualNetworks/subnets[*].networkSecurityGroup.id"
                  }
                ]
              },
              {
                "allOf": [
                  {
                    "equals": "Microsoft.Network/virtualNetworks/subnets",
                    "field": "type"
                  },
                  {
                    "field": "name",
                    "notIn": "[parameters('excludedSubnets')]"
                  },
                  {
                    "exists": "false",
                    "field": "Microsoft.Network/virtualNetworks/subnets/networkSecurityGroup.id"
                  }
                ]
              }
            ]
          },
          "then": {
            "effect": "[parameters('effect')]"
          }
        }
      }
    }

Я назначил политику определению политики

В левой части меню нажмите «Назначение» => нажмите «Назначить политику» и добавьте соответствующие поля для создания

После назначения политик на отражение потребуется 30 минут

Я пытаюсь создать виртуальную сеть, я получаю сообщение об ошибке из-за запрета подсети без NSG

Другие вопросы по теме