

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

# 设置跨账户访问
<a name="setting-up-cross-account-access"></a>

 委派的管理员和成员账户可以通过配置跨账户 IAM 角色从管理账户访问组织范围 Amazon Cost Explorer 的数据。此配置允许这些账户在不切换到管理账户的情况下查看实际使用数据。

## 先决条件
<a name="cross-account-prerequisites"></a>

 在为成本估算器设置跨账户访问权限之前，需要以下项目和信息：
+ 管理账户必须已 Amazon Cost Explorer 启用。
+ 在管理账户中创建角色的 IAM 权限。
+ 了解将被授予跨账户访问权限的委托管理员或成员账户 ID。

## 设置步骤
<a name="cross-acount-setup-process"></a>

 成本估算器直接在控制台中提供指导性设置说明。要访问说明，请导航到组织管理账户中的 [https://console.aws.amazon.com/securityhub/v2/Home\#/](https://console.amazonaws.cn/securityhub/v2/home#/costEstimator) CosteStimator 的成本估算器页面。找到 “**跨账户访问权限**” 部分，然后按照概述的步骤设置跨账户角色。

## 角色配置
<a name="cross-acount-role-configuration"></a>

 成本估算器的跨账户访问需要设置具有信任策略和权限策略的 IAM 角色。必须使用以下配置在管理账户中创建跨账户角色：

**角色名称（需要确切的名称）**- AwsSecurityHubCostEstimatorCrossAccountRole

**推荐的信任政策：**

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
            "AWS": "arn:aws:iam::{ACCOUNT_ID}:role/{ROLE_NAME}"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

 通过替换策略示例中的以下值来编辑策略：
+  {{{ACCOUNT\_ID}}}替换为您授予跨账户访问权限的委派管理员或成员账户 ID。
+  {{{ROLE\_NAME}}}替换为您授予访问权限的委派管理员或成员账户中的 IAM 角色名称。

**推荐的权限策略：**

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ce:GetCostAndUsage",
            "Resource": "*"
        }
    ]
}
```

**注意**  
 信任策略限制对特定账户和角色的访问权限。只有指定的 IAM 委托人可以担任此角色，从而防止未经授权的访问。

## 验证
<a name="cross-acount-verification"></a>

 在管理账户中创建角色后，使用以下步骤确认设置是否正常运行。

1.  登录委派管理员或成员账户。

1.  [通过 v2/Home\#/costeStimator 导航到 Security Hub 成本估算器 https://console.aws.amazon.com/securityhub/](https://console.amazonaws.cn/securityhub/v2/home#/costEstimator) 

1.  该页面应自动：

   1.  检测组织中的管理账户。

   1.  扮演跨账户角色。

   1.  加载组织范围内使用的 Cost Explorer 数据。

 如果成功，您将看到实际使用情况数据，而不是手动输入字段。

## 问题排查
<a name="cross-acount-troubleshooting"></a>

 本节介绍设置跨账户访问权限时可能出现的常见问题和解决方案。

### 此账户没有组织使用情况数据
<a name="org-usage-data-not-available"></a>

 此警报表示无法访问跨账户角色。此警报可能导致的原因有：

1.  **角色不存在：**管理账户尚未创建角色。

   1.  **解决方案：**请联系您的管理账户管理员，按照设置指南创建角色。

1.  **角色名称不匹配：**角色名称不完全匹配。

   1.  **解决方案：**验证角色名为`AwsSecurityHubCostEstimatorCrossAccountRole`。

1.  **信任政策不正确：**信任政策不允许您的账户担任该角色。

   1.  **解决方案：**验证信任策略包括您的账户 ID 和角色名称。

1.  **缺少 AssumeRole 权限：**您的 IAM 委托人缺少权限`sts:AssumeRole`。

   1.  **解决方案：**请联系您的管理员添加`sts:AssumeRole`权限。

 **要查看详细的设置说明：**单击警报中的 “查看说明” 链接，打开包含 step-by-step指导和策略模板的模式。

 **解决办法：**您仍然可以通过在编辑模式下手动输入使用值来使用成本估算器。