(可选)将 OpsCenter 设置为跨账户集中管理 OpsItems - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

(可选)将 OpsCenter 设置为跨账户集中管理 OpsItems

本节介绍如何为跨账户 OpsItem 管理手动配置 OpsCenter。虽然仍支持此进程,但它已被使用 Systems Manager Quick Setup 的新进程所取代。有关更多信息,请参阅 (可选)使用 Quick Setup 配置 OpsCenter 以跨账户管理 OpsItems

您可以设置一个中央账户为成员账户手动创建 OpsItems,并管理和修复这些 OpsItems。中央账户可以是 Amazon Organizations 管理账户,也可以是 Amazon Organizations 管理账户兼 Systems Manager 委派管理员账户。我们建议您使用 Systems Manager 委派管理员账户作为中央账户。您只能在配置 Amazon Organizations 后使用此功能。

借助 Amazon Organizations,您可以将多个 Amazon Web Services 账户 整合到您创建并集中管理的组织中。中央账户用户可以同时为所有选定的成员账户创建 OpsItems 并管理这些 OpsItems。

使用本节中的过程在“组织”中启用 Systems Manager 服务主体,并配置 Amazon Identity and Access Management(IAM)权限,以便跨账户使用 OpsItems。

注意

当在 OpsCenter 中跨账户工作时,仅支持 /aws/issue 类型的 OpsItems。

开始前的准备工作

在将 OpsCenter 设置为跨账户使用 OpsItems 之前,请确保已设置以下内容:

步骤 1:创建资源数据同步

设置和配置 Amazon Organizations 后,您可以通过创建资源数据同步在 OpsCenter 中为整个组织聚合 OpsItems。有关更多信息,请参阅 创建资源数据同步。创建同步时,请务必在添加账户部分中选择包括我的 Amazon Organizations 配置中的所有账户选项。

步骤 2:在 Amazon Organizations 中启用 Systems Manager 服务主体

要让用户能够跨账户使用 OpsItems,必须在 Amazon Organizations 中启用 Systems Manager 服务主体。如果您以前使用其他功能为多账户方案配置了 Systems Manager,则“组织”中可能已经配置 Systems Manager 服务主体。从(Amazon Command Line InterfaceAmazon CLI)运行以下命令以进行验证。如果您尚未为其他多账户方案配置 Systems Manager,请跳到下一个步骤,即在 Amazon Organizations 中启用 Systems Manager 服务主体

验证 Amazon Organizations 中是否启用了 Systems Manager 服务主体
  1. 在本地计算机上,下载最新版本的 Amazon CLI。

  2. 打开 Amazon CLI,然后运行以下命令,以指定您的凭证和 Amazon Web Services 区域。

    aws configure

    系统将提示您指定以下内容。在以下示例中,将每个用户输入占位符替换为您自己的信息。

    AWS Access Key ID [None]: key_name AWS Secret Access Key [None]: key_name Default region name [None]: region Default output format [None]: ENTER
  3. 运行以下命令以验证是否为 Amazon Organizations 启用了 Systems Manager 服务主体。

    aws organizations list-aws-service-access-for-organization

    该命令会返回类似以下示例中显示的信息。

    { "EnabledServicePrincipals": [ { "ServicePrincipal": "member.org.stacksets.cloudformation.amazonaws.com", "DateEnabled": "2020-12-11T16:32:27.732000-08:00" }, { "ServicePrincipal": "opsdatasync.ssm.amazonaws.com", "DateEnabled": "2022-01-19T12:30:48.352000-08:00" }, { "ServicePrincipal": "ssm.amazonaws.com", "DateEnabled": "2020-12-11T16:32:26.599000-08:00" } ] }
在 Amazon Organizations 中启用 Systems Manager 服务主体

如果您以前未为“组织”配置 Systems Manager 服务主体,请按照以下步骤执行此操作。有关此命令的更多信息,请参阅Amazon CLI 命令参考 中的 enable-aws-service-access

  1. 安装并配置 Amazon Command Line Interface (Amazon CLI)(如果尚未执行该操作)。有关信息,请参阅安装 CLI配置 CLI

  2. 在本地计算机上,下载最新版本的 Amazon CLI。

  3. 打开 Amazon CLI,然后运行以下命令,以指定您的凭证和 Amazon Web Services 区域。

    aws configure

    系统将提示您指定以下内容。在以下示例中,将每个用户输入占位符替换为您自己的信息。

    AWS Access Key ID [None]: key_name AWS Secret Access Key [None]: key_name Default region name [None]: region Default output format [None]: ENTER
  4. 运行以下命令为 Amazon Organizations 启用 Systems Manager 服务主体。

    aws organizations enable-aws-service-access --service-principal "ssm.amazonaws.com"

