根据许多建议,我们不应该配置IAM USER
,而应该使用IAM Role
,以避免有人在.aws
文件夹中获取用户机密。
假设我没有EC2 instances
。我还能通过AWS CLI
执行S3
操作吗?aws s3 ls
表示
MacBook Air:~user$aws s3 ls找不到凭据。您可以通过运行"aws-configure"来配置凭据。
您是正确的,当在Amazon EC2实例上运行应用程序或作为AWS Lambda函数运行应用程序时,应分配一个IAM角色,该角色将通过EC2元数据服务提供凭据。
如果您在EC2/Lambda上运行而不是,则通常做法是使用专门为您的应用程序创建的IAM用户凭据,并分配尽可能少的权限。
您应该永远不要将IAM用户凭据存储在应用程序中--有很多人不小心将此类文件保存到GitHub中,坏人会获取凭据并访问您的帐户。
您可以将凭据存储在配置文件中(例如通过aws configure
),并将该文件保存在代码库之外。但是,将凭据存储在文件中仍然存在相关风险。
一个更安全的选项是通过环境变量提供凭据,因为它们可以通过登录配置文件定义,并且永远不会包含在应用程序代码中。
我认为您不能在个人计算机上使用服务角色。
但是,您可以对AWS CLI使用多因素身份验证
您可以在任何机器上使用凭据,而不仅仅是EC2。
按照操作系统文档中描述的步骤进行操作。
http://docs.aws.amazon.com/cli/latest/userguide/installing.html