2017-10-13 159 views
0

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

可以说我有一个EC2实例与连接IAM角色Role A其中posses一个政策AmazonS3ReadOnlyAccess,纠正我,如果我错了,但它意味着这种特定情况下仅允许执行S3只读操作

现在说我创建了一个UserProgrammatic accessAmazonS3FullAccess政策。

如果这个用户SSH进入EC2实例,他能写文件到s3吗?

我仍然无法尝试一下我自己,因为我没有一台Linux机器和仍然盘算如何连接到Ec2使用putty

+0

如果你想连接到EC2 linux机器http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html – sailesh

回答

2

可以说我有附带IAM角色的EC2实例角色A 拥有一个策略AmazonS3ReadOnlyAccess,纠正我,如果我错了,但 这意味着这个特定的实例只允许执行S3只读 操作。

现在说我创建了一个用户利用程序访问和 AmazonS3FullAccess政策。如果这个用户SSH进入EC2实例,可以 他写文件到s3吗?

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

此外,如果用户通过AWS CLI,REST API或SDK使用SSH到EC2实例并使用EC2用户的Programatic Access凭证(不必是EC2实例,它也可以是您的本地服务器),那么如果IAM用户具有S3写入策略,则CLI命令或API调用或使用SDK的代码能够将文件写入S3。因此,在总结

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

洞察。当您将一个IAM角色的EC2实例如何IAM角色与EC2

  • 内部工作,AWS定期用时间访问凭据到EC2实例更新EC2实例(这是一个良好的安全实践)。
  • 这些凭据可以通过EC2实例内部使用SDK的CLI,REST API和代码的元数据URL访问。

注意:使用角色时,由于它使用临时访问凭证,所以它非常安全,与IAM用户相比,程序化访问使用长期存取凭证。

+0

那么这意味着在这个用户通过AWS CLI访问'EC2'后'',尽管事实上这个用户在这个特定的EC2实例上,只有读取权限,AWS'将会更重视用户的策略。“ –

+0

当您说”此用户访问“意味着EC2或IAM用户中的OS用户?注意:只有OS用户SSH到EC2实例。当OS用户通过SSH连接到EC2实例时,如果有一个Role连接到EC2实例,则所有CLI命令都使用该角色访问S3等资源。所以对于这个操作,IAM用户不是必需的(只有IAM角色就足够了)。在最后查看答案摘要。 – Ashan

+0

我的方案是,我将首先使用OS用户SSH到EC2实例并为我创建的用户配置用户配置文件。 –