根据许多建议,我们不应该配置IAM USER
,而是使用IAM Role
来避免有人设法在.aws
文件夹中抓取用户机密信息。
假设我没有EC2 instances
。我还能通过S3
执行AWS CLI
操作吗?说aws s3 ls
MacBook-Air:〜用户$ aws s3 ls 无法找到凭据。您可以通过运行“aws configure”来配置凭据。
答案 0 :(得分:2)
您是正确的,在Amazon EC2实例上运行应用程序或作为AWS Lambda函数时,应分配 IAM角色,以通过EC2元数据服务提供凭据。
如果您不在EC2 / Lambda上运行,那么通常的做法是使用专门为您的应用程序创建的 IAM用户凭据,并尽可能减少权限分配
您应该永远不会将IAM用户凭据存储在应用程序中 - 有很多人不小心将这些文件保存到GitHub中,并且不良演员抓取凭据并有权访问您的帐户。
您可以将凭据存储在配置文件中(例如,通过aws configure
)并将该文件保留在代码库之外。但是,将凭据存储在文件中仍然存在风险。
更安全的选择是通过环境变量提供凭据,因为它们可以通过登录配置文件定义,并且永远不会包含在应用程序代码中。
答案 1 :(得分:1)
我认为您不能在个人计算机上使用service roles。
答案 2 :(得分:0)
您可以在任何机器上使用凭证而不仅仅是EC2。
按照操作系统文档中描述的步骤进行操作。
http://docs.aws.amazon.com/cli/latest/userguide/installing.html