与 AWS Organizations 共享安全组 - Amazon Virtual Private Cloud

与 AWS Organizations 共享安全组

共享安全组功能使您能够与其他 AWS Organizations 账户共享安全组,并使安全组可供这些账户使用。

下图演示如何使用共享安全组功能来简化 AWS Organizations 中的跨账户安全组管理:

与共享 VPC 子网中的其他账户共享安全组的示意图。

此示意图显示属于同一组织的三个账户。账户 A 与账户 B 和账户 C 共享一个 VPC 子网。账户 A 使用共享安全组功能与账户 B 和账户 C 共享该安全组。然后,账户 B 和账户 C 在共享子网中启动实例时使用该安全组。这使账户 A 也能够管理该安全组;对安全组进行的任何更新都会应用于账户 B 和账户 C 在共享 VPC 子网中运行的资源。

共享安全组功能的要求
  • 此功能仅适用于 AWS Organizations 中同一组织的账户。必须在 AWS Organizations 中启用资源共享

  • 共享安全组的账户必须同时拥有 VPC 和安全组。

  • 您不能共享默认安全组。

  • 您无法共享位于默认 VPC 中的安全组。

  • 参与者账户可以在共享 VPC 中创建安全组,但无法共享这些安全组。

  • IAM 主体需要一组最低权限才能与 AWS RAM 共享一个安全组。使用 AmazonEC2FullAccessAWSResourceAccessManagerFullAccess 托管 IAM 策略,确保 IAM 主体拥有共享和使用所共享安全组所需的权限。如果使用自定义 IAM 策略,则需要进行 c2:PutResourcePolicyec2:DeleteResourcePolicy 操作。这些是仅限权限的 IAM 操作。如果 IAM 主体未获得这些权限,则在尝试使用 AWS RAM 共享安全组时将出错。

支持此功能的服务

  • Amazon API Gateway

  • Amazon EC2

  • Amazon ECS

  • Amazon EFS

  • Amazon EKS

  • Amazon EMR

  • Amazon FSx

  • Amazon ElastiCache

  • AWS Elastic Beanstalk

  • AWS Glue

  • Amazon MQ

  • Amazon SageMaker

  • Elastic Load Balancing

    • 应用程序负载均衡器

    • 网络负载均衡器

此功能如何影响现有的配额

安全组配额适用。但是,对于“每个网络接口的安全组数”配额,如果参与者在弹性网络接口(ENI)上同时使用自有和共享的组,则所有者和参与者的最低配额适用。

演示此功能如何影响配额的示例:

  • 所有者账户配额:每个接口 4 个安全组

  • 参与者账户配额:每个接口 5 个安全组。

  • 所有者与参与者共享的组 SG-O1、SG-O2、SG-O3、SG-O4、SG-O5。参与者在 VPC 中已经有自己的组:SG-P1、SG-P2、SG-P3、SG-P4、SG-P5。

  • 如果参与者创建 ENI 并且仅使用自己的组,则他们可以关联所有 5 个安全组(SG-P1、SG-P2、SG-P3、SG-P4、SG-P5),因为这是他们的配额。

  • 如果参与者创建 ENI 并在其上使用任何共享的组,则他们最多只能关联 4 个组。在这种情况下,此类 ENI 的配额是所有者和参与者的最低配额。可能的有效配置将如下所示:

    • SG-O1、SG-P1、SG-P2、SG-P3

    • SG-O1、SG-O2、SG-O3、SG-O4

共享安全组

本节介绍如何使用 AWS Management Console和 AWS CLI 与组织中的其他账户共享安全组。

AWS Management Console
要共享安全组
  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在左侧导航窗格中,选择安全组

  3. 选择安全组以查看详细信息。

  4. 选择 Sharing (共享) 选项卡。

  5. 选择共享安全组

  6. 选择创建资源共享。这样,AWS RAM 控制台就会打开,您将在其中为安全组创建资源共享。

  7. 输入资源共享的名称

  8. 资源 – 可选下,选择安全组

  9. 选择安全组。该安全组不能是默认安全组,也不能与默认 VPC 关联。

  10. 选择下一步

  11. 查看允许主体执行的操作,然后选择下一步

  12. 主体 – 可选下,选择仅允许在企业内共享

  13. 主体下,选择以下主体类型之一,然后输入相应的数字:

    • AWS 账户:您的组织中账户的账号。

    • 组织:AWS Organizations ID。

    • 组织单位(OU):组织中 OU 的 ID。

    • IAM 角色:IAM 角色的 ARN。创建该角色的账户必须与创建此资源共享的账户属于同一组织。

    • IAM 用户:IAM 用户的 ARN。创建该用户的账户必须与创建此资源共享的账户属于同一组织。

    • 服务主体:您不能与服务主体共享安全组。

  14. 选择 添加

  15. 选择下一步

  16. 选择创建资源共享

  17. 共享资源下,等待看到状态Associated。如果安全组关联失败,则可能是由于上面列出的限制之一所致。查看安全组的详细信息以及详细信息页面上的共享选项卡,以查看与安全组不可共享的原因相关的所有消息。

  18. 返回 VPC 控制台安全组列表。

  19. 选择您共享的安全组。

  20. 选择 Sharing (共享) 选项卡。您的 AWS RAM 资源应该在其中显示。如果未显示,则资源共享创建可能失败,您可能需要重新创建。

安全组现已共享。

Command line
要共享安全组
  1. 您必须先为想要与 AWS RAM 共享的安全组创建资源共享。有关如何使用 AWS CLI 创建与 AWS RAM 的资源共享的步骤,请参阅《AWS RAM User Guide》中的 Creating a resource share in AWS RAM

  2. 要查看创建的资源共享关联,请使用 get-resource-share-associations

安全组现已共享。

停止共享安全组

本节介绍如何使用 AWS Management Console和 AWS CLI 停止与组织中的其他账户共享安全组。

AWS Management Console
要停止共享安全组
  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在左侧导航窗格中,选择安全组

  3. 选择安全组以查看详细信息。

  4. 选择 Sharing (共享) 选项卡。

  5. 选择安全组资源共享,然后选择停止共享

  6. 选择是的,停止共享

Command line

要停止共享安全组

使用 delete-resource-share 删除资源共享。

该安全组不再共享。在所有者停止共享安全组后,以下规则适用:

  • 现有的参与者弹性网络接口(ENI)将继续获取对已取消共享的安全组进行的任何安全组规则更新。取消共享只会阻止参与者与已取消共享组创建新关联。

  • 参与者无法再将已取消共享的安全组与其拥有的任何 ENI 关联。

  • 参与者可以描述和删除仍与已取消共享安全组关联的 ENI。

  • 如果参与者仍具有与已取消共享的安全组关联的 ENI,则所有者无法删除已取消共享的安全组。仅当参与者从其所有 ENI 取消关联(删除)安全组后,所有者才能删除该安全组。