你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
通过使用 Azure PowerShell 为 Azure Key Vault 创建网络安全外围,开始使用网络安全外围。 网络安全外围允许 Azure 平台即服务 (PaaS) 资源在显式受信任的边界内进行通信。 在网络安全外围配置文件中创建和更新 PaaS 资源的关联。 然后创建或更新网络安全外围访问规则。 完成后,删除在本快速入门中创建的所有资源。
重要说明
网络安全外围目前以公共预览版提供,可在所有 Azure 公有云区域中使用。 此预览版在提供时没有附带服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款。
先决条件
具有活动订阅的 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 cmdlet 的帮助,请使用
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
创建资源组和 Key Vault
需要先创建资源组和密钥保管库资源,才能创建网络安全外围。
此示例使用以下命令在 WestCentralUS 位置创建名为 test-rg
的资源组,并在资源组中创建名为 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 资源与新配置文件的关联
在此步骤中,需要使用 New-AzNetworkSecurityPerimeterProfile
和 New-AzNetworkSecurityPerimeterAssociation
命令创建新的配置文件,并将 PaaS 资源、Azure Key Vault 与配置文件相关联。
使用以下命令为网络安全外围创建新的配置文件:
# Create a new profile $nspProfile = @{ Name = 'nsp-profile' ResourceGroupName = $rgParams.name SecurityPerimeterName = $nsp.name } $demoProfileNSP=New-AzNetworkSecurityPerimeterProfile @nspprofile
使用以下命令将 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
使用
Update-AzNetworkSecurityPerimeterAssociation
命令将访问模式更改为enforced
,以更新关联,如下所示:# 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
注意
如果托管标识未分配给支持它的资源,则对同一边界内其他资源的出站访问将被拒绝。 基于订阅的入站规则(旨在允许来自该资源的访问)将不会生效。
删除所有资源
如果不再需要网络安全外围,请删除与网络安全外围关联的所有资源,删除外围,然后删除资源组。
# 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 中过渡到网络安全外围。