

# 在 AWS WA Tool 中激活对其他 AWS 服务的支持
<a name="activate-integrations"></a>

激活企业访问权限允许 AWS Well-Architected Tool 收集有关企业结构的信息，从而更轻松地共享资源（有关更多信息，请参阅[在 AWS Organizations 内激活资源共享](sharing.md#getting-started-sharing-orgs)）。激活 Discovery 支持会从 [AWS Trusted Advisor](https://docs.aws.amazon.com/awssupport/latest/user/trusted-advisor.html)、[AWS Service Catalog AppRegistry](https://docs.aws.amazon.com/servicecatalog/latest/arguide/intro-app-registry.html) 以及相关资源（例如 AppRegistry 资源集合中的 CloudFormation 堆栈）中收集信息，有助于您更轻松地发现回答 Well-Architected 审查问题所需的信息，并针对工作负载量身定制 Trusted Advisor 检查。

激活 AWS Organizations 的支持或激活 Discovery 支持会自动为您的账户创建服务相关角色。

**要开启对 AWS WA Tool 可以与之交互的其它服务的支持，请导航到“设置”。**

1. 要从 AWS Organizations 中收集信息，请开启**激活 AWS Organizations 支持**。

1. 开启**激活 Discovery 支持**，从其它 AWS 服务和资源收集信息。

1. 选择**查看角色权限**以查看服务相关角色权限或信任关系策略。

1. 选择**保存设置**。

# 为工作负载激活 AppRegistry
<a name="activate-appregistry"></a>

使用 AppRegistry 为可选项，AWS 商业和企业支持客户可以按工作负载进行激活。

每当开启 Discovery 支持并且 AppRegistry 与新的或现有的工作负载关联时，AWS Well-Architected Tool 都会创建一个服务管理的属性组。AppRegistry 中的**元数据**属性组包含工作负载 ARN、工作负载名称以及与工作负载相关的风险。
+  开启 Discovery 支持后，每当工作负载发生变化时，属性组都会更新。
+  当 Discovery 支持关闭或应用程序从工作负载中删除时，将从 AWS Service Catalog 中删除工作负载信息。

如果您想让 AppRegistry 应用程序使用从 Trusted Advisor 中获取的数据，请将工作负载**资源定义**设置为 **AppRegistry** 或**全部**。按照[在 IAM 中为工作负载激活 Trusted Advisor](activate-ta-in-iam.md)中的指南，为在您的应用程序中拥有资源的所有账户创建角色。

# 为工作负载激活 AWS Trusted Advisor
<a name="activate-ta-for-workload"></a>

您可以选择性集成 AWS Trusted Advisor，并针对 AWS 商业和企业支持客户按工作负载进行激活。集成 Trusted Advisor 和 AWS WA Tool 不收取任何费用，但要了解 Trusted Advisor 定价详情，请参阅 [AWS Support 计划](https://docs.aws.amazon.com/awssupport/latest/user/aws-support-plans.html)。为工作负载激活 Trusted Advisor 可以为您提供一种更全面、更自动化、更受监控的方法来审查和优化您的 AWS 工作负载。这可以帮助您改善工作负载的可靠性、安全性、性能和成本优化。

**为工作负载激活 Trusted Advisor**

1. 要激活 Trusted Advisor，工作负载所有者可以使用 AWS WA Tool 更新现有工作负载，或者通过选择**定义工作负载**来创建新的工作负载。

1. 在**账户 ID**中输入 Trusted Advisor 使用的账户 ID 以及/或在**应用程序**字段中选择一个应用程序 ARN，激活 Trusted Advisor。

1. 在 **AWS Trusted Advisor** 部分，选择**激活 Trusted Advisor**。  
![\[定义工作负载时“激活 Trusted Advisor” 部分的屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/latest/userguide/images/defining-workload-activate-ta-support.png)

1. 首次为工作负载激活 Trusted Advisor 时，会显示**将创建 IAM 服务角色**的通知。选择**查看权限**会显示 IAM 角色权限。您可以在 IAM 中查看**角色名称**以及自动为您创建的**权限**和**信任关系** JSON。创建角色后，对于后续激活 **Trusted Advisor** 的工作负载，仅显示**需要额外设置**通知。

1. 在**资源定义**下拉列表中，您可以选择**工作负载元数据**、**AppRegistry** 或**全部**。**资源定义**选择定义了 AWS WA Tool 从 Trusted Advisor 中获取哪些数据，以便在工作负载审核中提供与 Well-Architected 最佳实践相对应的状态检查。

   **工作负载元数据** - 工作负载由账户 ID 以及在工作负载中指定的 AWS 区域定义。

   **AppRegistry** – 工作负载由与工作负载关联的 AppRegistry 应用程序中存在的资源（例如 CloudFormation 堆栈）定义。

   **全部** – 工作负载由工作负载元数据和 AppRegistry 资源定义。

1. 选择**下一步**。

1. 将 **AWS Well-Architected Framework** 应用于您的工作负载，然后选择**定义工作负载**。Trusted Advisor 检查仅与 AWS Well-Architected Framework 关联，与其它剖析无关。

AWS WA Tool 定期使用在 IAM 中创建的角色从 Trusted Advisor 获取数据。将自动为工作负载所有者创建 IAM 角色。但是，要查看 Trusted Advisor 信息，工作负载上任何关联账户的所有者都必须前往 IAM 并创建角色，有关更多详细信息，请参阅[在 IAM 中为工作负载激活 Trusted Advisor](activate-ta-in-iam.md)。如果此角色不存在，则 AWS WA Tool 无法获取该账户的 Trusted Advisor 信息并显示错误。

有关在 AWS Identity and Access Management（IAM）中创建角色的更多信息，请参阅《IAM 用户指南》**中的[为 AWS 服务（控制台）创建一个角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console)。

# 在 IAM 中为工作负载激活 Trusted Advisor
<a name="activate-ta-in-iam"></a>

**注意**  
工作负载所有者应在创建 Trusted Advisor 工作负载之前为其账户**激活 Discovery 支持**。选择**激活 Discovery 支持**将创建工作负载所有者所需的角色。对所有其他关联账户使用以下步骤。

已激活 Trusted Advisor 的工作负载关联账户的所有者必须在 IAM 中创建角色才能查看 AWS Well-Architected Tool 中的 Trusted Advisor 信息。

**在 IAM 中为 AWS WA Tool 创建角色以从 Trusted Advisor 中获取信息**

1. 登录到 AWS 管理控制台 并在 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 上打开 IAM 控制台。

1. 在 **IAM** 控制台的导航窗格中，选择**角色**，然后选择**创建角色**。

1. 对于**可信实体类型**，选择**自定义信任策略**。

1. 将以下**自定义信任策略**复制并粘贴到 **IAM** 控制台的 JSON 字段中，如下图所示。将 *`WORKLOAD_OWNER_ACCOUNT_ID`* 替换为工作负载所有者的账户 ID，然后选择**下一步**。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "wellarchitected.amazonaws.com"
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "StringEquals": {
                       "aws:SourceAccount": "WORKLOAD_OWNER_ACCOUNT_ID"
                   },
                   "ArnEquals": {
                       "aws:SourceArn": "arn:aws:wellarchitected:*:111122223333:workload/*"
                   }
               }
           }
       ]
   }
   ```

------  
![\[IAM 控制台中自定义信任策略的屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/latest/userguide/images/custom-trust-policy.png)
**注意**  
之前的自定义信任策略条件块中的 `aws:sourceArn` 是 `"arn:aws:wellarchitected:*:WORKLOAD_OWNER_ACCOUNT_ID:workload/*"`，这是一个通用条件，表示该角色可以由 AWS WA Tool 用于工作负载所有者的工作负载。但是，可以将访问范围缩小到特定的工作负载 ARN 或一组工作负载 ARN。要指定多个 ARN，请参阅以下示例信任策略。  

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "wellarchitected.amazonaws.com"
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "StringEquals": {
                   "aws:SourceAccount": "111122223333"
                   },
                   "ArnEquals": {
                       "aws:SourceArn": [
                       "arn:aws:wellarchitected:us-east-1:111122223333:workload/WORKLOAD_ID_1",
       "arn:aws:wellarchitected:us-east-1:111122223333:workload/WORKLOAD_ID_2"
                       ]
                   }
               }
           }
       ]
   }
   ```

