将 AWS Organizations 与其他 AWS 服务结合使用 - AWS Organizations

将 AWS Organizations 与其他 AWS 服务结合使用

您可以使用信任访问权限启用您指定的名为信任服务的支持的AWS服务,以在您的组织及其代表您的账户中执行任务。这涉及向可信服务授予权限,但不会以其他方式影响用户或角色的权限。当您允许访问时,信任服务可以在您组织的每个账户中创建一个名为服务相关角色 的 IAM 角色(只要需要该角色)。该角色具有允许可信服务执行该服务文档中所述任务的权限策略。这允许您指定您希望可信服务在代表您的组织账户中保持的设置和配置详细信息。信任服务仅在需要对账户执行管理操作时才会创建服务相关角色,而不一定在组织的所有账户中执行管理操作。

重要

我们强烈建议在相关选项可用时,通过可信服务的控制台或其等效 AWS CLI 或 API 操作,来启用和禁用可信访问。这使得信任服务在启用信任访问权限时执行任何必需的初始化,例如在禁用信任访问权限时创建任何必需的资源和任何必需的资源清理。

有关如何使用信任服务启用或禁用对组织的信任服务访问的信息,请参阅可与 AWS Organizations 结合使用的 AWS 服务了解详情链接下的支持信任访问权限列。

如果您使用 Organizations 控制台、CLI 命令或 API 操作禁用访问,则会导致发生以下操作:

  • 服务不能再在您组织的账户中创建服务相关角色。这意味着该服务无法代表您对组织中的任何新账户执行操作。该服务仍然可以在旧账户中执行操作,直到服务完全从 AWS Organizations 中清理。

  • 该服务不能再在组织中的成员账户中执行任务,除非附加到您的角色的 IAM policy 明确允许这些操作。这包括从成员账户到管理账户或委托管理员账户(如果相关)的任何数据聚合。

  • 有些服务会检测到这一点并清理与集成相关的所有剩余数据或资源,而其他服务则停止访问组织,但会将所有历史数据和配置保留在合适位置,以支持重新启用集成的可能性。

相反,使用其他服务的控制台或命令禁用集成可确保其他服务可以清理仅用于集成的任何资源。服务清除组织账户中的资源的方式取决于该服务。有关更多信息,请参阅有关其他AWS服务的文档。

允许可信访问所需的权限

可信访问需要以下两种服务的权限:AWS Organizations 和可信服务。要允许可信访问,请选择以下场景之一:

  • 如果您有在 AWS Organizations 和信任服务中都具有权限的凭证,则通过使用信任服务提供的工具(控制台或 AWS CLI)允许访问。这允许服务代表您在 AWS Organizations 中允许新人访问权限以及创建此服务在您的组织中运行所需的任何资源。

    这些凭证的最低权限如下:

    • organizations:EnableAWSServiceAccess。您还可以将 organizations:ServicePrincipal 条件键与此操作搭配使用,以将这些操作发出的请求限制为已批准的服务委托人名称列表。有关更多信息,请参阅 条件键

    • organizations:ListAWSServiceAccessForOrganization – 在您使用 AWS Organizations 控制台时为必需。

    • 可信服务所需的最低权限取决于此服务。有关更多信息,请参阅可信服务的文档。

  • 如果一人拥有在 AWS Organizations 中具有权限的凭证,但其他人拥有在可信服务中具有权限的凭证,请按以下顺序执行这些步骤:

    1. 拥有在 AWS Organizations 中具有权限的凭证的人应使用 AWS Organizations 控制台、AWS CLI 或 AWS 开发工具包允许可信服务的可信访问。这为另一服务授予在执行以下步骤 (步骤 2) 后在组织中执行其所需配置的权限。

      最低 AWS Organizations 权限如下:

      • organizations:EnableAWSServiceAccess

      • organizations:ListAWSServiceAccessForOrganization – 仅在您使用 AWS Organizations 控制台时为必需

      有关在 AWS Organizations 中允许可信访问的步骤,请参阅如何允许或禁止可信访问

    2. 拥有在可信服务中具有权限的凭证的人可启用此服务以使用 AWS Organizations。这指示此服务执行任何所需初始化 (如,创建可信服务在组织中运行所需的任何资源)。有关信息,请参阅可与 AWS Organizations 结合使用的 AWS 服务处的服务特定说明。

