配置 Azure Key Vault 防火墙和虚拟网络
本文档详细介绍了 Azure Key Vault 防火墙的不同配置。 若要按照有关如何配置这些设置的分步说明进行操作,请参阅配置 Azure Key Vault 网络设置。
有关详细信息,请参阅适用于 Azure Key Vault 的虚拟网络服务终结点。
防火墙设置
本部分介绍配置 Azure Key Vault 防火墙的不同方式。
禁用 Key Vault 防火墙(默认)
默认情况下,当你创建新的密钥保管库时,Azure Key Vault 防火墙处于禁用状态。 所有应用程序和 Azure 服务都可以访问该密钥保管库并将请求发送到该密钥保管库。 此配置并不意味着任何用户都可以在你的密钥保管库上执行操作。 密钥保管库仍通过要求 Microsoft Entra 身份验证和访问策略权限来限制对存储在密钥保管库中的机密、密钥和证书的访问。 若要更详细地了解密钥保管库身份验证,请参阅 Azure Key Vault 中的身份验证。 有关详细信息,请参阅访问防火墙保护下的 Azure 密钥保管库。
启用 Key Vault 防火墙(仅限受信任的服务)
启用密钥保管库防火墙时,系统会向你提供“允许受信任的 Azure 服务绕过此防火墙”选项。 受信任的服务列表并不是全部的 Azure 服务。 例如,Azure DevOps 不在受信任的服务列表中。 这并不意味着未出现在可信服务列表中的服务不受信任或不安全。 受信任的服务列表中包含的服务符合这一条件:Azure 控制该服务上运行的所有代码。 由于用户可以在 Azure 服务(例如 Azure DevOps)中编写自定义代码,因此 Azure 不提供为该服务创建全面批准的选项。 此外,服务出现在受信任的服务列表中并不意味着所有方案都允许该服务。
若要确定你要使用的服务是否在受信任的服务列表中,请参阅 Azure Key Vault 的虚拟网络服务终结点。 有关操作指南,请遵循此处有关门户、Azure CLI 和 Powershell 的说明
启用 Key Vault 防火墙(IPv4 地址和范围 - 静态 IP)
如果你想要授权特定服务通过 Key Vault 防火墙访问密钥保管库,可将其 IP 地址添加到密钥保管库防火墙允许列表中。 此配置最适合使用静态 IP 地址或已知范围的服务。 这种情况下,CIDR 范围数量限制为 1000。
若要允许某个 Azure 资源(例如 Web 应用或逻辑应用)的某个 IP 地址或范围,请执行以下步骤。
- 登录到 Azure 门户。
- 选择资源(服务的特定实例)。
- 选择“设置”下的“属性”边栏选项卡。
- 查找“IP 地址”字段。
- 复制此值或范围,并将其输入到密钥保管库防火墙允许列表中。
若要允许整个 Azure 服务通过 Key Vault 防火墙,请使用此处的 Azure 公开记录的数据中心 IP 地址列表。 在所需区域中找到与服务关联的 IP 地址,并将这些 IP 地址添加到密钥保管库防火墙。
启用 Key Vault 防火墙(虚拟网络 - 动态 IP)
如果尝试允许 Azure 资源(如虚拟机)通过密钥保管库,则可能无法使用静态 IP 地址,并且你可能不希望允许 Azure 虚拟机的所有 IP 地址访问密钥保管库。
在这种情况下,应在虚拟网络中创建资源,然后允许来自特定虚拟网络和子网的流量访问密钥保管库。
- 登录到 Azure 门户。
- 选择要配置的密钥保管库。
- 选择“网络”边栏选项卡。
- 选择“+ 添加现有虚拟网络”。
- 选择要允许通过密钥保管库防火墙的虚拟网络和子网。
启用 Key Vault 防火墙(专用链接)
若要了解如何在密钥保管库上配置专用链接连接,请参阅此处的文档。
重要
防火墙规则生效后,只在用户请求来自允许的虚拟网络或 IPv4 地址范围时,才能执行 Key Vault 数据平面操作。 从 Azure 门户访问 Key Vault 时,这同样适用。 虽然用户可从 Azure 门户浏览到 Key Vault,但如果其客户端计算机不在允许列表中,则可能无法列出密钥、机密或证书。 这也会影响其他 Azure 服务使用的密钥保管库选取器。 如果防火墙规则阻止了用户的客户端计算机,则用户可以查看密钥保管库列表,但不能查看列表密钥。
注意
注意以下配置限制:
- 最多允许 200 条虚拟网络规则和 1000 条 IPv4 规则。
- IP 网络规则仅适用于公共 IP 地址。 IP 规则不允许为专用网络保留的 IP 地址范围(如 RFC 1918 中所定义)。 专用网络包括以 10. 、172.16-31 和 192.168. 开头的地址。
- 目前仅支持 IPv4 地址。
公共访问已禁用(仅专用终结点)
为了提高网络安全性,可以将保管库配置为禁用公共访问。 这将拒绝所有公共配置,仅允许通过专用终结点进行连接。
参考
- ARM 模板参考:Azure Key Vault ARM 模板参考
- Azure CLI 命令:az keyvault network-rule
- Azure PowerShell cmdlets:Get-AzKeyVault, Add-AzKeyVaultNetworkRule, Remove-AzKeyVaultNetworkRule, Update-AzKeyVaultNetworkRuleSet