Краткое руководство: Создание периметра безопасности сети в Azure PowerShell

Начало работы с периметром безопасности сети путем создания периметра безопасности сети для Azure Key Vault с помощью Azure PowerShell. Периметр безопасности сети позволяет ресурсам Платформы Azure как услуга (PaaS) взаимодействовать в пределах явной доверенной границы. Вы создаете и обновляете ассоциацию ресурса PaaS в профиле периметра безопасности сети. Затем вы создаете и обновляете правила доступа к периметру безопасности сети. По завершении удалите все ресурсы, созданные в этой краткой инструкции.

Внимание

Периметр безопасности сети теперь общедоступен во всех общедоступных облачных регионах Azure. Для получения информации о поддерживаемых службах см. раздел Ресурсы подключенных приватных ссылок для поддерживаемых PaaS-служб.

Предварительные условия

  • Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .

  • Установите модуль Az.Tools.Installer:

    # Install the Az.Tools.Installer module    
    Install-Module -Name Az.Tools.Installer -Repository PSGallery
    
  • Установите предварительную сборку Az.Network:

    # Install the preview build of the Az.Network module 
    Install-Module -Name Az.Network -AllowPrerelease -Force -RequiredVersion 7.13.0-preview
    
  • Вы можете использовать Azure PowerShell локально или использовать Azure Cloud Shell.

  • Чтобы получить справку по командлетам PowerShell, используйте Get-Help команду:

    # Get help for a specific command
    Get-Help -Name <powershell-command> - full
    
    # Example
    Get-Help -Name New-AzNetworkSecurityPerimeter - full
    

Войдите в учетную запись Azure и выберите подписку.

Чтобы начать настройку, войдите в учетную запись Azure:

# Sign in to your Azure account
Connect-AzAccount

Затем подключитесь к подписке:

# List all subscriptions
Set-AzContext -Subscription <subscriptionId>

# Register the Microsoft.Network resource provider
Register-AzResourceProvider -ProviderNamespace Microsoft.Network

Создание группы ресурсов и хранилища ключей

Прежде чем создать периметр безопасности сети, необходимо создать группу ресурсов и ресурс хранилища ключей.
В этом примере создается группа ресурсов с именем test-rg в расположении WestCentralUS и хранилище ключей с именем demo-keyvault-<RandomValue> в группе ресурсов со следующими командами:

# Create a resource group
$rgParams = @{
    Name = "test-rg"
    Location = "westcentralus"
}
New-AzResourceGroup @rgParams

# Create a key vault
$keyVaultName = "demo-keyvault-$(Get-Random)"
$keyVaultParams = @{
    Name = $keyVaultName
    ResourceGroupName = $rgParams.Name
    Location = $rgParams.Location
}
$keyVault = New-AzKeyVault @keyVaultParams

Создание периметра безопасности сети

На этом шаге создайте периметр безопасности сети со следующей New-AzNetworkSecurityPerimeter командой:

Примечание.

Не помещайте личные или конфиденциальные данные в правила периметра безопасности сети или другую конфигурацию периметра безопасности сети.


# Create a network security perimeter
$nsp = @{ 
        Name = 'demo-nsp' 
        location = 'westcentralus' 
        ResourceGroupName = $rgParams.name  
        } 

$demoNSP=New-AzNetworkSecurityPerimeter @nsp
$nspId = $demoNSP.Id
  

Создавайте и обновляйте ассоциацию ресурсов PaaS с новым профилем

