如何将凭据传递给AWS STS GetSessionToken

时间:2016-05-29 21:28:46

标签: javascript php amazon-web-services amazon-s3 aws-sts

我写了一个javascript文件管理器来管理Amazon S3上的用户文件。它使用AWS Javascript API。使用硬编码的IAM用户凭证开发它,现在用于生产需要使用临时凭证。

我的计划是让我们的PHP服务器从IAM凭证生成临时凭证,通过AJAX回调从JS代码到PHP通过STS GetSessionToken。看起来很简单,但我似乎无法找到有关如何将URL中的IAM密钥/秘密传递给GetSessionToken的任何文档。 AWS文档中的示例都显示如下:

  

https://sts.amazonaws.com/?Version=2011-06-15&Action=GetSessionToken&DurationSeconds=3600&AUTHPARAMS

我在哪里猜测" AUTHPARAMS"是如此明显,我不需要任何进一步的解释。但遗憾的是,我确实需要进一步解释。从PHP方面我需要的只是一个小小的调用,所以我并不是真的想为此安装整个AWS PHP SDK。如果我可以找到如何为这一个调用构建URL,那么我可以通过CURL将其发送出去并进行全部设置。至少那是计划。

有没有办法直接通过REST api调用GetSessionToken,并将其传递给IAM密钥/秘密,还是真的比它更复杂?

1 个答案:

答案 0 :(得分:0)

您需要了解AWS API request signing。更具体的here。请注意,2014年1月30日之后开放的AWS区域需要v4签名,而早期区域接受v2或v4签名。

或者只是使用PHP SDK,这使得它变得更加简单。