【问题标题】:Limit usage of AWS unauth cognito user限制 AWS unauth cognito 用户的使用
【发布时间】:2019-12-11 19:58:03
【问题描述】:

我正在制作一个网络应用程序,用户可以在其中读取文本(他们必须输入)。 用户在使用服务前无需识别/登录。

感谢 AWS Polly(用户浏览器通过 javascript 调用 cognito unauth 角色)阅读文本。 我确实遵循了本教程: https://docs.amazonaws.cn/en_us/sdk-for-javascript/v2/developer-guide/getting-started-browser.html

不过,我想给用户一种配额。 我担心单个用户使用该服务的次数过多,因为我将不得不为许多 AWS Polly 请求付费。

我不知道如何为每个未授权用户创建配额...

有什么想法吗?

【问题讨论】:

    标签: amazon-web-services amazon-polly


    【解决方案1】:

    简而言之,这是不可能的。

    AWS Cognito 控制是否允许一组凭证进行特定的 API 调用。凭证可以有时间限制,API 调用可以受 IP 地址等限制,但不能按数量限制 API 调用。对于经过身份验证和未经身份验证的用户都是如此。

    您可以通过让用户通过 AWS API Gateway 调用 API 来解决此问题,这将触发您自己在 AWS Lambda 上的代码。然后 Lambda 函数验证是否允许该操作,然后代表客户端进行 API 调用。

    通过 API 网关还可以让您更好地控制用户操作(跟踪每个用户的使用情况、限制功能)。

    【讨论】:

    • 所以基本上,您是说如果我将这个 AWS 文档示例投入生产;我的“基于浏览器的 polly 网站”的任何恶意用户都可以多次使用该服务,而我必须为此付费?我的意思是,任何用户都可以创建一个每天执行 2 000 000 个请求的脚本,因此在没有任何 AWS 自动停止机制的情况下让我付出了很多代价?如果是这种情况,我很惊讶 AWS 没有在文档中发出任何潜在成本警告! docs.amazonaws.cn/en_us/sdk-for-javascript/v2/developer-guide/…
    • 嗯,您可以从 API 网关进行这种控制。但正是如此,任何用户都可以执行此类请求,而您将为此付费。我遇到了同样的问题,并创建了 CloudWatch 警报和基于规则的操作来防止此类攻击。
    • 非常感谢您提供可能的解决方案。您是否有关于第二个(防止此类攻击的基于规则的操作)的更多详细信息?我知道我可以在 CW 上创建警报,但是该警报如何防止这种攻击?
    猜你喜欢
    • 2021-08-18
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2016-01-16
    • 2018-10-01
    • 2020-03-24
    • 1970-01-01
    相关资源
    最近更新 更多