当前位置: 首页 > 知识库问答 >
问题:

s3浏览器上载,规范还是策略存储桶?

能旭
2023-03-14

最新sigv4 s3浏览器上传帖子的文档-http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-post-example.html -显示我需要使用x-amz-signaturex-amz-credential策略

如果我尝试这样做,我会得到一个错误,说我错过了AWSAccessKeyId,这在文档中没有提到,并且x-amz-签名需要是签名

我应该做上面的bas64桶策略文档,还是应该做规范的方法,比如python发布到DynamoDB-http://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html#sig-v4-examples-post.

规范使用hmac hexdigesthmac.new(signing_key,(string_to_sign).encode('utf-8')、hashlib.sha256).hexdigest()

上面的上载文档使用hmac和bas64:Base64.encode64(OpenSSL::HMA. digest('sha256', Signaturekey,@策略))

在ruby sdk的引擎盖下,看起来他们正在使用非hmac hexdigest:OpenSSL::HMA. hexdigest(OpenSSL::Digest.new('sha256'),键,值)

需要哪种方法上传到s3?

FWIW,我使用一个SPA与Rails作为一个API,所以不幸的是,我不能访问任何rails视图帮助。

昨天我发布了一个关于我的代码的问题,不幸的是,我看到了一个使用rails视图助手的链接

策略发送的内容:

{"expiration":"2017-03-06T20:13:51Z",
 "conditions":[
     {"bucket":"example-development"},
     {"x-amz-credential":"AKIAIVVIZJHOBCBAB5CA/20170305/us-west-2/s3/aws4_request"},
     {"x-amz-algorithm":"AWS4-HMAC-SHA256"},
     {"x-amz-date":"20170305T000000Z"}
    ]
 }

表单发送的内容:

Policy:"eyJleHBpcmF0aW9uIjoiMjAxNy0wMy0wNlQyMDoxOTowN1oiLCJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJ3YXlkb3BlLWRldmVsb3BtZW50In0seyJ4LWFtei1jcmVkZW50aWFsIjoiQUtJQUlWVklaSkhPQkNCQUI1Q0EvMjAxNzAzMDUvdXMtd2VzdC0yL3MzL2F3czRfcmVxdWVzdCJ9LHsieC1hbXotYWxnb3JpdGhtIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsieC1hbXotZGF0ZSI6IjIwMTcwMzA1VDAwMDAwMFoifV19"
X-Amz-Signature:"Cqjvo9aYCrb8PYHD+mUDjlOwKUzTpsI4d5/oycFAUBA="
key:"uploads/photo/photo/126/photo.jpg"
x-amz-algorithm:"AWS4-HMAC-SHA256"
x-amz-credential:"AKIAIVVIZJHOBCBAB5CA/20170305/us-west-2/s3/aws4_request"
x-amz-date:"20170305T000000Z"

桶策略和CORS包含零条件。

共有1个答案

徐智渊
2023-03-14

对于s3浏览器上载,要签名的字符串应为bucket config:http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-UsingHTTPPOST.html

按照页面底部的链接进行操作。

 类似资料:
  • 所以我就做了如下的桶策略: {“版本”:“2012-10-17”,“ID”:“HTTP引用策略示例”,“语句”:[{“SID”:“允许从www.example.com和example.com发起的get请求”,“Effect”:“Allow”,“Principal”:“”Action“:”S3:“,”Resource“:”arn:aws:s3:::exampleBucket/“,”Conditio

  • 我搞不清这里出了什么问题。如有任何帮助,我们将不胜感激。

  • 我可以成功地上传到Azure Blob存储,但我在下载文件(csv和pdf文件)时遇到了问题。 我的目标是将文件下载到浏览器(因为这将是一个web应用程序,我不知道下载文件的本地路径)。

  • 我发现,当我在IAM策略中使用NotResource作为掩码并将其附加到bucket时,受策略影响的资源是那个bucket中没有在NotResource子句中指定的所有资源。我需要指出一个文档,它清楚地表明情况是这样的。我一直在查看内联策略的文档,以及s3访问管理和策略的文档,但我很难找到这些特定的信息。文档中是否说明了在内联策略中指定资源的限制?

  • 此文档似乎有问题:http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-authentication-HTTPPOST.html 我一丝不苟地遵循它,它似乎确实奏效了。我总是收到签名不匹配错误。v2授权仍然有效。让我想知道这是否是某种阿尔法阶段质量的产品。 下面是我的php代码。我试图模仿本页中的示例:http://docs.aws.amazon

  • 情景: 浏览器(用户)向服务提供商(SP)请求资源 SP(使用SAML请求)重定向到身份提供程序(IdP) 由于是第一次登录,用户将向(IdP)提供其有效凭据 然后,IdP将浏览器(带有包含SAML令牌的SAML响应)重定向到SP页面 我有两个问题: A、 在步骤4中,浏览器是否存储或缓存SAML响应和/或SAML令牌? B.如果是,什么样的事情(属性?超时?协议?)阻止我获取存储的SAML令牌。