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

将 密钥保管库 与 Azure 专用链接集成

使用 Azure 专用链接服务,可以通过虚拟网络中的专用终结点访问 Azure 服务(例如 Azure 密钥保管库、Azure 存储和 Azure Cosmos DB)和 Azure 托管的客户/合作伙伴服务。

Azure 专用终结点是一个网络接口,可将你专用且安全地连接到由 Azure 专用链接提供支持的服务。 专用终结点使用 VNet 中的专用 IP 地址,从而有效地将服务引入 VNet。 发往服务的所有流量都可以通过专用终结点路由,因此不需要网关、NAT 设备、ExpressRoute 或 VPN 连接或公共 IP 地址。 虚拟网络与服务之间的流量通过微软主干网络传输,从而避免了暴露于公共互联网。 可以连接到 Azure 资源的实例,这样可以实现访问控制的最高粒度级别。

有关详细信息,请参阅什么是 Azure 专用链接?

先决条件

若要将密钥保管库与 Azure 专用链接集成,需要:

  • 密钥保管库。
  • 一个 Azure 虚拟网络。
  • 虚拟网络中的子网。
  • 密钥保管库和虚拟网络的所有者或参与者权限。

专用终结点和虚拟网络必须位于同一区域。 当您在门户中为专用终结点选择区域时,它将自动筛选仅该区域内的虚拟网络。 密钥保管库可以位于其他区域中。

专用终结点使用虚拟网络中的专用 IP 地址。

Azure 密钥保管库会对每个保管库的专用终结点数强制实施限制。 有关这些限制的信息,请参阅 Azure 密钥保管库 服务限制

首先,按照使用 Azure 门户创建虚拟网络中的步骤创建虚拟网络

然后,可以创建新的密钥保管库,或建立与现有密钥保管库的专用链接连接。

可以使用 Azure 门户Azure CLIAzure PowerShell 创建新的密钥保管库。

配置密钥保管库基本配置后,点击“网络”选项卡,然后按照以下步骤进行操作:

  1. 通过关闭单选按钮来禁用公共访问。

  2. 选择“+ 创建专用终结点”按钮以添加专用终结点。

    显示“创建密钥保管库”页上的“网络”选项卡的屏幕截图。

  3. 在“创建专用终结点”边栏选项卡的“位置”字段中,选择虚拟网络所在的区域。

  4. 在“名称”字段中,创建一个描述性名称,用于标识此专用终结点。

  5. 从下拉菜单中选择希望在此专用终结点中创建的虚拟网络和子网。

  6. 将“与专用区域 DNS 集成”选项保持不变。

  7. 选择“确定”。

    屏幕截图显示了“创建专用终结点”页,其中选中了一些设置。

现在你将能够看到所配置的专用终结点。 现在可以删除和编辑此专用终结点。 选择“查看 + 创建”按钮并创建密钥保管库。 部署需要 5-10 分钟才能完成。

如果已有密钥保管库,可以按照以下步骤创建专用链接连接:

  1. 登录到 Azure 门户。

  2. 在搜索栏中,键入“密钥保管库”。

  3. 从列表中选择要将专用终结点添加到的 Key Vault。

  4. 选择“设置”下的“网络”选项卡。

  5. 选择页面顶部的“专用终结点连接”选项卡。

  6. 选择页面顶部的“+ 创建”按钮。

    显示“网络”页上的“+ 专用终结点”按钮的屏幕截图。 显示“创建专用终结点(预览)”页上的“基本信息”选项卡的屏幕截图。

  7. 在“项目详细信息”下,选择包含作为本教程先决条件创建的虚拟网络的资源组。 在“实例详细信息”下,输入“myPrivateEndpoint”作为名称,并选择与作为本教程先决条件创建的虚拟网络相同的位置。

    可以使用此边栏选项卡选择为任何 Azure 资源创建专用终结点。 可以使用下拉菜单选择资源类型并选择目录中的资源,也可以使用资源 ID 连接到任何 Azure 资源。 将“与专用区域 DNS 集成”选项保持不变。

  8. 前进到“资源”边栏选项卡。 对于“资源类型”,请选择“Microsoft.KeyVault/vaults”;对于“资源”,请选择作为本教程的先决条件创建的密钥保管库。 “目标子资源”将自动填充“保管库”。

  9. 转到“虚拟网络”。 选择作为本教程先决条件创建的虚拟网络和子网。

  10. 继续浏览“DNS”和“标记”边栏选项卡,接受默认值。

  11. 在“查看 + 创建”边栏选项卡上,选择“创建”。

