Azure 密钥保管库的虚拟网络服务终结点允许限制对指定虚拟网络的访问。 此外,还可通过这些终结点将访问限制为一系列 IPv4(Internet 协议版本 4)地址范围。 任何从外部连接到 Key Vault 的用户都无法访问这些资源。
此限制有一个重要的例外情况。 如果选择允许受信任的 Microsoft 服务,某些 Microsoft 服务可绕过防火墙并访问保管库。 本文后面的 “受信任的服务 ”部分列出了今天绕过防火墙的服务;该表中没有的服务需要防火墙 IP 规则、虚拟网络规则或专用终结点才能访问保管库。 绕过防火墙的服务仍需要提供有效的Microsoft Entra令牌,并且必须具有权限(配置为Azure RBAC 角色分配或访问策略)才能执行请求的操作。 有关详细信息,请参阅虚拟网络服务终结点。
使用场景
可以配置 密钥保管库 防火墙和虚拟网络以默认拒绝访问来自所有网络(包括 Internet 流量)的流量。 可以向来自特定Azure虚拟网络和公共 Internet IP 地址范围的流量授予访问权限,从而为应用程序构建安全网络边界。
注意
密钥保管库防火墙和虚拟网络规则仅适用于数据平面密钥保管库。 密钥保管库控制平面操作(如创建、删除和修改操作、设置访问策略、设置防火墙以及通过 ARM 模板部署机密或密钥)不受防火墙和虚拟网络规则的影响。
下面是此服务终结点的一些用法示例:
- 使用 密钥保管库 存储加密密钥、应用程序机密和证书,并且想要阻止从公共互联网进行访问。
- 你希望限制访问 Key Vault,以便只有你的应用程序或指定的少部分主机才能连接到 Key Vault。
- Azure虚拟网络中运行了一个应用程序,此虚拟网络已针对所有入站和出站流量锁定。 应用程序仍需要连接到密钥保管库来提取机密或证书,或使用加密密钥。
授予对受信任Azure服务的访问权限
可以授予对密钥保管库的受信任Azure服务的访问权限,同时为其他应用维护网络规则。 然后,这些受信任的服务会使用强身份验证安全地连接到密钥保管库。
可以通过配置网络设置来授予对受信任Azure服务的访问权限。 有关分步指南,请参阅 配置 Azure 密钥保管库 网络安全。
向受信任的Azure服务授予访问权限时,可以授予以下类型的访问权限:
- 为订阅中注册的资源提供选定操作的受信任访问权限。
- 基于托管身份的受信任资源访问权限。
- 使用联合身份凭据进行跨租户的可信访问
启用“允许受信任的 Microsoft 服务绕过此防火墙”后,“受信任的服务”表中列出的服务可访问该保管库。 禁用公共访问时,旁路将继续应用,因此列出的服务不需要专用终结点进行连接。 如果公共网络访问设置为 由边界保护(通过关联网络安全边界),则绕过设置会被覆盖,甚至受信任的服务也会被阻止,除非有显式的边界访问规则允许这些服务访问。
受信服务
下表列出了已知会在启用 允许受信任的服务 选项时绕过 密钥保管库 防火墙的 Microsoft 服务。 此表反映发布时已知的服务;新载入的服务可能尚未出现在此处。
| 受信服务 | 支持的使用方案 |
|---|---|
| Azure API 管理 | 使用 MSI 从 密钥保管库 部署自定义域的证书 |
| Azure App 服务 | 应用服务仅被信任用于 通过 密钥保管库 部署 Azure Web 应用证书,对于单个应用本身的出站 IP,可在 密钥保管库 的基于 IP 规则中添加。 |
| Azure 应用程序网关 | 为启用了 HTTPS 的侦听器使用密钥保管库证书 |
| Azure 备份 | 使用 Azure 备份 在Azure 虚拟机备份期间允许备份和还原相关的密钥和机密。 |
| Azure Bot 服务 | 静态数据的Azure AI 机器人服务加密 |
| Azure 容器注册表 | 使用客户管理的密钥进行注册表加密 |
| Azure 数据工厂 | 从数据工厂的密钥保管库中获取数据存储凭据 |
| Azure Database for MySQL 单服务器 | Azure Database for MySQL 单一服务器的数据加密 |
| Azure Database for MySQL 灵活的服务器 | 对Azure Database for MySQL弹性服务器的数据进行加密 |
| Azure Database for PostgreSQL 单服务器 | 针对单一服务器的Azure Database for PostgreSQL数据加密 |
| Azure Database for PostgreSQL 的灵活服务器 | Azure Database for PostgreSQL 灵活服务器的数据加密 |
| Azure Databricks | 基于 Apache Spark 的快速、简单、协作分析服务 |
| Azure 磁盘加密 卷加密服务 | 允许在虚拟机部署期间访问 BitLocker 密钥(Windows VM)或 DM 密码(Linux VM)和密钥加密密钥。 这将启用 Azure 磁盘加密。 |
| Azure 磁盘存储 | 配置了磁盘加密集 (DES) 时。 有关详细信息,请参阅使用客户管理的密钥对Azure 磁盘存储进行服务器端加密。 |
| Azure 防火墙高级版 | Azure 防火墙高级证书 |
| Azure 导入/导出(Azure 导入/导出) | 在导入/导出服务Azure 密钥保管库中使用客户管理的密钥 |
| Azure 信息保护 | 允许访问 Azure 信息保护 的租户密钥。 |
| Azure 机器学习 | 虚拟网络中的 Secure Azure 机器学习 |
| Azure 资源管理器模板部署服务 | 在部署期间传递安全值。 |
| Azure 服务总线 | 允许访问用于客户管理密钥场景的密钥保管库 |
| Azure SQL 数据库 | 透明数据加密具有对 Azure SQL 数据库 和 Azure Synapse Analytics 的“自带密钥”支持。 |
| Azure 存储 | 使用客户管理的密钥在 Azure 密钥保管库 中进行 Storage 服务加密。 |
| Azure Synapse Analytics | |
| Azure 虚拟机部署服务 | 将证书从客户管理的 密钥保管库 部署到虚拟机。 |
| Exchange Online、SharePoint Online、M365DataAtRestEncryption | 允许使用客户密钥访问用于静态数据加密的客户管理密钥。 |
| Azure Purview | 在 Azure Purview 中使用源身份验证凭据 |
注意
必须为 密钥保管库 角色分配或访问策略(旧版)设置相关的 Azure RBAC,以允许相应的服务访问 密钥保管库。
后续步骤
- 有关分步说明,请参阅 为 Azure 密钥保管库 配置网络安全性。
- 有关安全最佳做法,请参阅 Secure Azure 密钥保管库。