amazon-web-services - AWS AppSync DDoS 保护。有哪些选择?

标签 amazon-web-services amazon-cognito aws-appsync

关于 AppSync 如何抵御 DDoS 攻击,我在互联网上还没有看到明确的答案。我是新手,请耐心等待

我们的背景:我们将使用 AppSync 和 AWS Cognito 进行身份验证,它只会由我们和特定的一组客户端使用(因此没有公共(public)访问权限)。我们可能不需要自定义域,因此不需要使用 CloudFront 进行分发,但如果从保护的角度来看这对我们更好,我们也可以这样做。另一方面,我知道 AppSync 的端点地址是自动生成的,可能很难被外部人员猜测,但我仍然担心它会被公众访问,尤其是在某些时候我们可能希望成为直接从我们的站点而不是从后端使用 AppSync 端点。

我看到有两件事被提到:

  1. 没有像 API 网关那样的节流(我不太清楚节流是如何工作的以及它如何保护你,我假设对过度请求你的端点的某些 IP 施加了硬上限? )

  2. 由于 AppSync 按请求付费,我看到如果 API 网关受 AWS Cognito 保护且请求未通过身份验证 (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-pricing.html),则它不收费。我想知道同样的情况是否适用于 AppSync,因为我们也将使用 AWS Cognito。

  3. 由于我们讨论的是 AWS Cognito,我们希望将对端点的访问限制为仅少数选定的 IP 地址。我读过 AWS Cognito 可以将 IP 范围列入白名单,但它也可以将特定 IP 地址列入白名单吗? (我想将/32 放在 IP 范围的末尾?)

  4. AppSync 与 AWS Shield 和 AWS WAF 的交互是什么?

谢谢,对于任何看似愚蠢的问题,我们深表歉意。

最佳答案

我刚刚在论坛上回答了你的问题:https://forums.aws.amazon.com/thread.jspa?messageID=907577&#907577

我会复制/粘贴到这里,但是您可能有的任何后续行动对那里的团队来说是最明显的。

在我回答您的问题之前的一个简短说明 - CloudFront 目前是 AppSync 的一个强制性部分。它适合每个人。它确实为您提供了一些缓存和 DDOS 保护,因此正如您所猜测的,它确实对所有人都有一定的安全值(value)。

  1. AppSync 不会暴露自定义的、客户控制的节流机制,但它确实有多层内部节流来保护它免受多种形式的滥用流量。也就是说,为客户提供节流限制是一个很受欢迎的客户要求。您能否帮助我们了解您计划通过节流解决的业务需求?

  2. AppSync 对 AppSync 成功处理的请求收费。身份验证/授权错误不被视为 AppSync 无法处理请求的情况。

  3. 我相信这应该是可能的。 使用 Cognito 联合身份(通过 IAM):https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_aws_deny-ip.html 使用 Cognito 用户池:https://aws.amazon.com/blogs/security/how-to-use-new-advanced-security-features-for-amazon-cognito-user-pools/

  4. 我们无法评论 AppSync 与其他 AWS 服务的集成。您能否通过这个问题帮助我们了解您计划解决的业务需求?

关于amazon-web-services - AWS AppSync DDoS 保护。有哪些选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56888580/

相关文章:

amazon-web-services - AWS Appsync 订阅未更新我的组件

graphql - 设置 AWSAppSyncClient、Apollo 和 React 的正确方法

node.js - 环回+弹性beanstalk部署错误

java - 如何将图像流式传输到 Amazon S3

javascript - 如何验证 getOpenIdTokenForDeveloperIdentity 认知 token

iOS - AWS Cognito - "NotAuthorizedException"- 登录名不匹配

amazon-web-services - 如何在使用 Amazon Cognito 进行身份验证时公开访问 AWS AppSync GraphQL API?

amazon-web-services - AWS BeanstalkL 错误 : InvalidParameterValueError - No Application Version named?

javascript - 实体已经存在 : Role with name chatbot-andrea-executor already exists

java - 如何测试内部调用 AWS 服务的代码