有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

amazon web服务使用IAM角色从java访问AWS S3

我们将应用程序托管在本地而不是EC2上。是否可以使用IAM角色而不是从java访问配置文件或凭据来访问AWS S3? 安全团队提出了将凭据存储在本地的问题,因为它很容易受到攻击

就我在谷歌搜索到的情况而言,我已经找到了使用存储在环境中或中的凭据进行访问的选项。aws作为一个概要文件。如果我们需要基于角色的身份验证,那么应用程序应该部署在EC2中。但是我们在本地托管了服务器。 如果您有任何建议,请提供


共 (2) 个答案

  1. # 1 楼答案

    我不确定我是否理解您想要做什么,但为什么不为该角色分配一个专用用户呢

    您可能会发现另一件有用的事情是使用临时凭证。总的来说,Amazon有两种服务用于此目的——Cognoto和STS(据我所知,Cognoto在幕后使用STS)。它们有不同的限制,但一般来说,它们允许您在有限的时间内接收凭据。这样,您将获得一个访问id、一个秘密(以及一个会话id),但它们是临时的

  2. # 2 楼答案

    We have the application hosted locally not on EC2. Is it possible to access the AWS S3 using the IAM Role instead of profile or credentials from java?

    服务角色绑定到AWS服务,所以长话短说,对于您的本地服务器,您需要使用AWS API密钥

    The security team has raised concern about storing the credentials locally as it is vulnerable.

    不幸的是,最后你需要将凭证存储在某个地方。即使使用Cognito或STS等服务,您也需要将服务的凭据存储在某个位置(有效地——对于任何外部或云服务,无论您可能使用什么云或服务)

    IMHO您所能做的最好的事情就是使用专用的AWS凭证(API密钥),并且只有真正需要的权限