安全性
使用多层次防御方法保护您的数据和基础设施
安全支柱专注于保护您的联邦GraphQL API免受恶意行为者和意外更改的影响。它还概述了新的 GraphQL 概念如何与您的Organisation 的现有标准协同工作。
基于传统 HTTP 的工具通常缺乏GraphQL支持,这使得使用企业级 GraphQL 平台,如Apollo GraphOS,运行您的supergraph更是至关重要。
原则
应用多层次防御方法
为了有效保护 GraphQL API,结合各种方法是至关重要的。您可以从使用现有的安全措施开始。这包括在图和上游系统中执行身份验证和授权。
使用像GraphOS Router这样的工具防止“门前的”数据泄露也很重要。结合这些方法可创建多层次防御策略,最大化安全性并保护您的数据。
保护 supergraph 基础设施
开放 子图和不加限制的权限可能导致意外变更。通过遵循最佳实践,如:
- 在您的 图平台中分配和审查角色和权限
- 锁定生产 版本
- 只允许 图路由器访问 子图
防止数据泄露
supergraph 是您组织的中枢数据通道。限制暴露可以防止潜在的攻击者获取敏感信息。这包括使用标准 API 最佳实践来防止注入攻击和其他安全漏洞。
GraphQL 本身可以向攻击者揭示您的 API 表面区域。这就是为什么在生产环境中关闭introspection并遵循其他 GraphQL 特定的最佳实践很重要。
保护 supergraph 中的上游资源
企业级supergraphs连接客户端到许多不同的 API。在这些连接中,意外服务降级的风险增加。
某些API团队可能从未考虑过在组织外部公开数据。因此,它们可能没有考虑到他们可能需要处理的大量流量。这个原则的最佳实践方法是建立对这些主题的认识。
确保事件不会影响连接到supergraph的其他服务也是至关重要的。操作列出、断路和速率限制是确保资源能够应对预期API使用的有效技术。
通过SAF评估了解更多