理解IAM在EC2中的角色概念



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

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

现在说我用Programmatic accessAmazonS3FullAccess策略创建了一个User

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

我仍然无法自己尝试,因为我没有linux机器,并且仍在考虑如何使用putty连接到Ec2

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

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

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

此外,如果用户SSH到EC2实例并通过AWS CLI、REST API或SDK使用EC2用户的程序访问凭据(不必是EC2实例,也可以是您的内部部署服务器),则如果IAM用户具有S3写入策略,则CLI命令或API调用或使用SDK的代码能够将文件写入S3。

所以总结一下

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

IAM角色如何与EC2 内部合作的见解

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

注意:使用角色时,它非常安全,因为它使用临时访问凭据,而IAM用户程序访问使用长期访问凭据。

相关内容

  • 没有找到相关文章