AWS安全组和IAM角色

时间:2017-02-03 21:39:59

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

要将我的ec2-instance连接到S3或RDS,我通常需要给ec2实例一个具有适当权限的角色,对吗?

如果我在一个SecurityGroup中安装了ec2-instance,在另一个安全组中安装了s3 / RD3,那么不仅仅给出了S3 / RDS角色和ec2的权限了吗?

尝试了解何时应使用角色与安全组,以允许各种AWS资源相互通信。

2 个答案:

答案 0 :(得分:3)

  • IAM角色用于限制AWS用户/帐户/角色对AWS API的访问。
  • 安全组用于限制对VPC内部资源的网络访问。

请注意EC2和RDS(以及Redshift和Elasticache ...)是VPC中存在的服务器,并通过与这些服务器建立直接网络连接来与这些资源进行交互。因此,您可以使用安全组保护对这些网络的访问。

请注意,您无法了解S3(或DynamoDB或SQS或SNS ...)资源所在的服务器,这些资源未在您的VPC中运行,以及您是否仅通过AWS API与这些资源进行交互。因此,您可以通过AWS身份和访问管理(IAM)保护对这些访问的AWS API。

答案 1 :(得分:3)

角色和安全组有两个不同的用途。

<强>角色

角色用于为EC2实例授予执行某些AWS API调用的权限。

它不参与网络安全。

安全组

安全组在网络安全方面发挥作用,他们不参与EC2访问API的权限。

<强> Conslusion

当您需要赋予实例权限以执行API函数(例如访问S3或控制RDS实例(不查询数据))时,请使用EC2角色。

当您需要授予实例访问网络资源的权限时,例如在查询RDS实例中的数据时,请使用安全组。