

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 連接多個 AWS 帳戶
<a name="configuring-integrations-and-knowledge-connecting-multiple-aws-accounts"></a>

次要 AWS 帳戶可讓 AWS DevOps 代理程式調查組織中多個 AWS 帳戶的資源。當您的應用程式跨越多個帳戶時，新增次要帳戶可確保客服人員在事件調查期間可查看所有相關資源。對構成應用程式的 帳戶和資源的更多存取可確保更高的調查準確性。

## 先決條件
<a name="prerequisites"></a>

新增次要 AWS 帳戶之前，請確定您有：
+ 存取主要帳戶中的 AWS DevOps 代理程式主控台
+ 次要 AWS 帳戶的管理存取權
+ 在次要帳戶中建立角色的 IAM 許可
+ 在主要帳戶中傳遞 IAM 角色 (`iam:PassRole`) 的許可。請參閱[主要帳戶中的必要許可](#required-permissions-in-your-primary-account)。

## 主要帳戶中的必要許可
<a name="required-permissions-in-your-primary-account"></a>

當您連接或更新次要 AWS 帳戶時， AWS DevOps 代理程式會檢查呼叫主體是否可以傳遞 IAM 角色。委託人是在主要帳戶中提出請求的 IAM 使用者或角色。如果委託人沒有 `iam:PassRole`，請求會失敗，其 HTTP 403 名稱`AccessDeniedException`為 `iam:PassRole`。即使委託人已擁有對 AWS DevOps 代理程式的完整存取權 （例如 )，也會發生這種情況`aidevops:*`。在新增次要帳戶之前，將 `iam:PassRole`新增至主要帳戶中的身分政策。

下列政策會授予檢查所需的最小許可集：

```
{
  "Version": "2012-10-17",		 	 	 		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::<primary-account-id>:role/*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "aidevops.amazonaws.com"
        }
      }
    }
  ]
}
```

請謹記以下幾點：
+ 您自己帳戶的角色萬`Resource`用字元範圍： `arn:aws:iam::<primary-account-id>:role/*`（或 `*`)。請勿使用特定角色 ARNs。檢查使用萬用字元資源，且範圍為個別 ARNs的政策無法滿足。
+ 使用設定為 `iam:PassedToService`的條件`aidevops.amazonaws.com`進行最低權限存取。角色萬用字元上沒有條件的`iam:PassRole`授予也會滿足檢查。如果您已`iam:PassRole`限定特定服務的範圍，請將 `aidevops.amazonaws.com`新增至現有條件。
+ 請記住，檢查會在您新增次要帳戶以及每次更新次要帳戶時執行。已連線的次要帳戶會繼續運作，直到您下次更新為止。

## 新增次要 AWS 帳戶
<a name="adding-a-secondary-aws-account"></a>

除了以下步驟，您可以使用 [AWS DevOps Agent CLI 入門指南](getting-started-with-aws-devops-agent-cli-onboarding-guide.md)以程式設計方式新增次要帳戶。

### 步驟 1：啟動次要帳戶組態
<a name="step-1-start-the-secondary-account-configuration"></a>

1. 登入 AWS 管理主控台並導覽至 AWS DevOps 代理程式主控台

1. 選取您的客服人員空間

1. 前往**功能**索引標籤

1. 在**雲端**區段中，尋找**次要來源**子區段

1. 選擇**新增**

### 步驟 2：指定角色名稱
<a name="step-2-specify-the-role-name"></a>

1. 在**為您的角色命名**欄位中，輸入您將在次要帳戶中建立的角色名稱

1. 請注意此名稱 - 在次要帳戶中建立角色時，您將再次使用它

1. 複製主控台中提供的信任政策，並將其儲存在暫存空間中

### 步驟 3：在次要帳戶中建立角色
<a name="step-3-create-the-role-in-the-secondary-account"></a>

1. 開啟新的瀏覽器索引標籤，並登入次要 AWS 帳戶中的 IAM 主控台

1. 導覽至 **IAM >****角色** > **建立角色**

1. 選取**自訂信任政策**

1. 貼上您從步驟 2 複製的信任政策

1. 選擇**下一步**

### 步驟 4：連接 AWS 受管政策
<a name="step-4-attach-the-aws-managed-policy"></a>

1. 在**許可政策**區段中，搜尋 **AIDevOpsAgentAccessPolicy**

1. 選取 **AIDevOpsAgentAccessPolicy** 受管政策旁的核取方塊

1. 選擇**下一步**

### 步驟 5：命名並建立角色
<a name="step-5-name-and-create-the-role"></a>

1. 在**角色名稱**欄位中，輸入您在步驟 2 中提供的相同角色名稱

1. （選用） 新增描述以協助識別角色的目的

1. 檢閱信任政策和連接的許可

1. 選擇 **Create role (建立角色)**。

### 步驟 6：連接內嵌政策
<a name="step-6-attach-the-inline-policy"></a>

1. 在 IAM 主控台中，尋找並選取您剛建立的角色

1. 前往**許可**索引標籤

1. 選擇**新增許可** > **建立內嵌政策**

1. 切換到 **JSON** 索引標籤

1. 貼上您在步驟 2 中儲存的政策

1. 將政策貼到 IAM 主控台的 JSON 編輯器

1. 選擇**下一步**

1. 提供內嵌政策的名稱 （例如「DevOpsAgentInlinePolicy」)

1. 選擇 **Create policy (建立政策)**

### 步驟 7：完成組態
<a name="step-7-complete-the-configuration"></a>

1. 返回主要帳戶中的 AWS DevOps 代理程式主控台

1. 選擇**下一步**以完成次要帳戶組態

1. 確認連線狀態顯示為**作用中**

## 了解必要的政策
<a name="understanding-the-required-policies"></a>

AWS DevOps Agent 需要三個政策元件才能存取次要帳戶中的資源：
+ **信任政策** – 讓 AWS DevOps 代理程式服務主體 (`aidevops.amazonaws.com`) 直接擔任次要帳戶中的角色。此政策使用預防混淆代理人。此安全控制可防止未經授權的服務使用您的 角色存取您的 資源。這些條件僅允許主要帳戶中的客服人員空間啟動存取。
+ **AIDevOpsAgentAccessPolicy (AWS 受管政策）** – 提供 AWS DevOps 代理程式調查次要帳戶中資源所需的核心唯讀許可。此政策由 維護 AWS ，並在新增新功能時更新。
+ **內嵌政策** – 提供代理程式空間組態特定的其他許可。此政策會根據您的客服人員空間設定產生，並可能包含特定整合或功能的許可。

 AWS DevOps Agent 服務直接透過其服務主體擔任次要帳戶中的角色。信任政策條件可確保只有主要帳戶中的客服人員空間可以啟動此跨帳戶存取。

## 管理次要帳戶
<a name="managing-secondary-accounts"></a>
+ **檢視連線帳戶** – 在**功能**索引標籤中，**次要來源**子區段會列出所有連線的次要帳戶及其連線狀態。
+ **更新 IAM 角色** – 如果您需要修改許可，請更新連接到次要帳戶中角色的內嵌政策。變更會立即生效。
+ **移除次要帳戶** – 若要中斷次要帳戶的連線，請在**次要來源**清單中選取該帳戶，然後選擇**移除**。這不會刪除次要帳戶中的 IAM 角色。