无需凭证即可认证AmazonS3客户端

时间:2019-01-16 10:24:53

标签: amazon-web-services amazon-s3

我正在尝试使用AmazonS3 client上传到S3存储桶。我使用以下代码创建它:

AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
   .withRegion(clientRegion)
   .withCredentials(new ProfileCredentialsProvider())
   .build();

这使用.aws/credentials文件进行身份验证。我的问题是,当我将其推送到EC3环境(不是本地)时,它失败了,因为该环境上没有此.aws/credentials文件,并且出于安全原因,我们也不允许添加凭据。

我该如何解决?

2 个答案:

答案 0 :(得分:0)

您应该使用AWS IAM角色来认证AWS服务。 AWS IAM角色应具有必要的AWS S3权限,并将角色附加到EC2实例。每当您发出S3请求时,它将通过IAM角色进行身份验证。顺便说一下,您在应用程序中不需要凭据文件。

答案 1 :(得分:0)

您需要创建一个EC2实例配置文件,然后只要您的实例配置文件角色具有这些权限,便能够访问您帐户中的任何资源。 Instance profile creation