组织视图 (CLI) - AWS Health

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

组织视图 (CLI)

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

注意

如果允许用户访问管理账户以使用组织视图功能,则他们必须拥有诸如 AWSHealthFullAccess 策略之类的权限。有关更多信息,请参阅 AWS Health 基于身份的策略示例

启用组织视图 (CLI)

只能通过使用 EnableHealthServiceAccessForOrganization API 操作来启用组织视图。

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

注意
  • 您必须拥有商业Enterprise On-Ramp企业 Support 计划才能调用 AWS Health 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 AWS 托管式策略将应用于组织中的管理账户。

注意

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

查看组织视图事件 (CLI)

启用此功能后,AWS Health 会开始记录影响组织中账户的事件。当某个账户加入您的组织时,AWS Health 会自动将该账户添加到组织视图中。

注意

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

当某个账户离开您的组织时,该账户中的新事件将不再记录到组织视图中。但是,现有事件将保留,您仍可以查询它们,直到达到 90 天限制。

AWS 将在管理员账户关闭生效之日起 90 天内保留该账户的策略数据。在 90 天期限结束时,AWS 会永久删除该账户的所有策略数据。

  • 要将结果保留 90 天以上,您可以将策略存档。您还可以使用采用 Eventbridge 规则的自定义操作将结果存储到 S3 存储桶中。

  • 只要 AWS 保留策略数据,当您重新打开关闭的账户时,AWS 就会将该账户重新分配为服务管理员并恢复该账户的服务策略数据。

  • 有关更多信息,请参阅关闭账户

重要

对于 AWS GovCloud (US) 区域的客户:

  • 在关闭账户前,备份并删除账户资源。关闭账户后,您将不再拥有其访问权限。

您可以使用 AWS Health API 操作从组织视图返回事件。

例 :描述组织视图事件

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

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

有关其他 AWS Health API 操作,请参阅以下部分。

禁用组织视图 (CLI)

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

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

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

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

禁用此功能后,AWS Health 不再聚合来自组织的事件。但是,服务相关角色保留在管理账户中,直到您通过 AWS Identity and Access Management (IAM) 控制台、IAM API 或 AWS CLI 将其删除为止。有关更多信息,请参阅 IAM 用户指南中的删除服务相关角色

AWS Health 组织视图 API 操作

您可以将以下 AWS Health API 操作用于组织视图:

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

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

例 示例:组织包含具有商业和开发人员支持计划的账户
  • 您的组织中有三个账户。管理账户具有商业支持计划,而另两个账户具有开发人员支持计划。

  • 您可以从管理账户或从可使用所需权限担任角色的账户调用 DescribeEventForOrganization API 操作。

  • AWS Health 返回所有三个账户的信息。

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

例 示例:组织具有包含企业、商业和开发人员支持计划的账户
  • 您的组织中有五个账户。管理账户具有企业支持计划,两个账户具有商业支持计划,而另两个账户具有开发人员支持计划。

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

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