Создание приватного канала для управления ресурсами Azure с помощью API

В этой статье объясняется, как можно использовать Приватный канал Azure для ограничения доступа для управления ресурсами в ваших подписках.

Приватные каналы предоставляют доступ к службам Azure с помощью частной конечной точки в вашей виртуальной сети. При комбинировании приватных каналов с операциями Azure Resource Manager вы не позволяете управлять ресурсами пользователям, которые не находятся в той или иной конечной точке. Если злоумышленник получает учетные данные для учетной записи в вашей подписке, то такой пользователь не может управлять ресурсами, если он не расположен в определенной конечной точке.

Приватный канал предоставляет следующие преимущества с точки зрения безопасности:

  • частный доступ — пользователи могут управлять ресурсами в частной сети с помощью частной конечной точки;

Примечание.

Сейчас служба Azure Kubernetes (AKS) не поддерживает реализацию частной конечной точки ARM.

Бастион Azure не поддерживает приватные каналы. Рекомендуется настроить частную конечную точку приватного канала для управления ресурсами с использованием частной зоны DNS. Но в таком случае из-за перекрытия с именем management.azure.com ваш экземпляр Бастиона перестанет работать. Дополнительные сведения см. в статье Бастион Azure: часто задаваемые вопросы.

Основы архитектуры

Внимание

В этом выпуске доступ к управлению приватными каналами можно осуществлять только на уровне корневой группы управления. Это ограничение означает, что доступ по приватному каналу открывается для вашего клиента.

Существует два типа ресурсов, которые вы будете использовать при реализации управления по приватному каналу.

  • Приватный канал для управления ресурсами (Microsoft.Authorization/resourceManagementPrivateLinks)
  • Связь приватного канала (Microsoft.Authorization/privateLinkAssociations)

На следующем рисунке показано, как создать решение, которое ограничивает доступ для управления ресурсами.

Схема приватного канала для управления ресурсами

Связь приватного канала расширяет корневую группу управления. Связь приватного канала и частные конечные точки ссылаются на приватный канал для управления ресурсами.

Внимание

В настоящее время учетные записи с несколькими арендаторами не поддерживаются для управления ресурсами с помощью приватного канала. Вы не можете установить связь приватных каналов для разных арендаторов с одним приватным каналом для управления ресурсами.

Если ваша учетная запись обращается к нескольким арендаторам, определите приватный канал только для одного из них.

Рабочий процесс

Чтобы настроить приватный канал для ресурсов, выполните следующие действия. Эти действия описаны более подробно далее в этой статье.

  1. Создайте приватный канал для управления ресурсами.
  2. Создайте связь приватного канала. Связь приватного канала расширяет корневую группу управления. Она также ссылается на ИД ресурса для приватного канала управления ресурсами.
  3. Добавьте частную конечную точку, которая ссылается на приватный канал управления ресурсами.

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

Вы можете отслеживать доступ к приватному каналу. Дополнительные сведения см. в статье Ведение журналов и мониторинг.

Необходимые разрешения

Внимание

В этом выпуске доступ к управлению приватными каналами можно осуществлять только на уровне корневой группы управления. Это ограничение означает, что доступ по приватному каналу открывается для вашего клиента.

Чтобы настроить приватный канал для управления ресурсами, необходим следующий доступ:

  • владелец подписки. Этот доступ необходим для создания ресурса приватного канала для управления ресурсами.
  • Владелец или участник в корневой группе управления. Этот доступ необходим для создания ресурса связи приватного канала.
  • Глобальный Администратор istrator для идентификатора Microsoft Entra ID не имеет разрешения на назначение ролей в корневой группе управления. Чтобы включить создание приватных каналов для управления ресурсами, глобальный администратор должен иметь разрешение на чтение корневой группы управления и повышение уровня доступа. Это нужно для получения привилегии администратора доступа пользователей по отношению ко всем подпискам и группам управления в клиенте. После получения привилегии администратора доступа пользователей глобальный администратор должен предоставить пользователю, создающему связь приватного канала, привилегии уровня владельца или участника для корневой группы управления.

Чтобы создать приватный канал для управления ресурсами, отправьте следующий запрос.

Пример

# Login first with az login if not using Cloud Shell
az resourcemanagement private-link create --location WestUS --resource-group PrivateLinkTestRG --name NewRMPL

Запишите идентификатор, возвращаемый для нового приватного канала для управления ресурсами. Он будет использоваться при создании связи приватного канала.

Имя ресурса для связи приватного канала должно представлять собой идентификатор GUID. Отключение поля publicNetworkAccess еще не поддерживается.

Чтобы создать связь приватного канала, используйте следующий метод.

Пример

# Login first with az login if not using Cloud Shell
az private-link association create --management-group-id fc096d27-0434-4460-a3ea-110df0422a2d --name 1d7942d1-288b-48de-8d0f-2d2aa8e03ad4 --privatelink "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PrivateLinkTestRG/providers/Microsoft.Authorization/resourceManagementPrivateLinks/newRMPL"

Добавить частную конечную точку

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

Сведения о создании частной конечной точки см. в документации по созданию частной конечной точки с помощью портала, PowerShell, CLI, Bicep или шаблона.

В тексте запроса задайте для privateServiceLinkId идентификатор из приватного канала для управления ресурсами. Среди groupIds должен быть ResourceManagement. Расположение частной конечной точки должно совпадать с расположением подсети.

{
  "location": "westus2",
  "properties": {
    "privateLinkServiceConnections": [
      {
        "name": "{connection-name}",
        "properties": {
           "privateLinkServiceId": "/subscriptions/{subID}/resourceGroups/{rgName}/providers/Microsoft.Authorization/resourceManagementPrivateLinks/{name}",
           "groupIds": [
              "ResourceManagement"
           ]
         }
      }
    ],
    "subnet": {
      "id": "/subscriptions/{subID}/resourceGroups/{rgName}/providers/Microsoft.Network/virtualNetworks/{vnet-name}/subnets/{subnet-name}"
    }
  }
}

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

Ответ включает состояние утверждения.

"privateLinkServiceConnectionState": {
    "actionsRequired": "None",
    "description": "",
    "status": "Approved"
},

Если ваш запрос будет утвержден автоматически, можно переходить к следующему разделу. Если же запрос требует утверждения вручную, подождите, пока администратор сети не утвердит ваше подключение к частной конечной точке.

Следующие шаги

Дополнительные сведения о частных ссылках см. в разделе Приватный канал Azure.