Управление списками управления доступом конечной точки с помощью PowerShell в классической модели развертывания

Вы можете создавать сетевые списки управления доступом (ACL) для конечных точек, а также управлять ими с помощью модуля Azure PowerShell или портала управления. В этом разделе мы расскажем о том, как выполнять наиболее распространенные действия со списками ACL с помощью PowerShell. Список командлетов Azure PowerShell см. в этой статье. Дополнительные сведения о списках ACL см. в статье Список управления доступом (ACL) конечной точки. Сведения об управлении списками ACL с помощью портала управления см. в статье Настройка конечных точек в классической виртуальной машине Windows в Azure.

Управление сетевыми списками ACL с помощью Azure PowerShell

Сетевые списки ACL можно создавать, удалять и настраивать с помощью командлетов Azure PowerShell. Ниже приведены несколько примеров такой настройки.

Чтобы получить полный список командлетов ACL PowerShell, воспользуйтесь одной из таких команд:

Get-Help *AzureACL*
Get-Command -Noun AzureACLConfig

Создание сетевого списка ACL с правилами, которые разрешают доступ из удаленной подсети

В следующем примере приведен способ создания нового списка ACL с правилами. Затем этот список применяется к конечной точке виртуальной машины. Правила списка ACL в примере ниже разрешают доступ из удаленной подсети. Чтобы создать сетевой список ACL с разрешающими правилами для удаленной подсети, откройте интегрированную среду сценариев Azure PowerShell. Скопируйте и вставьте приведенный ниже сценарий, задайте собственные значения и выполните его.

  1. Создайте объект сетевого списка ACL.

     $acl1 = New-AzureAclConfig
    
  2. Настройте правило, разрешающее доступ из удаленной подсети. В нашем примере настраивается правило 100, которое имеет приоритет над другими правилами, начиная с 200. Оно разрешает доступ к конечной точке виртуальной машины из удаленной подсети 10.0.0.0/8. Замените значения с учетом собственных требований к конфигурации, а вместо имени SharePoint ACL config укажите собственное, понятное вам, имя правила.

     Set-AzureAclConfig –AddRule –ACL $acl1 –Order 100 `
         –Action permit –RemoteSubnet "10.0.0.0/8" `
         –Description "SharePoint ACL config"
    
  3. Чтобы настроить дополнительные правила, используйте тот же командлет и заменяйте значения с учетом собственных требований к конфигурации. Не забудьте изменить порядок номеров правил в соответствии с порядком, в котором они должны применяться. Чем меньше номер правила, тем больший у него приоритет.

     Set-AzureAclConfig –AddRule –ACL $acl1 –Order 200 `
         –Action permit –RemoteSubnet "157.0.0.0/8" `
         –Description "web frontend ACL config"
    
  4. Теперь вы можете создать (Add) новую конечную точку или задать (Set) список ACL для существующей конечной точки. В этом примере мы добавим новую конечную точку виртуальной машины с именем web и добавим в нее настройки ACL.

     Get-AzureVM –ServiceName $serviceName –Name $vmName `
     | Add-AzureEndpoint –Name "web" –Protocol tcp –Localport 80 - PublicPort 80 –ACL $acl1 `
     | Update-AzureVM
    
  5. Далее нужно объединить командлеты и выполнить сценарий. В нашем примере объединенные командлеты будут выглядеть так:

     $acl1 = New-AzureAclConfig
     Set-AzureAclConfig –AddRule –ACL $acl1 –Order 100 `
         –Action permit –RemoteSubnet "10.0.0.0/8" `
         –Description "SharePoint ACL config"
     Set-AzureAclConfig –AddRule –ACL $acl1 –Order 200 `
         –Action permit –RemoteSubnet "157.0.0.0/8" `
         –Description "web frontend ACL config"
     Get-AzureVM –ServiceName $serviceName –Name $vmName `
     |Add-AzureEndpoint –Name "web" –Protocol tcp –Localport 80 - PublicPort 80 –ACL $acl1 `
     |Update-AzureVM
    

Удаление из сетевого списка ACL правила, разрешающего доступ из удаленной подсети

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

  1. Первым делом нужно получить объект сетевого списка ACL для конечной точки виртуальной машины, после чего из него можно будет удалить правило. В этом случае мы удаляем правило по его идентификатору. Из списка ACL удаляется только правило с идентификатором 0. Сам объект списка ACL не удаляется с конечной точки виртуальной машины.

     Get-AzureVM –ServiceName $serviceName –Name $vmName `
     | Get-AzureAclConfig –EndpointName "web" `
     | Set-AzureAclConfig –RemoveRule –ID 0 –ACL $acl1
    
  2. Далее вам нужно применить объект сетевого списка ACL к конечной точке виртуальной машины и обновить виртуальную машину.

     Get-AzureVM –ServiceName $serviceName –Name $vmName `
     | Set-AzureEndpoint –ACL $acl1 –Name "web" `
     | Update-AzureVM
    

Удаление сетевого списка ACL с конечной точки виртуальной машины

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

    Get-AzureVM –ServiceName $serviceName –Name $vmName `
    | Remove-AzureAclConfig –EndpointName "web" `
    | Update-AzureVM

Дальнейшие действия

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