你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。

将 Azure Batch 账户与网络安全边界关联(预览)

Important

将 Azure Batch 账户与网络安全边界关联目前处于预览阶段。 该预览版未签订服务级别协议,且不推荐用于生产工作负载。 某些功能可能不受支持,或者可能具有受限功能。

有关适用于测试版、预览版或尚未正式发布的 Azure 功能的法律条款,请参阅 Microsoft Azure 预览版的补充使用条款。

Azure网络提供的网络安全外围(NSP)是一种全面的工具,可供客户使用 PaaS 资源时确保最佳安全性。 它允许客户为网络隔离建立逻辑边界,并共同管理许多 PaaS 资源的公共访问控制。

通过使用网络安全边界:

  • 默认情况下,与特定外围关联的 PaaS 资源只能与同一外围中的其他 PaaS 资源通信。
  • 你可以设置明确的访问规则,主动允许外部的进站和出站通信。
  • 为周界内的PaaS资源启用了诊断日志,用于审计和合规。

Important

网络安全边界规则不适用于与 私有终结点 关联的专用链接。

Batch 服务中的网络安全外围方案

Azure Batch 服务支持需要访问其他 PaaS 资源的场景:

网络管理员可以使用网络安全外围功能为其 PaaS 服务创建隔离边界。 此安全外围允许为各种 PaaS 资源设置公共访问控制,从而提供一致的用户体验和统一的 API。 有关为Batch支持的PaaS通信设置网络安全边界的更多信息,请参见Azure 存储中的网络安全边界和Azure 密钥保管库中的网络安全边界。

如果目标 PaaS 服务位于网络安全外围,则网络安全外围提供了多种方法,使 Batch 能够与其他 PaaS 服务交互:

  • 将 Batch 帐户与目标资源相同的外围关联,并向这些资源中使用的托管标识分配必要的权限。
  • 创建包含适当入站访问规则的配置文件(例如,为 Batch 帐户的完全限定的域名创建一条入站访问规则),并将其应用于目标 PaaS 资源。 此配置文件用于评估来自网络安全边界外部的入站流量(由 Batch 发送)。

Batch 用户还可以使用网络安全边界来保护入站流量,而不仅仅是 Azure 存储 和 Azure 密钥保管库 中的出站流量场景。

注释

网络安全边界不会控制 Batch 池中的节点。 若要确保池的网络隔离,可能仍需为 Batch 池创建 nodeManagement 专用终结点, 而无需公共 IP 地址。 为了使节点能够访问Azure 存储及其他与网络安全边界相关的PaaS资源,请确保在目标PaaS资源的配置文件中添加相关的访问规则。 这些访问规则授予节点访问所需的权限。

为 Azure Batch 帐户配置网络安全外围

先决条件

  1. 使用用户分配的托管标识设置 Batch 帐户。

  2. 将你的批处理账户的公共网络访问权限改为 SecuredByPerimeter。 此步骤是可选的,但建议执行。

    此公共网络访问值保证资源的入站和出站连接仅限于同一外围中的资源。 相应的边界配置文件定义了用于控制公共访问的规则。

    要实现此更改,可以使用 批量管理账户API 或 SDK BatchPublicNetworkAccess枚举值。

  3. 确保 Batch 帐户仅使用简化的节点通信池运行。

创建网络安全外围

使用 Azure portal、PowerShell 或 Azure CLI 创建自己的网络安全外围资源。

将 Batch 帐户与网络安全边界关联

使用 Azure 门户

  1. 在 Azure 门户中转到您的网络安全边界资源。 为你的批次账户创建一个个人资料以便关联。 如果你没有创建配置文件,请进入设置 ->配置文件创建网络安全边界配置文件。

    门户创建个人资料的截图。

  2. 在 概览 中,选择第三个选项 将资源关联到你的个人资料。

    在门户中将资源关联到你的个人资料的截图。

  3. 选择将资源关联到新配置文件,或将资源关联到现有配置文件。

    在门户中将资源与新建或现有配置文件关联的截图。

使用 PowerShell

  1. 为你的网络安全边界创建一个新的配置文件。

        # Create a new profile 
        $nspProfile = @{
            Name = '<ProfileName>' 
            ResourceGroupName = '<ResourceGroupName>'
            SecurityPerimeterName = '<NetworkSecurityPerimeterName>'
            }
    
        $profile = New-AzNetworkSecurityPerimeterProfile @nspProfile
    
  2. 将 Batch 账户与网络安全边界配置文件关联。

       # Associate the PaaS resource with the above created profile
       $nspAssociation = @{
           AssociationName = '<AssociationName>'
           ResourceGroupName = '<ResourceGroupName>'
           SecurityPerimeterName = '<NetworkSecurityPerimeterName>'
           AccessMode = 'Learning'
           ProfileId = '<NetworkSecurityPerimeterProfileId>'
           PrivateLinkResourceId = '<BatchAccountResourceId>'
           }
    
       New-AzNetworkSecurityPerimeterAssociation @nspAssociation | format-list
    

使用Azure CLI

  1. 运行以下命令,为您的网络安全边界创建新配置文件:

    # Create a new profile
    az network perimeter profile create \
        --name <ProfileName> \
        --resource-group <ResourceGroupName> \
        --perimeter-name <NetworkSecurityPerimeterName>
    
    
  2. 通过执行以下命令,将批处理账户(PaaS资源)与网络安全边界配置文件关联。

    # Get the profile id
    az network perimeter profile show \
        --name <ProfileName> \
        --resource-group <ResourceGroupName> \
        --perimeter-name <NetworkSecurityPerimeterName>
    
    # Associate the Batch account with the network security perimeter profile
    # Replace <PaaSArmId> and <NetworkSecurityPerimeterProfileId> with the values for your Batch account resource id and profile
    az network perimeter association create \
        --name <NetworkSecurityPerimeterAssociationName> \
        --perimeter-name <NetworkSecurityPerimeterName> \
        --resource-group <ResourceGroupName> \
        --access-mode Learning  \
        --private-link-resource "{id:<PaaSArmId>}" \
        --profile "{id:<NetworkSecurityPerimeterProfileId>}"
    
    

后续步骤