На этом этапе вы создадите новый профиль и свяжете с ним ресурс PaaS, такой как Azure Key Vault, с помощью команд New-AzNetworkSecurityPerimeterProfile и New-AzNetworkSecurityPerimeterAssociation.

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

        # Create a new profile
    
        $nspProfile = @{ 
            Name = 'nsp-profile' 
            ResourceGroupName = $rgParams.name 
            SecurityPerimeterName = $nsp.name 
            }
    
        $demoProfileNSP=New-AzNetworkSecurityPerimeterProfile @nspprofile
    
  2. Свяжите azure Key Vault (ресурс PaaS) с профилем периметра безопасности сети с помощью следующей команды:

        # Associate the PaaS resource with the above created profile
    
        $nspAssociation = @{ 
            AssociationName = 'nsp-association' 
            ResourceGroupName = $rgParams.name 
            SecurityPerimeterName = $nsp.name 
            AccessMode = 'Learning'  
            ProfileId = $demoProfileNSP.Id 
            PrivateLinkResourceId = $keyVault.ResourceID
            }
    
        New-AzNetworkSecurityPerimeterAssociation @nspassociation | format-list
    
  3. Обновите связь, изменив режим доступа на enforced с помощью команды Update-AzNetworkSecurityPerimeterAssociation, следующим образом:

        # Update the association to enforce the access mode
        $updateAssociation = @{ 
            AssociationName = $nspassociation.AssociationName 
            ResourceGroupName = $rgParams.name 
            SecurityPerimeterName = $nsp.name 
            AccessMode = 'Enforced'
            }
        Update-AzNetworkSecurityPerimeterAssociation @updateAssociation | format-list
    

Управление правилами доступа к периметру безопасности сети

На этом шаге вы создадите, обновите и удалите правила доступа к периметру безопасности сети с префиксами общедоступных IP-адресов.

    # Create an inbound access rule for a public IP address prefix
    $inboundRule = @{ 
        Name = 'nsp-inboundRule' 
        ProfileName = $nspprofile.Name  
        ResourceGroupName = $rgParams.Name  
        SecurityPerimeterName = $nsp.Name  
        Direction = 'Inbound'  
        AddressPrefix = '192.0.2.0/24' 
        } 

    New-AzNetworkSecurityPerimeterAccessRule @inboundrule | format-list

    # Update the inbound access rule to add more public IP address prefixes
    $updateInboundRule = @{ 
        Name = $inboundrule.Name 
        ProfileName = $nspprofile.Name  
        ResourceGroupName = $rgParams.Name  
        SecurityPerimeterName = $nsp.Name  
        AddressPrefix = @('192.0.2.0/24','198.51.100.0/24')
        }
    Update-AzNetworkSecurityPerimeterAccessRule @updateInboundRule | format-list

Примечание.

Включение управляемого удостоверения (MI) требуется для поддержки взаимодействия между ресурсами внутри периметра. Хотя некоторые возможности для определенных ресурсов (например, функции Azure SQL, использующие управляемое платформой взаимодействие между серверными частями SQL), могут продолжать функционировать без MI, настоятельно рекомендуется его включение для обеспечения безопасного доступа в пределах одного периметра или между связанными периметрами.

Удаление всех ресурсов

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


    # Retrieve the network security perimeter and place it in a variable
    $nsp= Get-AzNetworkSecurityPerimeter -Name demo-nsp -ResourceGroupName $rg.Params.Name

    # Delete the network security perimeter and all associated resources
    $removeNsp = @{ 
        Name = 'nsp-association'
        ResourceGroupName = $rgParams.Name
        SecurityPerimeterName = $nsp.Name
        }
    Remove-AzNetworkSecurityPerimeterAssociation @removeNsp
    
    Remove-AzNetworkSecurityPerimeter -Name $nsp.Name -ResourceGroupName $rgParams.Name
    
    # Remove the resource group
    Remove-AzResourceGroup -Name $rgParams.Name -Force

Примечание.

Удаление ассоциации вашего ресурса из периметра безопасности сети приводит к тому, что управление доступом возвращается к существующей конфигурации брандмауэра ресурса. Это может привести к тому, что доступ разрешен или запрещен в конфигурации брандмауэра ресурсов. Если для PublicNetworkAccess задано значение SecuredByPerimeter и связь удалена, ресурс введет заблокированное состояние. Дополнительные сведения см. в разделе "Переход на периметр безопасности сети" в Azure.

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