首页 文章

IAM角色和EC2访问用户身份

提问于
浏览
-1

我正在查看使用ssh访问aws的视频 .

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

在启动ssh连接时,我只给出了EC2的公共IP和与该EC2实例相关的密钥对 .

那么我在哪里允许我的身份与aws共享?

当我在创建ec2实例时没有添加角色时,我必须明确地给出用于访问aws服务的密钥 .

那么IAM角色在飞行中做什么,它不会要求凭据?

2 回答

  • 1

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

  • 2

    首先,不要将PEM(密钥对)和IAM相互关联 . 两者都没有相互联系 .

    什么是IAM?通过AWS身份和访问管理(IAM),您可以安全地管理对AWS服务和资源的访问 .

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

    什么是EC2 Keypair(PEM)? Amazon EC2使用公钥加密来加密和解密登录信息 . 公钥加密使用公钥来加密一段数据,例如密码,然后收件人使用私钥来解密数据 . 公钥和私钥称为密钥对 .

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

    因此,您的密钥对和IAM不会在任何地方互连 . 更多细节

    AWS EC2 Keypair

    AWS IAM Docs

相关问题