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



根据许多建议,我们不应该配置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

最新更新