了解EC2上IAM角色的概念

时间:2017-10-13 01:39:37

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

我刚刚与EC2取得联系并遇到了IAM角色概念。这个问题是为了清楚我对限制级别的概念的怀疑。

假设我有一个EC2实例附加了IAM角色Role A,它拥有一个策略AmazonS3ReadOnlyAccess,如果我错了,请更正我,但这意味着此特定实例允许执行S3只读操作

现在说我使用UserProgrammatic access政策创建了AmazonS3FullAccess

如果此用户通过SSH连接到EC2实例,是否可以将文件写入s3

我仍然无法自己尝试,因为我没有Linux机器,仍然想知道如何使用Ec2连接到putty

1 个答案:

答案 0 :(得分:2)

  

假设我有一个附加了IAM角色角色A的EC2实例   拥有一个政策AmazonS3ReadOnlyAccess,如果我错了,请纠正我   这意味着此特定实例仅允许执行S3 Read   操作

  

现在说我创建了一个具有程序化访问权限的用户   AmazonS3FullAccess政策。如果这个用户SSH进入EC2实例,可以   他把文件写到s3?

IAM用户无法使用IAM用户凭据SSH到EC2实例。配置EC2实例后,您需要使用常规操作系统用户构造,以SSH连接到服务器(AWS创建的默认用户密钥)。

此外,如果用户通过AWS CLI,REST API或SDK使用SSH到EC2实例并使用EC2用户的Programatic Access凭据(不必是EC2实例,它也可以是您的 - 如果IAM用户具有S3写策略,则CLI命令或API调用或使用SDK的代码能够将文件写入S3。

所以在摘要中

  • 如果您正在运行EC2实例,请使用IAM角色,使用CLI命令,使用SDK代码或使用REST API调用来访问AWS资源。
  • 如果您在本地或在AWS之外使用服务器,请使用IAM用户的程序访问密钥来执行相同的操作。

了解IAM角色如何与EC2内部协同工作

  • 当您将IAM角色附加到EC2实例时,AWS会定期使用临时访问凭据将EC2实例更新到该EC2实例(这是一种很好的安全措施)。
  • 可以使用EC2实例中的SDK通过CLI,REST API和代码的元数据URL访问这些凭据。

注意:使用角色时,由于它使用临时访问凭证而非IAM用户Programatic Access使用长期访问凭证,因此非常安全。