sta*_*aka 6 amazon-s3 amazon-web-services aws-api-gateway
我有一个充当静态网站的S3存储桶,并且正在使用API网关向其分配流量。我了解CloudFront在这里是更好的选择,但请不要提出建议。由于我不愿讨论的原因,这不是一个选择。
我通过配置{proxy +}资源来完成我的解决方案。下图:
我只允许从API网关代理资源访问S3网站。 有没有一种方法可以为代理资源提供执行角色,就像您可以为资源提供执行角色以运行lambda函数一样?Lambda执行角色示例如下:
代理资源的集成请求部分似乎没有执行角色:
还是有一种方法可以为整个API网关分配角色,以为其提供访问S3存储桶的权限?
我尝试过的其他方法:
编辑存储桶策略以仅允许来自API网关服务的流量:
{“版本”:“ 2012-10-17”,“ Id”:“ apiGatewayOnly”,“声明”:[{“ Sid”:“ apiGW”,“ Effect”:“允许”,“ Principal”:{“服务“:[[api-gateway-amazonaws.com”]},“ Action”:“ s3:GetObject”,“ Resource”:“ http://test-proxy-bucket-01.s3-website.us-east- 2.amazonaws.com/ *“}]}
编辑存储桶策略以仅允许来自API网关URL的流量:
{“版本”:“ 2012-10-17”,“ Id”:“ http引用策略示例”,“声明”:[{“ Sid”:“允许获取源自www.example.com和example.com的请求。 “,”效果“:”允许“,”主体“:” “,”动作“:” s3:GetObject“,”资源“:” http://test-proxy-bucket-01.s3-website.us- east-2.amazonaws.com/ “,”条件“:{” StringLike“:{” aws:Referer“:[” https://xxxxxxx.execute-api.us-east-2.amazonaws.com/prod/ ”,“ http://xxxxxxxx.execute-api.us-east-2.amazonaws.com/prod “]}}}]}
归档时间: |
|
查看次数: |
720 次 |
最近记录: |