Чем отличается RBAC для виртуальных машин от наборов масштабов виртуальных машин?

У меня есть пользовательская роль, которая позволяет создавать виртуальную машину в определенной виртуальной сети и ее подсети. Я могу развернуть одну виртуальную машину в этой подсети без проблем. Однако, когда я пытаюсь развернуть набор масштаба в той же подсети, я сталкиваюсь со следующей ошибкой:

Missing write permissions {'Microsoft.Network/VirtualNetworks/subnets/write'} for the following subnet(s):'MySubnet'

Роль предоставления доступа к виртуальной сети имеет Join Virtual Network, Почему это разрешение разрешает развертывание виртуальной машины, а не развертывание с масштабным набором? Есть ли разница в RBAC между развертыванием VM и набором масштабов VM?

Изменить: добавлены определения ролей

В виртуальной сети есть RBAC с пользовательской ролью участника сети, предоставляющей следующее

"permissions": [
      {
        "actions": [
          "Microsoft.Network/publicIPAddresses/join/action",
          "Microsoft.Network/virtualNetworks/subnets/join/action",
          "Microsoft.Network/virtualNetworks/subnets/write",
          "Microsoft.Network/virtualNetworks/*/join/action",
          "Microsoft.Network/networkSecurityGroups/write",
          "Microsoft.Network/networkSecurityGroups/securityRules/write",
          "Microsoft.Network/networkSecurityGroups/securityRules/delete"
        ],
        "dataActions": [],
        "notActions": [],
        "notDataActions": []
      }
    ]

RBAC в группе ресурсов предоставляет следующее

"permissions": [
      {
        "actions": [
          "*",
          "Microsoft.Compute/virtualMachines/*",
          "Microsoft.Compute/virtualMachineScaleSets/*"
        ],
        "dataActions": [],
        "notActions": [
          "Microsoft.Authorization/*/Delete",
          "Microsoft.Authorization/*/Write",
          "Microsoft.Authorization/elevateAccess/Action",
          "Microsoft.Network/dnsZones/write",
          "Microsoft.Network/dnsZones/delete",
          "Microsoft.Network/dnsZones/*/write",
          "Microsoft.Network/dnsZones/*/delete",
          "Microsoft.Network/virtualNetworks/write",
          "Microsoft.Network/virtualNetworks/delete",
          "Microsoft.Network/virtualNetworks/peer/action",
          "Microsoft.Resources/subscriptions/resourceGroups/write",
          "Microsoft.Resources/subscriptions/resourceGroups/delete"
        ],
        "notDataActions": []
      }
    ]

1 ответ

Решение

Наборы масштабов построены из виртуальных машин. С помощью наборов масштабов предоставляются уровни управления и автоматизации для запуска и масштабирования ваших приложений.

Таким образом, в RBAC нет никакой разницы между развертыванием виртуальной машины и набором масштабов виртуальной машины. И результат теста здесь:

В соответствии с ОШИБКОЙ, которую вы опубликовали, у подсети нет разрешения на запись. Я думаю, что вы должны проверить учетную запись, которую вы использовали. Если вы используете RBAC для Vnet, разрешение Contributor необходимо как минимум.

Вы можете получить более подробную информацию о различиях между виртуальными машинами и наборами масштабов по этой ссылке.

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