繁体   English   中英

使用IAM Role从Java访问AWS S3

[英]access AWS S3 from java using IAM Role

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

据我用Google搜索,我找到了使用存储在Environment或.aws中的凭据作为配置文件进行访问的选项。 如果我们需要基于ROLE的身份验证,那么应该将应用程序部署在EC2中。 但我们在本地托管服务器。 如果您有任何建议,请提供。

我不确定我理解你想做什么,但为什么不为这个角色分配一个专门的用户呢?

您可能觉得有用的另一件事是使用临时凭证。 一般来说,亚马逊有两个服务--Cognito和STS(据我所知,Cognito在幕后使用STS)。 它们有不同的限制,但一般来说,它们允许您在有限的时间内收到凭据。 这样,您将获得访问ID,秘密(以及会话ID),但它们将是临时的。

我们在本地托管的应用程序不在EC2上。 是否可以使用IAM角色而不是来自java的配置文件或凭据来访问AWS S3?

服务角色绑定到AWS服务,因此 - 对于您需要使用AWS API密钥的内部部署服务器而言,这很长。

安全团队担心在本地存储凭据是因为它易受攻击。

不幸的是 - 最后你需要在某处存储凭证。 即使使用Cognito或STS等服务,您也需要在某处存储服务的凭据(实际上 - 无论您使用哪种云或服务,都可以用于任何外部或云服务)。

恕我直言,你可以做的最好的事情就是使用专用的AWS凭证(API密钥),只有真正需要的权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM