代码之家  ›  专栏  ›  技术社区  ›  Haych

在没有凭据的情况下对Amazon3客户端进行身份验证

  •  0
  • Haych  · 技术社区  · 6 年前

    我正在尝试使用 AmazonS3 client . 我使用以下代码创建它:

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

    这使用了 .aws/credentials 要验证的文件。我的问题是,当我把它推到EC3环境(而不是本地环境)时,它会失败,因为环境没有这个 .aws/证书 由于安全原因,不允许添加凭据。

    我怎么能避开这个?

    2 回复  |  直到 6 年前
        1
  •  0
  •   Kumaresh Babu N S    6 年前

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

        2
  •  0
  •   David Webster    6 年前

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