如何避免使用用户配置文件在没有EC2实例的情况下执行s3操作

时间:2017-10-22 07:52:04

标签: amazon-web-services amazon-s3 amazon-iam

根据许多建议,我们不应该配置IAM USER,而是使用IAM Role来避免有人设法在.aws文件夹中抓取用户机密信息。

假设我没有EC2 instances。我还能通过S3执行AWS CLI操作吗?说aws s3 ls

  

MacBook-Air:〜用户$ aws s3 ls   无法找到凭据。您可以通过运行“aws configure”来配置凭据。

3 个答案:

答案 0 :(得分:2)

您是正确的,在Amazon EC2实例上运行应用程序或作为AWS Lambda函数时,应分配 IAM角色,以通过EC2元数据服务提供凭据。

如果您在EC2 / Lambda上运行,那么通常的做法是使用专门为您的应用程序创建的 IAM用户凭据,并尽可能减少权限分配

您应该永远不会将IAM用户凭据存储在应用程序中 - 有很多人不小心将这些文件保存到GitHub中,并且不良演员抓取凭据并有权访问您的帐户。

您可以将凭据存储在配置文件中(例如,通过aws configure)并将该文件保留在代码库之外。但是,将凭据存储在文件中仍然存在风险。

更安全的选择是通过环境变量提供凭据,因为它们可以通过登录配置文件定义,并且永远不会包含在应用程序代码中。

答案 1 :(得分:1)

我认为您不能在个人计算机上使用service roles

但您可以使用multi-factor authentication for AWS CLI

答案 2 :(得分:0)

您可以在任何机器上使用凭证而不仅仅是EC2。

按照操作系统文档中描述的步骤进行操作。

http://docs.aws.amazon.com/cli/latest/userguide/installing.html