组织视图 (CLI) - AWS Health
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

组织视图 (CLI)

您还可以从 AWS Command Line Interface (AWS CLI) 而不是 AWS Health 控制台启用组织视图功能。要使用控制台,请参阅 启用组织视图(控制台)

注意

如果要允许用户访问组织视图功能的 管理账户,则必须具有诸如 AWSHealthFullAccess 策略之类的权限。有关更多信息,请参阅AWS 运行状况 基于身份的策略示例

启用组织视图 (CLI)

您可以使用 EnableHealthServiceAccessForOrganization API 操作启用组织视图。

您可以使用 AWS Command Line Interface (AWS CLI) 或自己的代码来调用此操作。

注意
  • 您必须拥有商业企业支持计划才能调用 AWS 运行状况 API。

  • 您必须使用 美国东部(弗吉尼亚北部)地区 终端节点。

以下 AWS CLI 命令从 AWS 账户启用此功能。您可以从 管理账户 或从可担任具有所需权限的角色的账户使用此命令。

aws health enable-health-service-access-for-organization --region us-east-1

以下代码示例调用 EnableHealthServiceAccessForOrganization API 操作。

Python
import boto3 client = boto3.client('health') response = client.enable_health_service_access_for_organization() print(response)
Java

您可以在以下示例中使用适用于 Java 2.0 版的 AWS 开发工具包。

import software.amazon.awssdk.services.health.HealthClient; import software.amazon.awssdk.services.health.HealthClientBuilder; import software.amazon.awssdk.services.health.model.ConcurrentModificationException; import software.amazon.awssdk.services.health.model.EnableHealthServiceAccessForOrganizationRequest; import software.amazon.awssdk.services.health.model.EnableHealthServiceAccessForOrganizationResponse; import software.amazon.awssdk.services.health.model.DescribeHealthServiceStatusForOrganizationRequest; import software.amazon.awssdk.services.health.model.DescribeHealthServiceStatusForOrganizationResponse; import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider; import software.amazon.awssdk.regions.Region; public class EnableHealthServiceAccessDemo { public static void main(String[] args) { HealthClient client = HealthClient.builder() .region(Region.US_EAST_1) .credentialsProvider( DefaultCredentialsProvider.builder().build() ) .build(); try { DescribeHealthServiceStatusForOrganizationResponse statusResponse = client.describeHealthServiceStatusForOrganization( DescribeHealthServiceStatusForOrganizationRequest.builder().build() ); String status = statusResponse.healthServiceAccessStatusForOrganization(); if ("ENABLED".equals(status)) { System.out.println("EnableHealthServiceAccessForOrganization already enabled!"); return; } client.enableHealthServiceAccessForOrganization( EnableHealthServiceAccessForOrganizationRequest.builder().build() ); System.out.println("EnableHealthServiceAccessForOrganization is in progress"); } catch (ConcurrentModificationException cme) { System.out.println("EnableHealthServiceAccessForOrganization is already in progress. Wait for the action to complete before trying again."); } catch (Exception e) { System.out.println("EnableHealthServiceAccessForOrganization FAILED: " + e); } } }

有关更多信息,请参阅适用于 Java 2.0 的 AWS 开发工具包开发人员指南

启用此功能时,具有 AWSServiceRoleForHealth_Organizations 策略的 服务相关角色Health_OrganizationsServiceRolePolicy (SLR) 将应用于组织中的 管理账户。

注意

启用此功能是一个异步过程,需要花点时间才能完成。您可以调用 DescribeHealthServiceStatusForOrganization 操作来检查该过程的状态。

查看组织视图事件 (CLI)

启用此功能后,AWS 运行状况 会开始记录影响组织中账户的事件。当某个账户加入您的组织时,AWS 运行状况 会自动将该账户添加到组织视图中。当某个账户离开您的组织时,该账户中的新事件将不再记录到组织视图中。但是,现有事件将保留,您仍可以查询它们,直到达到 90 天限制。

注意

AWS 运行状况 不会记录您启用组织视图之前组织中发生的事件。

您可以使用 AWS 运行状况 API 操作从组织视图返回事件。

例 :描述组织视图事件

以下 AWS CLI 命令返回组织中 AWS 账户的运行状况事件。

aws health describe-events-for-organization --region us-east-1

有关其他 AWS 运行状况 API 操作,请参阅以下部分。

禁用组织视图 (CLI)

您可以使用 DisableHealthServiceAccessForOrganization API 操作禁用组织视图。

以下 AWS CLI 命令从您的账户禁用此功能。

aws health disable-health-service-access-for-organization --region us-east-1
注意

您还可以使用 组织 DisableAWSServiceAccess API 操作禁用组织功能。调用此操作后,AWS 运行状况 会停止聚合组织中所有其他账户的事件。如果您为组织视图调用 AWS 运行状况 API 操作,则 AWS 运行状况 会返回错误。AWS 运行状况 会继续为 AWS 账户聚合运行状况事件。

禁用此功能后,AWS 运行状况 不再聚合来自组织的事件。但是,服务相关角色将保留在 管理账户 中,直到您通过 AWS Identity and Access Management (IAM) 控制台、IAM API 或 AWS CLI 将其删除。有关更多信息,请参阅 https://docs.amazonaws.cn/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role 中的删除服务相关角色IAM 用户指南。

AWS 运行状况 组织视图 API 操作

您可以将以下 AWS 运行状况 API 操作用于组织视图:

可使用以下操作来允许或禁止 AWS 运行状况 与 组织 结合使用:

您必须拥有商业或企业支持计划才能调用这些 API 操作。如果您从至少具有商业支持计划的账户调用 DescribeEventForOrganizationDescribeAffectedAccountsForOrganization 操作,则可以返回有关组织中任何账户的信息,而不必考虑各个账户的支持级别。请见以下示例。

例如:具有具有商业和开发人员支持计划的账户的组织

  • 您的组织中有三个账户。具有商业支持计划,而其他两个账户具有开发人员支持计划。管理账户

  • 您可以从 DescribeEventForOrganization或从可代入具有所需权限的角色的账户调用 管理账户 API 操作。

  • AWS 运行状况 返回所有三个账户的信息。

如果您从至少具有商业支持计划的账户调用 DescribeEventDetailsForOrganizationDescribeAffectedEntitiesForOrganization API 操作,则只能返回有关组织中具有商业或企业支持级别计划的账户的信息。

例如:具有企业、业务和开发人员支持计划的账户的组织

  • 您的组织中有五个账户。具有企业支持计划,两个账户具有商业支持计划,而两个账户具有开发人员支持计划。管理账户

  • 您可以从 DescribeEventDetailsForOrganization 调用 管理账户 API 操作。

  • AWS 运行状况 仅返回具有企业或商业支持计划的账户的信息。具有开发人员支持计划的账户将显示在响应的 failedSet 中。