gpt4 book ai didi

amazon-web-services - 使用 IAM 角色从 EC2 使用 curl 从 S3 检索文件

转载 作者:行者123 更新时间:2023-12-03 22:27:43 26 4
gpt4 key购买 nike

我创建了一个 IAM 角色并将其分配给我的 EC2 实例。我创建了一个 IAM 角色策略并将其链接到我的 S3 存储桶。我现在可以使用 aws-cli 列出我的 S3 存储桶中的文件在我的 EC2 实例上。

[root@ec2.hostname.aws.com ~]# aws --region eu-west-1 s3 ls s3://s3-bucket-name
2017-05-02 02:37:39 137 index.html

现在,如果我尝试 curl该文件我收到拒绝访问错误:
[root@ec2.hostname.aws.com ~]# curl https://s3-eu-west-1.amazonaws.com/s3-bucket-name/index.html
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>782176F442A4995A</RequestId><HostId>qZWZTXZdlgtD4BiVYfp5+Mj/gU3UXRiYQmsSyaAhwED1JtzUWs9QKE99RmsQ6w0uDB

有什么办法可以做到 curl在不放宽 S3 存储桶权限的情况下请求工作?诸如身份验证, header 等之类的东西。

最佳答案

对 Amazon S3 的 GET 请求需要 授权字符串 使用 AWS Signature v4 .

见:GET Object

或者,您可以创建一个 Pre-Signed URL它具有额外的参数并授予对 Amazon S3 对象的限时访问权限。您可以使用几行代码生成预签名 URL,然后将其提供给用户(或在 HTML 页面中使用)以授予对存储在 Amazon S3 中的私有(private)对象的临时访问权限。

当然,从 Amazon S3 检索数据的最简单方法是使用 API 调用或 AWS Command-Line Interface (CLI) .

关于amazon-web-services - 使用 IAM 角色从 EC2 使用 curl 从 S3 检索文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43729615/

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