gpt4 book ai didi

amazon-web-services - 保护 Amazon Gateway API 仅可从 S3 存储桶中的内容访问

转载 作者:行者123 更新时间:2023-12-04 22:10:37 24 4
gpt4 key购买 nike

我有一个通过亚马逊网关 API 服务创建的公开互联网的 API。 API 调用触发查询后端数据库的 Lambda 函数。 S3 静态网页使用我创建的 API 来获取数据。

我想保护我的 API,以便只有我的 S3 存储桶 (index.html) 的内容有权访问我的 API。我想阻止人们直接查询我的 API 并使用 curl 请求等来抓取数据。我已经阅读了一些关于 IAM 角色、Cognito 和 Lambda 权限模型的信息,但我不确定如何使用所有这些不同的工具来保护我的 API。

保护我的 API 以便只有我的 S3 存储桶中的内容有权访问我的 API 的最佳方法是什么?

最佳答案

根据您的设置,您可以尝试使用 AWS 的一个或多个 condition keys在您的 API 网关的 Resource Policy .例如,您只能允许引用者是您的 S3 静态网站的请求:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": [
"execute-api:/{{stageNameOrWildcard*}}/{{httpVerbOrWildcard*}}/{{resourcePathOrWildcard*}}"
],
"Condition": {
"StringLike": {
"aws:Referer": [
"<bucket-name>.s3-website-<AWS-region>.amazonaws.com/*"
]
}
}
}
]
}

关于amazon-web-services - 保护 Amazon Gateway API 仅可从 S3 存储桶中的内容访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37544172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com