创建专用终结点时,必须批准连接。 如果要为其创建专用终结点的资源位于目录中,则可以批准提供足够权限的连接请求;如果要连接到另一个目录中的 Azure 资源,则必须等待该资源的所有者批准连接请求。

有四种预配状态:

服务操作 服务使用者专用终结点状态 DESCRIPTION
没有 待处理 连接是手动创建的,正等待专用链接资源所有者批准。
审批 已批准 连接已自动或手动批准,随时可供使用。
拒绝 已拒绝 连接已被专用链接资源所有者拒绝。
移除 已断开连接 连接已被专用链接资源所有者删除,专用终结点变为仅供参考,应将其删除以进行清理。

如何使用 Azure 门户管理与密钥保管库的私有端点连接

  1. 登录到 Azure 门户。

  2. 在搜索栏中,键入“密钥保管库”

  3. 选择要管理的密钥保管库。

  4. 选择“网络”选项卡。

  5. 如果有任何连接处于挂起状态,您将会在配置状态中看到一个标有“挂起”的连接。

  6. 选择要批准的专用终结点

  7. 选择“批准”按钮。

  8. 如果想要拒绝任何专用终结点连接,无论是挂起的请求还是现有连接,请选择连接,然后选择“拒绝”按钮。

    图像

应验证专用终结点资源同一子网中的资源是否通过专用 IP 地址连接到密钥保管库,以及它们是否具有正确的专用 DNS 区域集成。

首先,遵循在 Azure 门户中创建 Windows 虚拟机中的步骤创建一个虚拟机。

在“网络”选项卡中:

  1. 指定虚拟网络和子网。 可以创建新的虚拟网络或选择现有虚拟网络。 如果选择一个现有的,请确保其区域匹配。
  2. 指定公共 IP 资源。
  3. 在“NIC 网络安全组”中,选择“无”。
  4. 在“负载均衡”中,选择“否”。

打开命令行并运行以下命令:

nslookup <vault-name>.vault.azure.net

如果运行 ns 查找命令以通过公共终结点解析密钥保管库的 IP 地址,则会看到如下所示的结果:

c:\ >nslookup <vault-name>.vault.azure.net

Non-authoritative answer:
Name:    
Address:  (public IP address)
Aliases:  <vault-name>.vault.azure.net

如果运行 ns 查找命令以通过专用终结点解析密钥保管库的 IP 地址,则会看到如下所示的结果:

c:\ >nslookup your_vault_name.vault.azure.net

Non-authoritative answer:
Name:    
Address:  10.1.0.5 (private IP address)
Aliases:  <vault-name>.vault.azure.net
          <vault-name>.privatelink.vaultcore.azure.net

私钥保管库的公共 DNS 可见性

在公共 DNS 中,禁用公共访问的专用终结点所使用的密钥库仍然可以解析。 FQDN <vault-name>.vault.azure.net将 CNAME 返回到 privatelink.vaultcore.azure.net,公共 DNS 中会指向区域密钥保管库服务入口。 此行为是有意的,也是支持专用链接的每个Azure PaaS 服务的设计方式:公共 CNAME 存在,以便没有专用 DNS 替代的客户端(例如,尚未为专用区域配置的本地主机)仍可以在分阶段迁移期间解析名称。

