保护数据 API 生成器解决方案

借助数据 API 生成器,可以通过 REST 和 GraphQL 终结点快速公开数据,从而更轻松地生成新式应用程序。 由于这些终结点可以提供对敏感数据的访问权限,因此实施可靠的安全措施来保护解决方案免受未经授权的访问和威胁至关重要。

本文提供了有关如何最好地保护数据 API 生成器解决方案的指导。

身份验证

  • 使用强身份验证提供程序:始终配置数据 API 生成器以使用安全身份验证提供程序,例如Microsoft Entra ID 或 Azure Static Web Apps 身份验证。 此配置可确保只有经过授权的用户才能访问 API。 有关详细信息,请参阅身份验证配置
  • 避免硬编码机密:切勿将身份验证机密或凭据直接存储在配置文件或源代码中。 使用安全方法,例如环境变量或 Azure Key Vault。 有关详细信息,请参阅 Azure 身份验证

授权

  • 实现基于角色的访问控制(RBAC):通过在配置中定义角色和权限来限制对实体和作的访问。 这会限制敏感数据和操作的暴露。 有关详细信息,请参阅 角色

  • 默认拒绝:默认情况下,实体没有配置任何权限,因此没有人可以访问它们。 显式定义每个角色的权限,以确保只有预期用户才有权访问。 有关详细信息,请参阅 授权

  • 对自定义角色使用 X-MS-API-ROLE 标头:要求客户端指定 X-MS-API-ROLE 标头以访问具有自定义角色的资源,确保请求在正确的安全上下文中进行评估。 有关详细信息,请参阅 自定义角色标头

运输安全

  • 对所有连接强制实施传输层安全性:确保客户端与数据 API 生成器之间交换的所有数据都使用传输层安全性进行加密。 传输层安全性(TLS)可保护传输中的数据免受拦截和篡改。 有关详细信息,请参阅TLS 强制实施

  • 禁用旧 TLS 版本:将服务器配置为禁用过时的 TLS 版本(例如 TLS 1.0 和 1.1),并依赖于作系统的默认 TLS 配置来支持最新的安全协议。 有关详细信息,请参阅 禁用旧版 TLS 版本。

配置安全性

  • 限制匿名访问:仅在必要时允许匿名访问实体。 否则,要求对所有终结点进行身份验证,以减少未经授权的数据泄露风险。 有关详细信息,请参阅 匿名系统角色

  • 将权限限制为所需的最低权限:仅向用户和角色授予执行其任务所需的权限。 除非必要,否则请避免使用通配符权限。 有关详细信息,请参阅 权限

监视和更新

  • 监视和审核访问:定期查看日志并监视对数据 API 生成器终结点的访问,检测可疑活动或未经授权的访问尝试。 有关详细信息,请参阅 使用 Application Insights 进行监控

  • 使依赖项保持最新:通过定期更新数据 API 生成器、其依赖项和基础平台,确保具有最新的安全修补程序和改进。 有关详细信息,请参阅 DAB 版本