步骤 3:创建 AWSServiceRoleForAmazonSSM_AccountDiscovery 服务相关角色

服务相关角色(如 AWSServiceRoleForAmazonSSM_AccountDiscovery 角色)是一种与(Amazon Web Service如 Systems Manager)直接关联的独特类型的 IAM 角色。服务相关角色由服务预定义,具有服务代表您调用其他 Amazon Web Services 所需的所有权限。有关 AWSServiceRoleForAmazonSSM_AccountDiscovery 服务相关角色的更多信息,请参阅Systems Manager 账户发现的服务相关角色权限

使用以下过程,通过利用 Amazon CLI 创建 AWSServiceRoleForAmazonSSM_AccountDiscovery 服务相关角色。有关在此步骤中使用的命令的更多信息,请参阅Amazon CLI 命令参考中的 create-service-linked-role

创建 AWSServiceRoleForAmazonSSM_AccountDiscovery 服务相关角色
  1. 登录 Amazon Organizations 管理账户。

  2. 登录“组织”管理账户时,运行以下命令。

    aws iam create-service-linked-role \ --aws-service-name accountdiscovery.ssm.amazonaws.com \ --description "Systems Manager account discovery for Amazon Organizations service-linked role"

步骤 4:配置用于跨账户使用 OpsItems 的权限

使用 Amazon CloudFormation 堆栈集创建 OpsItemGroup 资源策略和 IAM 执行角色,以授予用户跨账户使用 OpsItems 的权限。首先,请下载并解压 OpsCenterCrossAccountMembers.zip 文件。此文件包含 OpsCenterCrossAccountMembers.yaml Amazon CloudFormation 模板文件。使用此模板创建堆栈集时,CloudFormation 会自动在账户中创建 OpsItemCrossAccountResourcePolicy 资源策略和 OpsItemCrossAccountExecutionRole 执行角色。有关创建堆栈集的更多信息,请参阅 Amazon CloudFormation 用户指南中的 Create a stack set(创建堆栈集)。

重要

请注意有关此任务的以下重要信息:

  • 您必须在登录到 Amazon Organizations 管理账户时部署该堆栈集。

  • 您必须在登录到您要设置为目标每个账户时重复此过程,以便跨账户(包括委托管理员账户)使用 OpsItems。

  • 如果您想在不同的 Amazon Web Services 区域 中启用跨账户 OpsItems 管理,请在模板的 Specify regions(指定区域)部分中选择 Add all regions(添加所有区域)。选择加入区域不支持跨账户 OpsItem 管理。

OpsItem 可以包括有关受影响资源的详细信息,如 Amazon Elastic Compute Cloud(Amazon EC2)实例或 Amazon Simple Storage Service(Amazon S3)存储桶。您在“步骤 4”中创建的 OpsItemCrossAccountExecutionRole 执行角色将为 OpsCenter 提供只读权限,以便成员账户查看相关资源。您还必须创建 IAM 角色 以向管理账户提供查看相关资源和与之交互的权限,您将在本任务中完成此操作。

首先,请下载并解压 OpsCenterCrossAccountManagementRole.zip 文件。此文件包含 OpsCenterCrossAccountManagementRole.yaml Amazon CloudFormation 模板文件。当您使用此模板创建堆栈时,CloudFormation 会自动在账户中创建 OpsCenterCrossAccountManagementRole IAM 角色。有关创建堆栈集的更多信息,请参阅《Amazon CloudFormation 用户指南》中的在 Amazon CloudFormation 控制台上创建堆栈

重要

请注意有关此任务的以下重要信息:

  • 如果您计划指定一个账户作为 OpsCenter 的委派管理员,请务必在创建堆栈时指定 Amazon Web Services 账户。

  • 您必须在登录到 Amazon Organizations 管理账户时执行此过程,并在登录到委托管理员账户时再次执行此过程。