公共 DNS 解析与访问不同:

  • 成功的查找仅确认在全局 密钥保管库 命名空间中存在具有该确切名称的保管库。 它不会确认已附加专用终结点、公开专用终结点 IP 或公开任何保管库配置、网络规则或数据。
  • 公共 DNS 返回的 IP 属于共享的多租户 密钥保管库 前端,而不是属于您自己的保管库。 将 公共网络访问 设置为 “已禁用 ”且没有防火墙允许列表,该服务将拒绝该入口处的每个请求。
  • 数据面板控制保护保管库:已禁用公共访问、专用终结点、RBAC、软删除、清除保护、Microsoft Defender for 密钥保管库 和诊断日志记录。 DNS 抑制不是一种控制措施。

如果可预测的资源名称本身是威胁模型的一部分,请选择不对环境、客户或工作负荷标识符进行编码的保管库名称,以便外部观察程序无法猜测要查询的 FQDN。

有关基础 DNS 体系结构,请参阅 Azure专用终结点 DNS 配置

故障排除指南

  • 检查以确保专用终结点处于已批准状态。

    1. 可在 Azure 门户中查看和解决此问题。 打开 密钥保管库 资源,然后选择“网络”选项。
    2. 然后选择“专用终结点连接”选项卡。
    3. 确保连接状态为“已批准”,并且预配状态为“成功”。
    4. 您还可以导航到专用终结点资源,在那里查看相同的属性,并仔细检查虚拟网络是否与您正在使用的网络一致。
  • 检查以确保你拥有专用 DNS 区域资源。

    1. 必须具有具有确切名称的专用 DNS 区域资源:privatelink.vaultcore.azure.net。
    2. 若要了解如何设置此项,请参阅以下链接。 专用 DNS 区域
  • 检查以确保专用 DNS 区域已链接到虚拟网络。 如果仍返回公共 IP 地址,则可能存在该问题。

    1. 如果专用区域 DNS 未链接到虚拟网络,则源自虚拟网络的 DNS 查询将返回密钥保管库的公共 IP 地址。
    2. 在 Azure 门户中导航到专用 DNS 区域资源,然后选择虚拟网络链接选项。
    3. 必须列出将执行对密钥保管库调用的虚拟网络。
    4. 如果它不存在,请添加它。
    5. 有关详细步骤,请参阅以下文档将 虚拟网络链接到专用 DNS 区域
  • 检查确保私有 DNS 区域未缺少用于密钥保管库的 A 记录。

    1. 导航到“专用 DNS 区域”页。
    2. 选择“概述”并检查是否有 A 记录,其中包含密钥保管库的简单名称(例如 fabrikam)。 不要指定任何后缀。
    3. 请务必检查拼写,创建或修复 A 记录。 可以使用一个 TTL 值为 600(10 分钟)。
    4. 确保指定了正确的专用 IP 地址。
  • 检查以确保 A 记录具有正确的 IP 地址。

    1. 可以通过在 Azure 门户中打开专用终结点资源来确认 IP 地址。
    2. 在 Azure 门户中导航到 Microsoft.Network/privateEndpoints 资源(而不是 密钥保管库 资源)
    3. 在概述页中,查找网络接口并选择该链接。
    4. 该链接显示 NIC 资源的概述,其中包含专用 IP 地址属性。
    5. 验证这是否为在 A 记录中指定的正确 IP 地址。
  • 如果要从本地资源连接到 密钥保管库,请确保在本地环境中启用了所有必需的条件转发器。

    1. 查看所需区域的 Azure 专用终结点 DNS 配置,并确保您在本地 DNS 上针对vault.azure.netvaultcore.azure.net这两者都有条件转发器。
    2. 确保这些区域有条件转发器,这些区域路由到 Azure 专用 DNS 解析程序 或其他一些有权访问 Azure 解析的 DNS 平台。

限制和设计注意事项

限制:请参阅 Azure 专用链接限制

定价:请参阅 Azure 专用链接定价

限制:请参阅 Azure 专用链接服务:限制

后续步骤