玩!和AWS - 提供商链未得到尊重

时间:2018-03-06 22:37:05

标签: amazon-web-services playframework

这可能会非常简单。我玩了!需要与AWS交谈的应用程序,即使在开发模式下,我也试图从代码中获取任何机密。

我在函数中有以下代码(减去案例类):

case class AwsCredentials(token: String, accessId: String, secretKey: String)
val client = AWSSecurityTokenServiceClientBuilder.defaultClient()
val token = client.getSessionToken
client.shutdown()
val cred = AmazonS3ClientBuilder.standard()
   .withRegion(Regions.US_EAST_1).getCredentials.getCredentials
AwsCredentials(token.getCredentials.getSessionToken, 
               cred.getAWSAccessKeyId, 
               cred.getAWSSecretKey)

cred.getAwsAccessKeyIdcred.getAWSSecretKey总是落到魔术键上,而不是来自可以设置的环境变量或者来自user.dir/.aws/credentials或来自/home/play/.aws/的魔术键。因为服务确实以游戏方式运行。

本地游玩!通过sbt运行,这很好用并使用我的本地密钥,但是一旦我部署它并从init.d脚本开始它就不再这样做了。我已经在环境变量中确认了它,并且我们使用其他环境变量,它们工作正常。

最终这是一个AWS问题,但由于我可以在播放用户的同时使用hexite在本地工作,因此Play中必定存在一些不妥之处。

谢谢!

1 个答案:

答案 0 :(得分:0)

很抱歉浪费任何时间选择阅读和思考这个问题,作为根本问题,我几乎肯定是,我需要提供accessKey fineuploader,所以这是页面和角色模式我需要一个令牌,一旦我这样做就需要作为标题传递,我没有使用匹配privateKey的{​​{1}}签署请求

如果我弄清楚,或者想花时间修改JS代码,我会回复。