禁止可信访问所需的权限

当您不再需要允许可信服务在您的组织或其账户上运行时,请选择以下场景之一。

重要

禁止可信服务访问 会阻止具有相应权限的用户和角色使用该服务。要完全阻止用户和角色访问 AWS 服务,您可以删除授予此访问权限的 IAM 权限,也可以使用 AWS Organizations 中的服务控制策略 (SCP)。

您可以将 SCP 应用于仅成员账户。SCP 不能应用于管理账户。建议您不要在管理账户中运行服务。相反,请在成员账户中运行它们,您可以通过使用 SCP 控制安全性。

  • 如果您有在 AWS Organizations 和可信服务中都具有权限的凭证,则可通过使用为可信服务提供的工具(控制台或 AWS CLI)禁止访问。该服务之后将通过删除不再需要的资源并代表您在 AWS Organizations 中禁止此服务的可信访问来清理。

    这些凭证的最低权限如下:

    • organizations:DisableAWSServiceAccess。您还可以将 organizations:ServicePrincipal 条件键与此操作搭配使用,以将这些操作发出的请求限制为已批准的服务委托人名称列表。有关更多信息,请参阅 条件键

    • organizations:ListAWSServiceAccessForOrganization – 在您使用 AWS Organizations 控制台时为必需。

    • 可信服务所需的最低权限取决于此服务。有关更多信息,请参阅可信服务的文档。

  • 如果在 AWS Organizations 中具有权限的凭证不是在可信服务中具有权限的凭证,请按以下顺序执行这些步骤:

    1. 在可信服务中具有权限的人首先使用此服务禁止访问。这将指示可信服务通过删除可信服务所需的资源进行清理。有关信息,请参阅可与 AWS Organizations 结合使用的 AWS 服务处的服务特定说明。

    2. 在 AWS Organizations 中具有权限的人之后可使用 AWS Organizations 控制台、AWS CLI 或 AWS 开发工具包禁止可信服务的访问。这将从组织及其账户中删除可信服务的权限。

      最低 AWS Organizations 权限如下:

      • organizations:DisableAWSServiceAccess

      • organizations:ListAWSServiceAccessForOrganization – 仅在您使用 AWS Organizations 控制台时为必需

      有关在 AWS Organizations 中禁止可信访问的步骤,请参阅如何允许或禁止可信访问

如何允许或禁止可信访问

如果您只有 AWS Organizations 的权限并且要代表另一 AWS 服务的管理员允许或禁止对您组织的可信访问,请使用以下过程。

重要

我们强烈建议在相关选项可用时,通过可信服务的控制台或其等效 AWS CLI 或 API 操作,来启用和禁用可信访问。这使得信任服务在启用信任访问权限时执行任何必需的初始化,例如在禁用信任访问权限时创建任何必需的资源和任何必需的资源清理。

有关如何使用信任服务启用或禁用对组织的信任服务访问的信息,请参阅可与 AWS Organizations 结合使用的 AWS 服务了解详情链接下的支持信任访问权限列。

如果您使用 Organizations 控制台、CLI 命令或 API 操作禁用访问,则会导致发生以下操作:

  • 服务不能再在您组织的账户中创建服务相关角色。这意味着该服务无法代表您对组织中的任何新账户执行操作。该服务仍然可以在旧账户中执行操作,直到服务完全从 AWS Organizations 中清理。

  • 该服务不能再在组织中的成员账户中执行任务,除非附加到您的角色的 IAM policy 明确允许这些操作。这包括从成员账户到管理账户或委托管理员账户(如果相关)的任何数据聚合。

  • 有些服务会检测到这一点并清理与集成相关的所有剩余数据或资源,而其他服务则停止访问组织,但会将所有历史数据和配置保留在合适位置,以支持重新启用集成的可能性。

