快速入门:创建网络安全外围 - Azure CLI

利用 Azure CLI 为 Azure Key Vault 创建网络安全外围,从而开始设置网络安全外围。 网络安全外围允许 Azure PaaS (PaaS)资源在显式受信任的边界内进行通信。 接下来,在网络安全外围配置文件中创建和更新 PaaS 资源关联。 然后,创建和更新网络安全外围访问规则。 完成后,请删除在本快速入门中创建的所有资源。

重要

网络安全边界现已在世纪互联运营的以下 Azure 区域普遍可用。 有关受支持的服务的信息,请参阅支持的 PaaS 服务的 载入专用链接资源

  • 中国东部 2
  • 中国北部 2
  • 中国北部 3

先决条件

  • 拥有有效订阅的 Azure 帐户。 创建试用版订阅

  • 最新的 Azure CLI

    • 本文 需要 Azure CLI 2.38.0 或更高版本
  • 升级到最新版本的 Azure CLI 后,使用 az extension add --name nsp 导入网络安全外围命令。

连接到 Azure 帐户并选择订阅

若要开始,请使用本地 CLI 环境。

  1. 如果在本地安装了 CLI,请使用以下命令登录:

    # Sign in to your Azure account
    az cloud set -n AzureChinaCloud
    az login 
    # az cloud set -n AzureCloud   //means return to Public Azure.
    
  2. 进入 shell 后,使用以下命令在本地选择当前订阅:

    # List all subscriptions
    az account set --subscription <Azure Subscription>
    
    # Re-register the Microsoft.Network resource provider
    az provider register --namespace Microsoft.Network    
    

创建资源组和密钥保管库

在创建网络安全外围之前,必须使用 az group createaz keyvault create 创建资源组和密钥保管库资源。
此示例在资源组中创建名为 资源组chinaeast2 资源组,并在资源组中创建名为 key-vault-YYYYDMM 的密钥保管库,并运行以下命令:

az group create \
    --name resource-group \
    --location chinaeast2

# Create a key vault using a datetime value to ensure a unique name

key_vault_name="key-vault-$(date +%s)"
az keyvault create \
    --name $key_vault_name \
    --resource-group resource-group \
    --location chinaeast2 \
    --query 'id' \
    --output tsv

创建网络安全外围

在此步骤中,使用 az network perimeter create 命令创建网络安全外围。

注释

请勿将任何个人身份或敏感数据放入网络安全外围规则或其他网络安全外围配置中。

az network perimeter create\
    --name network-security-perimeter \
    --resource-group resource-group \
    -l chinaeast2

创建和更新 PaaS 资源与新配置文件的关联

在此步骤中,你将创建新的配置文件并将 PaaS 资源、Azure Key Vault 与配置文件相关联,并使用 az network perimeter profile createaz network perimeter association create 命令。

注释

对于参数--private-link-resource--profile的值,请分别将<PaaSArmId><networkSecurityPerimeterProfileId>替换为密钥保管库和配置文件 ID 的值。

  1. 使用以下命令为网络安全边界创建新配置文件:

    # Create a new profile
    az network perimeter profile create \
        --name network-perimeter-profile \
        --resource-group resource-group \
        --perimeter-name network-security-perimeter
    
    
  2. 使用以下命令将 Azure Key Vault(PaaS 资源)关联到网络安全边界配置文件。

    
    # Get key vault id
    az keyvault show \
        --name $key_vault_name \
        --resource-group resource-group \
        --query 'id'
    
    # Get the profile id
    az network perimeter profile show \
        --name network-perimeter-profile \
        --resource-group resource-group \
        --perimeter-name network-security-perimeter
    
    # Associate the Azure Key Vault with the network security perimeter profile
    # Replace <PaaSArmId> and <networkSecurityPerimeterProfileId> with the ID values for your key vault and profile
    az network perimeter association create \
        --name network-perimeter-association \
        --perimeter-name network-security-perimeter \
        --resource-group resource-group \
        --access-mode Learning  \
        --private-link-resource "{id:<PaaSArmId>}" \
        --profile "{id:<networkSecurityPerimeterProfileId>}"
    
    
  3. 通过将访问模式更改为强制执行来更新关联,使用az network perimeter association create命令,如下所示:

    az network perimeter association create \
        --name network-perimeter-association \
        --perimeter-name network-security-perimeter \
        --resource-group resource-group \
        --access-mode Enforced  \
        --private-link-resource "{id:<PaaSArmId>}" \
        --profile "{id:<networkSecurityPerimeterProfileId>}"
    

管理网络安全外围访问规则

在此步骤中,将使用 az network perimeter profile access-rule create 命令创建、更新和删除具有公共 IP 前缀的网络安全外围访问规则。

  1. 为使用以下命令创建的配置文件创建具有公共 IP 前缀的入站访问规则:

    
    # Create an inbound access rule
    az network perimeter profile access-rule create \
        --name access-rule \
        --profile-name network-perimeter-profile \
        --perimeter-name network-security-perimeter \
        --resource-group resource-group \
        --address-prefixes "[192.0.2.0/24]"
    
    
  2. 使用以下命令使用另一个公共 IP 前缀更新入站访问规则:

    
    # Update the inbound access rule
    az network perimeter profile access-rule create\
        --name access-rule \
        --profile-name network-perimeter-profile \
        --perimeter-name network-security-perimeter \
        --resource-group resource-group \
        --address-prefixes "['198.51.100.0/24', '192.0.2.0/24']"
    
    
  3. 如果需要删除访问规则,请使用 az network perimeter profile access-rule delete 命令:

    # Delete the access rule
    az network perimeter profile access-rule delete \
        --Name network-perimeter-association \
        --profile-name network-perimeter-profile \
        --perimeter-name network-security-perimeter \
        --resource-group resource-group
    
    

注释

如果未将托管标识分配给支持托管标识的资源,则会拒绝对同一外围中的其他资源的出站访问。 用于允许从此资源访问的基于订阅的入站规则不会生效。

删除所有资源

若要删除本快速入门中的网络安全外围和其他资源,请使用以下 az network perimeter 命令:


    # Delete the network security perimeter association
    az network perimeter association delete \
        --name network-perimeter-association \
        --resource-group resource-group \
        --perimeter-name network-security-perimeter

    # Delete the network security perimeter
    az network perimeter delete \
        --resource-group resource-group \
        --name network-security-perimeter --yes

    # Delete the key vault
    az keyvault delete \
        --name $key_vault_name \
        --resource-group resource-group

    # Delete the resource group
    az group delete \
        --name resource-group \
        --yes \
        --no-wait

注释

从网络安全外围删除资源关联会导致访问控制回退到现有资源防火墙配置。 这可能会导致根据资源防火墙配置允许/拒绝访问。 如果 PublicNetworkAccess 设置为 SecuredByPerimeter 并已删除关联,则资源将进入锁定状态。 有关详细信息,请参阅 过渡到 Azure 中的网络安全外围

后续步骤