EC2安全组与IAM组有什么区别?

26

IAM组和EC2机器的安全组之间有什么关系?

例如,以下EC2机器具有安全组zfei_profile,但IAM组中没有这样的内容。访问此机器应使用哪个“访问密钥ID”(及其相应的秘密访问密钥)? enter image description here

2个回答

54

安全组和 IAM 组之间没有任何联系,它们彼此之间没有关系。

安全组(Security Groups)

安全组类似于 EC2 实例的防火墙。它们决定:

(a) 哪些计算机可以连接到您的 EC2 实例,以及 (b) 其他计算机可以连接哪些端口

例如,它们说世界可以连接到您的 http 端口,或者只有您本地计算机可以 SSH 进入 EC2 实例。

安全组对于哪些人员可以连接到您的 EC2 实例没有任何影响。

IAM 组(IAM Groups)

IAM 组是将 IAM 用户和 IAM 角色分组的一种方式。授予 IAM 组的权限将传递给它们的组成员(用户和角色)。

授予 IAM 组(或 IAM 用户或 IAM 角色)的 IAM 权限决定了可以使用 AWS CLI 或任何许多 AWS SDK 执行哪些 AWS API 命令。

在您的屏幕截图中,您的 EC2 实例没有分配 IAM 角色(由"IAM Role"旁边的 "-"表示),因此没有应用任何权限使您的 EC2 实例能够执行任何 AWS 命令。如果您想在 EC2 实例上执行 AWS 命令,则必须使用 AWS 访问密钥 ID 和 AWS 秘密密钥发出这些命令(见下文)。

IAM 组、用户和角色与访问 EC2 实例没有任何关系。

访问密钥 ID 和秘密访问密钥

这些用于 AWS CLI 和 AWS SDK 向 AWS APIs 发出命令。每个访问密钥 ID 属于特定的 IAM 用户。

这些与访问您的 EC2 实例没有任何关系。

密钥对名称(Key Pair Name)

现在我们要说的是实际与访问您的 EC2 实例有关系的内容。

每个 EC2 实例都分配了一个密钥对名称(Key Pair Name)。此密钥对名称决定了您需要使用哪个私钥来访问您的 EC2 实例。

创建密钥对名称时,您会下载一个非常重要的.pem文件。该.pem文件必须用于访问您的EC2实例。当您SSH访问EC2实例时,可以使用该.pem文件作为授权。

如果您没有此文件,则无法访问EC2实例。

如果.pem文件丢失,则无法获得新的.pem文件副本。

有关密钥对名称的更多信息,请访问以下链接:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html

该文档还描述了一种在丢失.pem文件时访问EC2实例的方法。


6

以简单的话解释了AWS IAM组和AWS安全组:

安全组:充当虚拟防火墙,控制对您的EC2实例的流量 - 即确定哪些IP地址在特定协议/端口上可以访问AWS实例。

IAM组:授权访问Amazon资源 - 即确定哪些资源可以被您AWS帐户中的用户访问。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接