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

Azure API 管理的 Azure Policy 内置策略定义

适用于:所有 API 管理层级

本页是 Azure API 管理的 Azure Policy 内置策略定义的索引。 有关其他服务的其他 Azure Policy 内置定义,请参阅 Azure Policy 内置定义。 如果要查找可用于在 API 管理中修改 API 行为的策略,请查看API 管理策略参考

每个内置策略定义链接(指向 Azure 门户中的策略定义)的名称。 使用“版本”列中的链接查看 Azure Policy GitHub 存储库上的源。

Azure API 管理

名称
(Azure 门户)
说明 效果 版本
(GitHub)
[预览]:API 管理服务应为区域冗余 API 管理服务可以配置为区域冗余或非区域冗余。 如果 API 管理服务的 SKU 名称为“高级”,并且其区域数组中至少有两个条目,则 API 管理服务为区域冗余。 此策略可标识缺少承受区域中断所需的冗余的 API 管理服务。 Audit、Deny、Disabled 1.0.1-preview
应对 Azure API 管理中的 API 终结点进行身份验证 Azure API 管理中发布的 API 终结点应强制实施身份验证,以帮助最大程度地降低安全风险。 有时,身份验证机制的实现会不正确或缺失。 这会允许攻击者利用实现缺陷并访问数据。 请在此处详细了解用户身份验证中断的 OWASP API 威胁:https://learn.microsoft.com/azure/api-management/mitigate-owasp-api-threats#broken-user-authentication AuditIfNotExists、Disabled 1.0.1
应禁用未使用的 API 终结点并将其从 Azure API 管理服务中移除 作为安全最佳做法,30 天内未收到流量的 API 终结点被视为未使用,并应从 Azure API 管理服务中移除。 保留未使用的 API 终结点可能会给组织带来安全风险。 这些 API 可能本应从 Azure API 管理服务中弃用,但意外保持了活动状态。 此类 API 通常不会受到最新的安全保护。 AuditIfNotExists、Disabled 1.0.1
API 管理 API 应仅使用加密协议 为了确保传输中数据的安全性,API 应只能通过加密协议(如 HTTPS 或 WSS)使用。 避免使用不安全的协议,例如 HTTP 或 WS。 审核、已禁用、拒绝 2.0.2
API 管理对 API 后端的调用应进行身份验证 从 API 管理对后端的调用应使用某种形式的身份验证,无论是通过证书还是凭据。 不适用于 Service Fabric 后端。 审核、已禁用、拒绝 1.0.1
API 管理对 API 后端的调用不应绕过证书指纹或名称验证 要提升 API 安全性,API 管理应验证所有 API 调用的后端服务器证书。 启用 SSL 证书指纹和名称验证。 审核、已禁用、拒绝 1.0.2
不应启用 API 管理直接管理终结点 Azure API 管理中的直接管理 REST API 会绕过 Azure 资源管理器基于角色的访问控制、授权和限制机制,因此会增加服务的漏洞。 审核、已禁用、拒绝 1.0.2
API 管理最低 API 版本应设置为 2019-12-01 或更高版本 若要阻止服务机密与只读用户共享,应将最低 API 版本设置为 2019-12-01 或更高版本。 Audit、Deny、Disabled 1.0.1
API 管理机密命名值应存储在 Azure Key Vault 中 命名值是每个 API 管理服务中名称/值对的集合。 机密值可以存储为 API 管理中的加密文本(自定义机密),也可以通过引用 Azure 密钥保管库中的机密进行存储。 要提高 API 管理和机密的安全性,请从 Azure Key Vault 引用机密命名值。 Azure 密钥保管库支持精细的访问管理和机密轮换策略。 审核、已禁用、拒绝 1.0.2
API 管理服务应使用支持虚拟网络的 SKU 有了 API 管理支持的 SKU,将服务部署到虚拟网络中就可以解锁高级 API 管理网络和安全功能,从而更全面地控制网络安全配置。 有关详细信息,请访问:https://aka.ms/apimvnet Audit、Deny、Disabled 1.0.0
API 管理服务应使用虚拟网络 Azure 虚拟网络部署提供了增强的安全性和隔离,并允许你将 API 管理服务放置在不可经 Internet 路由的网络(你控制对其的访问权限)中。 然后,可以使用各种 VPN 技术将这些网络连接到本地网络,这样就能够访问网络中的和/或本地的后端服务。 可以将开发人员门户和 API 网关配置为可以从 Internet 访问或只能在虚拟网络内访问。 Audit、Deny、Disabled 1.0.2
API 管理应禁用对服务配置终结点的公用网络访问 要提高 API 管理服务的安全性,请限制与服务配置终结点的连接,例如直接访问管理 API、Git 配置管理终结点,或自承载网关配置终结点。 AuditIfNotExists、Disabled 1.0.1
API 管理应禁用用户名和密码身份验证 为了更好地保护开发人员门户,应禁用 API 管理中的用户名和密码身份验证。 通过 Azure AD 或 Azure AD B2C 标识提供者配置用户身份验证,并禁用默认用户名和密码身份验证。 Audit、Disabled 1.0.1
API 管理订阅的范围不应为所有 API API 管理订阅的范围应限定为产品或单个 API,而不是所有 API,后者可能会导致过多的数据泄露。 审核、已禁用、拒绝 1.1.0
Azure API 管理平台版本应为 stv2 Azure API 管理 stv1 计算平台版本将于 2024 年 8 月 31 日起停用,这些实例应迁移到 stv2 计算平台以获得持续支持。 有关详细信息,请访问 https://learn.microsoft.com/azure/api-management/breaking-changes/stv1-platform-retirement-august-2024 Audit、Deny、Disabled 1.0.0
配置 API 管理服务以禁用对 API 管理公共服务配置终结点的访问 要提高 API 管理服务的安全性,请限制与服务配置终结点的连接,例如直接访问管理 API、Git 配置管理终结点,或自承载网关配置终结点。 DeployIfNotExists、Disabled 1.1.0
按类别组启用 API 管理服务 (microsoft.apimanagement/service) 到事件中心的日志记录 应启用资源日志以跟踪在资源上发生的活动和事件,并让你了解发生的任何变化。 此策略使用类别组部署诊断设置,为 API 管理服务 (microsoft.apimanagement/service) 将日志路由到事件中心。 DeployIfNotExists、AuditIfNotExists、Disabled 1.1.0
按类别组启用 API 管理服务 (microsoft.apimanagement/service) 到 Log Analytics 的日志记录 应启用资源日志以跟踪在资源上发生的活动和事件,并让你了解发生的任何变化。 此策略使用类别组部署诊断设置,为 API 管理服务 (microsoft.apimanagement/service) 将日志路由到 Log Analytics 工作区。 DeployIfNotExists、AuditIfNotExists、Disabled 1.0.0
按类别组启用 API 管理服务 (microsoft.apimanagement/service) 到存储的日志记录 应启用资源日志以跟踪在资源上发生的活动和事件,并让你了解发生的任何变化。 此策略使用类别组部署诊断设置,为 API 管理服务 (microsoft.apimanagement/service) 将日志路由到存储账户。 DeployIfNotExists、AuditIfNotExists、Disabled 1.0.0
修改 API 管理以禁用用户名和密码身份验证 若要更好地保护开发人员门户的用户帐户及其凭据,请通过 Azure AD 或 Azure AD B2C 标识提供者配置用户身份验证,并禁用默认用户名和密码身份验证。 修改 1.1.0

后续步骤