在 Azure 门户中使用密钥保管库证书配置 TLS 终止

Azure Key Vault 是平台托管的机密存储,可以用来保证机密、密钥和 TLS/SSL 证书的安全。 Azure 应用程序网关支持与密钥保管库集成,以存储附加到支持 HTTPS 的侦听器的服务器证书。 此支持仅限于应用程序网关 v2 SKU。

有关详细信息,请参阅使用 Key Vault 证书实现 TLS 终止

本文介绍如何使用 Azure 门户将密钥保管库与应用程序网关集成,以获得 TLS/SSL 终止证书。

先决条件

在开始学习本文之前,必须有一个 Azure 订阅。 如果没有,请在开始之前创建一个试用订阅

配置步骤

创建资源组

  1. 登录到 Azure 门户

  2. 选择“资源组”

  3. 选择“添加” 。

  4. 输入以下值:

    • 订阅:选择 Azure 订阅。

    • 资源组:输入新的资源组名称。

    • 区域:选择某个 Azure 位置,例如“中国北部 2” 。

  5. 选择“查看 + 创建”

  6. 选择“创建” 。 创建资源组需要几秒钟的时间。

  7. 在顶部菜单中选择“刷新”以刷新资源组列表,然后选择新建的资源组将其打开。 或者,选择顶部的“通知”(钟形图标),然后选择“转到资源组”打开新创建的资源组

创建密钥保管库

重要

密钥保管库名称必须是全局唯一的。

  1. 在“搜索”框中,输入“密钥保管库” 。

  2. 从结果列表中选择“密钥保管库”。

  3. 在“密钥保管库”部分,选择“创建”。

  4. 在“创建密钥保管库”部分,提供以下信息:

    • 名称:必须提供唯一的名称。
    • 订阅:选择订阅。
    • 选择先前创建的资源组。
    • 在“位置”下拉菜单中,选择“中国北部 2” 。 让其他选项保留默认值。
  5. 提供上述信息后,选择“创建”。

    屏幕截图显示了密钥保管库的创建

目前,只有你的 Azure 帐户有权对这个新保管库执行操作。

创建证书和颁发策略

证书

  1. 在之前创建的密钥保管库中,导航到“证书”。

  2. 在“证书”下,选择所需的创建方法,无论是要导入还是生成 。 如果选择生成证书,则需要创建颁发策略。

  3. 输入证书名称并填写所有必填字段。

  4. 提供上述信息后,选择“创建” 。

    屏幕截图显示了密钥保管库证书的创建

重要

颁发策略仅影响将来颁发的证书。 修改此颁发策略不会影响任何现有证书。

创建虚拟网络

  1. 在“搜索”框中,输入“虚拟网络” 。
  2. 在“虚拟网络”页中选择“创建” 。
  3. 在“创建虚拟网络”的“基本信息”选项卡中,输入或选择以下信息:
    • 订阅:选择订阅。
    • 选择先前创建的资源组。
    • 名称:必须提供唯一的名称。
    • 在“位置”下拉菜单中,选择“中国北部 2” 。
  4. 选择“确定”。
  5. 选择“IP 地址”选项卡,或选择页面底部的“下一步: IP 地址”按钮。
  6. 在“IPv4 地址空间”中,选择现有地址空间,并将其更改为 10.1.0.0/16。
  7. 选择“+ 添加子网”,然后输入 MySubnet 作为“子网名称”,输入 10.1.0.0/24 作为“子网地址范围”。
  8. 选择 添加
  9. 选择“确定”。
  10. 选择“查看 + 创建”按钮。

创建应用程序网关

你将使用“创建应用程序网关”页上的选项卡创建应用程序网关。

  1. 在 Azure 门户菜单上或在门户主页中,选择“创建资源”。 此时会显示“新建”窗口。
  2. 选择“网络”,然后在“特色”列表中选择“应用程序网关”。

“基本信息”选项卡

  1. 在“基本信息”选项卡上,输入这些值作为以下应用程序网关设置:

    资源组:选择 myResourceGroupAG 作为资源组。 如果该资源组不存在,请选择“新建”,创建一个新的。

    应用程序网关名称:输入 myAppGateway 作为应用程序网关的名称。

  2. Azure 需要一个虚拟网络才能在创建的资源之间通信。 可以创建新的虚拟网络,或者使用现有的虚拟网络。 在此示例中,将在创建应用程序网关的同时创建新的虚拟网络。 在独立的子网中创建应用程序网关实例。 在本示例中创建两个子网:一个用于应用程序网关,另一个用于后端服务器。

    注意

    应用程序网关子网中当前不支持虚拟网络服务终结点策略

    在“配置虚拟网络”下,通过选择“新建”创建新的虚拟网络 。 在打开的“创建虚拟网络”窗口中,输入以下值以创建虚拟网络和两个子网 :

    名称:输入 myVNet 作为虚拟网络的名称。

    子网名称(应用程序网关子网):子网网格将显示名为“默认值”的子网。 将此子网的名称更改为 myAGSubnet。 应用程序网关子网只能包含应用程序网关。 不允许其他资源。

    子网名称(后端服务器子网):在子网网关的第二行中,在“子网名称”列输入“myBackendSubnet”。

    地址范围(后端服务器子网):在子网网格的第二行中,输入不会与 myAGSubnet 的地址范围重叠的地址范围。 例如,如果 myAGSubnet 的地址范围为 10.0.0.0/24,则为 myBackendSubnet 的地址范围输入 10.0.1.0/24 。

    选择“确定”以关闭“创建虚拟网络”窗口,并保存虚拟网络设置。

  3. 在“基本信息” 选项卡上,接受其他设置的默认值,然后选择“下一步: 前端”。

