IAM角色和EC2访问用户身份

时间:2018-08-10 14:34:38

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

我正在查看有关使用ssh访问aws的视频。

他刚刚在创建EC2实例时添加了IAM角色。当我从cli切换到EC2实例时,我很容易就能运行“ aws s3 ls”。我的问题是它将如何知道我是否属于该IAM角色?

在开始ssh连接时,我仅提供了EC2的公共IP和与该EC2实例相关的密钥对。

  

那么我到底允许我的身份与aws共享吗?

当我在创建ec2实例时未添加角色时,必须显式提供用于访问aws服务的密钥。

  

那么,IAM角色在不要求提供凭据的情况下即时运行吗?

2 个答案:

答案 0 :(得分:2)

首先不要将PEM(密钥对)和IAM相互关联。两者没有相互连接。

  

什么是IAM?

     

AWS身份和访问管理(IAM)使您可以管理访问   安全地访问AWS服务和资源。

从说明本身来看,很明显,它可以访问AWS资源。因此,举一个简单的例子,您想从创建的AWS EC2实例访问S3存储桶。为此,您需要提供AccesskeySecretkey,从中将获得访问密钥和秘密密钥,可以通过使用IAM创建用户/角色来生成访问密钥和秘密密钥。两者都生成了Creds。现在,让我们看看机器人角色。角色可以由USER / Resource(EC2)承担,现在,如果您将角色分配给EC2,则实例默认情况下将获得与该角色关联的所有权限,这意味着该实例将获得Accesskey和SeceretKey。现在,如果您运行了一些aws s3 ls命令,它将从默认路径检索密钥并访问AWS资源(此处为S3)。

  

什么是EC2密钥对(PEM)?

     
    

Amazon EC2使用公钥密码术来加密和解密登录     信息。公钥加密使用公钥来加密     数据(例如密码),然后收件人使用私有数据     解密数据的密钥。公钥和私钥被称为     密钥对。

  

密钥对仅与您的EC2实例相关联,不能用于访问任何其他AWS资源。它与IAM无关。您没有与AWS共享任何身份。私钥归您所有(PEM文件),而公钥保留在此文件~/.ssh/authorized_keys的EC2实例内部。如果要更改密钥并删除Amazon提供的密钥对,只需删除默认密钥对并将新的公共密钥放在上述文件中即可。现在,您可以使用新的密钥对登录到您的实例。

因此,密钥对和IAM在任何地方都没有互连。有关更多详细信息

AWS EC2 Keypair

AWS IAM Docs

答案 1 :(得分:1)

IAM角色已分配给整个EC2实例。在该EC2实例上运行的任何代码都将获得IAM角色。 IAM角色与您用于登录EC2实例的SSH帐户完全无关。