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

使用 API 创建用于管理 Azure 资源的专用链接

本文介绍如何使用 Azure 专用链接来限制对订阅中资源的管理访问权限。

使用专用链接,可以通过虚拟网络中的专用终结点访问 Azure 服务。 将专用链接与 Azure 资源管理器的操作相结合时,可阻止不在特定终结点的用户管理资源。 如果恶意用户获取订阅中帐户的凭据,则该用户会因未在特定终结点而无法管理资源。

专用链接提供以下安全优势:

  • 专用访问 - 用户可以通过专用终结点从专用网络管理资源。

注意

Azure Kubernetes Service (AKS) 当前不支持 ARM 专用终结点实现。

Azure Bastion 不支持专用链接。 建议将专用 DNS 区域用于资源管理专用链接专用终结点配置,但由于与 management.azure.com 名称重叠,Bastion 实例将停止工作。 有关详细信息,请参阅 Azure Bastion 常见问题解答

了解体系结构

重要

对于此版本,只能在根管理组级别应用专用链接管理访问。 此限制意味着在租户范围应用专用链接访问。

通过专用链接实现管理时,将使用两种资源类型。

  • 资源管理专用链接 (Microsoft.Authorization/resourceManagementPrivateLinks)
  • 专用链接关联 (Microsoft.Authorization/privateLinkAssociations)

下图显示了如何构造一个解决方案,用于限制对资源的管理访问权限。

资源管理专用链接关系图

专用链接关联扩展了根管理组。 专用链接关联和专用终结点引用资源管理专用链接。

重要

目前不支持多租户帐户通过专用链接管理资源。 不能将不同租户上的专用链接关联连接到单个资源管理专用链接。

如果帐户访问多个租户,请仅为其中一个租户定义专用链接。

工作流

若要为资源设置专用链接,请使用以下步骤。 本文稍后将更详细地介绍这些步骤。

  1. 创建资源管理专用链接。
  2. 创建专用链接关联。 专用链接关联扩展了根管理组。 它还引用资源管理专用链接的资源 ID。
  3. 添加一个引用资源管理专用链接的专用终结点。

完成这些步骤后,你可以管理范围层次结构中的 Azure 资源。 使用连接到子网的专用终结点。

可以监视对专用链接的访问。 有关详细信息,请参阅记录和监视

所需的权限

重要

对于此版本,只能在根管理组级别应用专用链接管理访问。 此限制意味着在租户范围应用专用链接访问。

若要设置用于资源管理的专用链接,需要以下访问权限:

  • 订阅的所有者。 需要此访问权限才能创建资源管理专用链接资源。
  • 根管理组的所有者或参与者。 需要此访问权限才可创建专用链接关联资源。
  • Microsoft Entra ID 的全局管理员不会自动拥有在根管理组分配角色的权限。 为了能够创建资源管理专用链接,全局管理员必须有权读取根管理组并提升访问权限,以便对租户中所有订阅和管理组具有用户访问管理员权限。 获取用户访问管理员权限后,全局管理员必须在根管理组中向创建专用链接关联的用户授予所有者或参与者权限。

若要创建资源管理专用链接,请发送以下请求:

示例

# Login first with az login if not using Cloud Shell
az resourcemanagement private-link create --location WestUS --resource-group PrivateLinkTestRG --name NewRMPL

记下为新资源管理专用链接返回的 ID。 你将使用它来创建专用链接关联。

专用链接关联资源的资源名称必须是 GUID。尚不支持禁用 publicNetworkAccess 字段。

若要创建专用链接关联,请使用:

示例

# Login first with az login if not using Cloud Shell
az private-link association create --management-group-id fc096d27-0434-4460-a3ea-110df0422a2d --name 1d7942d1-288b-48de-8d0f-2d2aa8e03ad4 --privatelink "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/PrivateLinkTestRG/providers/Microsoft.Authorization/resourceManagementPrivateLinks/newRMPL"

添加专用终结点

本文假设你已具有虚拟网络。 在将用于专用终结点的子网中,必须关闭专用终结点网络策略。 如果尚未关闭专用终结点网络策略,请参阅禁用专用终结点的网络策略

若要创建专用终结点,请参阅专用终结点文档,了解如何通过门户PowerShellCLIBicep模板来创建它。

在请求正文中,将 privateServiceLinkId 设置为资源管理专用链接的 ID。 groupIds 必须包含 ResourceManagement。 专用终结点的位置必须与子网的位置相同。

{
  "location": "westus2",
  "properties": {
    "privateLinkServiceConnections": [
      {
        "name": "{connection-name}",
        "properties": {
           "privateLinkServiceId": "/subscriptions/{subID}/resourceGroups/{rgName}/providers/Microsoft.Authorization/resourceManagementPrivateLinks/{name}",
           "groupIds": [
              "ResourceManagement"
           ]
         }
      }
    ],
    "subnet": {
      "id": "/subscriptions/{subID}/resourceGroups/{rgName}/providers/Microsoft.Network/virtualNetworks/{vnet-name}/subnets/{subnet-name}"
    }
  }
}

下一步操作取决于你使用的是自动批准还是手动批准。 有关批准的详细信息,请参阅使用审批工作流访问专用链接资源

响应包括审批状态。

"privateLinkServiceConnectionState": {
    "actionsRequired": "None",
    "description": "",
    "status": "Approved"
},

如果请求自动获得批准,可以继续进行下一部分。 如果请求需要手动批准,请等待网络管理员批准专用终结点连接。

后续步骤

若要详细了解专用链接,请参阅 Azure 专用链接