“前端”选项卡

  1. 在“前端”选项卡上,验证“前端 IP 地址类型”是否设置为“公共”。 可根据用例将前端 IP 配置为公共或专用 IP。 本示例将选择公共前端 IP。

    注意

    对于应用程序网关 v2 SKU,必须有一个公共前端 IP 配置。 你仍可以同时有公共和专用前端 IP 配置,但目前没有为 v2 SKU 启用仅专用前端 IP 配置(仅限 ILB 模式)。

  2. 为“公共 IP 地址”选择“新增”,输入 myAGPublicIPAddress 作为公共 IP 地址名称,然后选择“确定”。

  3. 在完成时选择“下一步:后端

“后端”选项卡

后端池用于将请求路由到为请求提供服务的后端服务器。 后端池可以包含 NIC、虚拟机规模集、公共 IP 地址、内部 IP 地址、完全限定的域名 (FQDN) 和多租户后端(例如 Azure 应用服务)。 在此示例中,将使用应用程序网关创建空的后端池,然后将后端目标添加到后端池。

  1. 在“后端”选项卡上,选择“添加后端池” 。

  2. 在打开的“添加后端池”窗口中,输入以下值以创建空的后端池 :

    名称:输入“myBackendPool”作为后端池的名称。

    添加不包含目标的后端池:选择“是”以创建不包含目标的后端池 。 你将在创建应用程序网关之后添加后端目标。

  3. 在“添加后端池”窗口中,选择“添加”以保存后端池配置并返回到“后端”选项卡 。

  4. 在“后端” 选项卡上,选择“下一步: 配置”。

配置选项卡

在“配置”选项卡上,将连接使用传递规则创建的前端和后端池。

  1. 选择“传递规则”列中的“添加传递规则” 。

  2. 在打开的“添加路由规则”窗口中,输入 myRoutingRule 作为规则名称 。

  3. 传递规则需要侦听器。 在“添加传递规则”窗口中的“侦听器”选项卡上,输入侦听器的以下值 :

    侦听器名称:输入“myListener”作为侦听器名称。

    前端 IP:选择“公共”,以选择为前端创建的公共 IP。

    接受“侦听器”选项卡上其他设置的默认值,然后选择“后端目标”选项卡以配置剩余的传递规则 。

  4. 在“后端目标”选项卡上,为“后端目标”选择“myBackendPool” 。

  5. 对于“HTTP 设置”,选择“新增”以添加新的 HTTP 设置 。 HTTP 设置将决定传递规则的行为。 在打开的“添加 HTTP 设置”窗口中,输入 myHTTPSetting 作为 HTTP 设置名称,输入 80 作为“后端端口”。 接受“添加 HTTP 设置”窗口中其他设置的默认值,然后选择“添加”以返回到“添加传递规则”窗口 。

  6. 在“添加传递规则”窗口上,选择“添加”以保存传递规则并返回到“配置”选项卡 。

  7. 在完成时选择“下一步: 标记”,然后选择“下一步: 查看 + 创建”。

“查看 + 创建”选项卡

复查“查看 + 创建”选项卡上的设置,然后选择“创建”以创建虚拟网络、公共 IP 地址和应用程序网关 。 Azure 可能需要数分钟时间来创建应用程序网关。 请等待部署成功完成,然后再前进到下一部分。

将后端目标添加到后端池。

创建用户分配的托管标识

搜索托管标识

  1. 创建用户分配的托管标识。

  2. 返回到之前创建的密钥保管库。

  3. 选择“访问策略”。

  4. 选择“添加访问策略”。

  5. 填写所需的权限级别。

  6. 对于“主体”,然后选择“未选择任何项” 。

  7. 搜索之前创建的托管标识名称并使用该名称。 跳过应用程序标识。

    屏幕截图显示了用户分配的标识的创建

有关配置访问策略权限和密钥保管库防火墙权限的其他信息,请阅读以下文章。

将用户分配的托管标识委托给 Key Vault

验证对 Key Vault 的防火墙权限

通过将用户管理的标识分配给应用程序网关,将 TLS/SSL 证书指向密钥保管库

  1. 返回到之前配置的应用程序网关

  2. 选择“侦听器”,然后选择“添加侦听器”(这将添加 HTTPS 侦听器)

  3. 完成以下字段:

    • 侦听器名称:唯一名称
    • 前端 IP:公共
    • 端口:443
    • 协议:HTTPS
    • HTTP 设置:从密钥保管库中选择证书
    • 证书名称:唯一名称
    • 托管标识:选择之前在上面创建的托管标识的名称
    • 密钥保管库::选择之前配置的密钥保管库的名称
    • 证书:自动填充密钥保管库中找到的证书 将其余选择保留为默认值

    屏幕截图显示了使用密钥保管库的应用程序网关

后续步骤

了解有关 TLS 终止的详细信息

深入了解 Key Vault