相反,使用其他服务的控制台或命令禁用集成可确保其他服务可以清理仅用于集成的任何资源。服务清除组织账户中的资源的方式取决于该服务。有关更多信息,请参阅有关其他AWS服务的文档。

AWS Management Console
启用信任服务访问权限
  1. 登录 AWS Organizations 控制台。您必须以 IAM 用户的身份登录,担任 IAM 角色;或在组织的管理账户中以根用户的身份登录(不推荐)。

  2. Services (服务) 页面上,找到要启用的服务所在的行,然后选择其名称。

  3. 选择 Enable trusted access (启用可信访问)

  4. 在确认对话框中,选中 Show the option to enable trusted access (显示启用信任访问权限的选项),在框中输入 enable,然后选择 Enable trusted access (启用信任访问权限)

  5. 如果您要允许 访问,请告知另一 AWS 服务的管理员,他们现在可以启用另一服务以使用 AWS Organizations。

禁用信任服务访问权限
  1. 登录 AWS Organizations 控制台。您必须以 IAM 用户的身份登录,担任 IAM 角色;或在组织的管理账户中以根用户的身份登录(不推荐)。

  2. Services (服务) 页面上,找到要禁用的服务所在的行,然后选择其名称。

  3. 请一直等到其他服务的管理员告知您已禁用此服务且已清理资源。

  4. 在确认对话框中输入 disable,然后选择 Disable trusted access (禁用信任访问权限)

AWS CLI, AWS API
允许或禁止信任服务访问

您可以使用以下 AWS CLI 命令或 API 操作允许或禁止可信服务访问:

AWS Organizations 和服务相关角色

AWS Organizations 使用 IAM 服务相关角色允许信任服务代表您执行在组织的成员账户中执行任务。当您配置可信服务并授权其与您的组织集成时,该服务可请求 AWS Organizations 在其成员账户中创建服务相关角色。可信服务按需异步执行此操作,同时并非所有组织账户都需要。此服务相关角色具有预定义的 IAM 权限,此权限允许信任服务在账户内仅执行特定任务。一般而言,AWS 将管理所有服务相关角色,这意味着,您通常无法更改角色或附加的策略。

为实现上述操作,当您在组织中创建账户或接受邀请以将现有账户加入组织时,AWS Organizations 将使用名为 AWSServiceRoleForOrganizations 的服务相关角色预置成员账户。仅 AWS Organizations 服务自身可以代入此角色。此角色具有允许 AWS Organizations 为其他 AWS 服务创建服务相关角色的权限。此服务相关角色存在于所有组织中。

如果您的组织仅启用了整合账单功能(但我们建议不要这样做),则绝不使用名为 AWSServiceRoleForOrganizations 的服务相关角色并且可删除它。如果您之后要在组织中启用所有功能,则此角色是必需的并且您必须还原它。在您开始启用所有功能的流程时,将进行以下检查:

  • 对于已受邀加入组织的每个成员账户 – 账户管理员将收到同意启用所有功能的请求。要成功同意此请求,如果服务相关角色 (organizations:AcceptHandshake) 不存在,此管理员必须同时具有 iam:CreateServiceLinkedRole AWSServiceRoleForOrganizations 权限。如果 AWSServiceRoleForOrganizations 角色已存在,则管理员只需 organizations:AcceptHandshake 权限即可同意该请求。如果此管理员同意此请求,则 AWS Organizations 将创建服务相关角色(如果此角色尚不存在)。

  • 对于已在组织中创建的每个成员账户 – 账户管理员将收到重新创建服务相关角色的请求。(成员账户的管理员不会收到启用所有功能的请求,因为管理账户(此前称为“主账户”)的管理员被视为所创建成员账户的所有者。)如果成员账户管理员同意该请求,则 AWS Organizations 将创建服务相关角色。管理员必须同时具有 organizations:AcceptHandshake iam:CreateServiceLinkedRole 权限才能成功接受握手。

在组织中启用所有功能后,您无法再删除任何账户中的 AWSServiceRoleForOrganizations 服务相关角色。

重要

AWS Organizations SCP 决不会影响服务相关角色。这些角色将免受任何 SCP 限制。