1. 在**添加权限**页面上，对于**权限策略**，选择**创建策略**以授予 AWS WA Tool 从 Trusted Advisor 中读取数据的权限。选择**创建策略**会打开一个新窗口。
**注意**  
此外，您可以选择在创建角色时跳过创建权限，并在创建角色后创建内联策略。在成功创建角色的消息中选择**查看角色**，然后从**权限**选项卡的**添加权限**下拉列表中选择**创建内联策略**。

1. 将以下**权限策略**复制并粘贴到 JSON 字段中。在 `Resource` ARN 中，将 *`YOUR_ACCOUNT_ID`* 替换为您自己的账户 ID，指定区域或星号（`*`），然后选择**下一步: 标签**。

   有关 ARN 格式的详细信息，请参阅 *AWS 一般参考指南*中的 [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "trustedadvisor:DescribeCheckRefreshStatuses",
                   "trustedadvisor:DescribeCheckSummaries",
                   "trustedadvisor:DescribeRiskResources",
                   "trustedadvisor:DescribeAccount",
                   "trustedadvisor:DescribeRisk",
                   "trustedadvisor:DescribeAccountAccess",
                   "trustedadvisor:DescribeRisks",
                   "trustedadvisor:DescribeCheckItems"
               ],
               "Resource": [
                   "arn:aws:trustedadvisor:*:111122223333:checks/*"
               ]
           }
       ]
   }
   ```

------

1. 如果已为工作负载激活 Trusted Advisor 并且**资源定义**设置为 **AppRegistry** 或**全部**，则所有在附加到该工作负载的 AppRegistry 应用程序中拥有资源的账户都必须在其 Trusted Advisor 角色的**权限策略**中添加以下权限。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "DiscoveryPermissions",
               "Effect": "Allow",
               "Action": [
                   "servicecatalog:ListAssociatedResources",
                   "tag:GetResources",
                   "servicecatalog:GetApplication",
                   "resource-groups:ListGroupResources",
                   "cloudformation:DescribeStacks",
                   "cloudformation:ListStackResources"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. （可选）添加标签。选择**下一步：审核**。

1. 检查策略，为其指定名称，然后选择**创建策略**。

1. 在角色的**添加权限**页面上，选择您刚刚创建的策略名称，然后选择**下一步**。

1. 输入**角色名称**，该名称必须使用以下语法：`WellArchitectedRoleForTrustedAdvisor-WORKLOAD_OWNER_ACCOUNT_ID`，然后选择**创建角色**。将 *`WORKLOAD_OWNER_ACCOUNT_ID`* 替换为工作负载所有者的账户 ID。

   您应该在页面顶部看到一条成功消息，通知您已创建角色。

1. 要查看角色和关联的权限策略，请在左侧导航窗格中的**访问管理**下，选择**角色**并搜索 `WellArchitectedRoleForTrustedAdvisor-WORKLOAD_OWNER_ACCOUNT_ID` 名称。选择角色名称以验证**权限**和**信任关系**是否正确。

# 为工作负载停用 Trusted Advisor
<a name="deactivate-ta-for-workload"></a>

**为工作负载停用 Trusted Advisor**

您可以从 AWS Well-Architected Tool 中通过编辑工作负载并取消选择**激活 Trusted Advisor** 来为任何工作负载停用 Trusted Advisor。有关编辑工作负载的更多信息，请参阅[在 AWS Well-Architected Tool 中编辑工作负载](workloads-edit.md)。

从 AWS WA Tool 中停用 Trusted Advisor 不会删除在 IAM 中创建的角色。从 IAM 中删除角色需要单独的清理措施。工作负载所有者或关联账户的所有者应删除在 AWS WA Tool 中停用 Trusted Advisor 时创建的 IAM 角色，或者让 AWS WA Tool 停止为工作负载收集 Trusted Advisor 数据。

**在 IAM 中删除 `WellArchitectedRoleForTrustedAdvisor`**

1. 登录到 AWS 管理控制台 并在 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 上打开 IAM 控制台。

1. 在 **IAM** 控制台的导航窗格中，选择**角色**。

1. 搜索 `WellArchitectedRoleForTrustedAdvisor-WORKLOAD_OWNER_ACCOUNT_ID` 并选择角色名称。

1. 选择**删除**。在弹出窗口中，键入要确认删除的角色名称，然后再次选择**删除**。

有关从 IAM 删除角色的更多信息，请参阅《IAM 用户指南》**中的[删除 IAM 角色（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html#roles-managingrole-deleting-console)。