

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

# AWS Resilience Hub 存取許可參考
<a name="security-iam-resilience-hub-permissions"></a>

您可以使用 AWS Identity and Access Management (IAM) 來管理應用程式資源的存取，並建立適用於使用者、群組或角色的 IAM 政策。

每個 AWS Resilience Hub 應用程式都可以設定為使用 [Invoker 角色](security-iam-resilience-hub-invoker-role.md)(IAM 角色），或使用目前的 IAM 使用者許可 （以及一組跨帳戶和排程評估的預先定義角色）。在此角色中，您可以連接政策，定義 AWS Resilience Hub 存取其他 AWS 資源或應用程式資源所需的許可。呼叫者角色必須具有新增至 AWS Resilience Hub Service Principal 的信任政策。

若要管理應用程式的許可，建議使用 [AWS 的 受管政策 AWS Resilience Hub](security-iam-awsmanpol.md)。您可以使用這些受管政策，而無需進行任何修改，也可以將其用作編寫您自己的限制性政策的起點。政策可以使用其他選用條件，限制不同動作的資源層級使用者許可。

如果您的應用程式資源位於不同的帳戶 （次要/資源帳戶），您必須在包含應用程式資源的每個帳戶中設定新角色。

**注意**  
如果您為工作負載資源定義 VPC 端點，請確定 VPC 端點政策提供存取資源 AWS Resilience Hub 的唯讀存取權。如需詳細資訊，請參閱[使用端點政策控制對 VPC 端點的存取](https://docs.aws.amazon.com//vpc/latest/privatelink/vpc-endpoints-access.html)。

**主題**
+ [使用 IAM 角色](security-iam-resilience-hub-using-iam-role.md)
+ [使用目前的 IAM 使用者許可](security-iam-resilience-hub-current-user-permissions.md)

# 使用 IAM 角色
<a name="security-iam-resilience-hub-using-iam-role"></a>

AWS Resilience Hub 將使用預先定義的現有 IAM 角色來存取主要帳戶或次要/資源帳戶中的資源。這是存取 資源的建議許可選項。

**主題**
+ [Invoker 角色](security-iam-resilience-hub-invoker-role.md)
+ [不同 AWS 帳戶中跨帳戶存取的角色 - 選用](security-iam-resilience-cross-account-roles.md)

# Invoker 角色
<a name="security-iam-resilience-hub-invoker-role"></a>

 AWS Resilience Hub 叫用者角色是擔任存取 AWS 服務和資源的 AWS Identity and Access Management AWS Resilience Hub (IAM) 角色。例如，您可以建立叫用者角色，該角色具有存取 CFN 範本及其建立的資源的許可。此頁面提供如何建立、檢視和管理應用程式呼叫者角色的相關資訊。

當您建立應用程式時，您會提供叫用者角色。 AWS Resilience Hub 當您匯入資源或開始評估時， 會擔任此角色來存取您的 資源。若要 AWS Resilience Hub 讓 正確擔任您的叫用者角色，角色的信任政策必須將 AWS Resilience Hub 服務委託人 (**resiliencehub.amazonaws.com**：//) 指定為信任的服務。

若要檢視應用程式的叫用者角色，請從導覽窗格中選擇**應用程式**，然後從**應用程式**頁面**的動作**選單中選擇**更新許可**。

您可以隨時從應用程式呼叫者角色新增或移除許可，或將應用程式設定為使用不同的角色來存取應用程式資源。

**主題**
+ [在 IAM 主控台中建立調用者角色](#security-iam-resilience-hub-create-invoker-role)
+ [使用 IAM API 管理角色](#security-iam-resilience-hub-manage-roles-with-IAM-API)
+ [使用 JSON 檔案定義信任政策](#security-iam-resilience-define-policy)

## 在 IAM 主控台中建立調用者角色
<a name="security-iam-resilience-hub-create-invoker-role"></a>

若要讓 AWS Resilience Hub 存取 AWS 服務和資源，您必須使用 IAM 主控台在主要帳戶中建立叫用者角色。如需使用 IAM 主控台建立角色的詳細資訊，請參閱[為 AWS 服務建立角色 （主控台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console)。

**使用 IAM 主控台在主要帳戶中建立調用者角色**

1. 在 `https://console.aws.amazon.com/iam/` 開啟 IAM 主控台。

1. 從導覽窗格中，選擇**角色**，然後選擇**建立角色**。

1. 選取**自訂信任政策**，在**自訂信任政策**視窗中複製下列政策，然後選擇**下一步**。
**注意**  
如果您的資源位於不同的帳戶中，則必須在每個帳戶中建立角色，並為其他帳戶使用次要帳戶信任政策。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "resiliencehub.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. 在**新增許可**頁面的**許可政策**區段`AWSResilienceHubAsssessmentExecutionPolicy`中，**輸入依屬性或政策名稱篩選政策，然後按 Enter** 鍵。

1. 選取政策，然後選擇**下一步**。

1. 在**角色詳細資訊**區段中，在角色名稱方塊中輸入唯一的**角色名稱** （例如 `AWSResilienceHubAssessmentRole`)。

   此欄位只接受英數字元和「`+=,.@-_/`」字元。

1. （選用） 在描述方塊中輸入角色的**描述**。

1. 選擇**建立角色**。

   若要編輯使用案例和許可，請在步驟 6 中，選擇**步驟 1：選取信任的實體**或**步驟 2：新增許可**區段右側的**編輯**按鈕。

建立叫用者角色和資源角色 （如果適用） 之後，您可以將應用程式設定為使用這些角色。

**注意**  
在建立或更新應用程式時，您必須在目前的 IAM 使用者/角色中擁有呼叫者角色的`iam:passRole`許可。不過，您不需要此許可即可執行評估。

## 使用 IAM API 管理角色
<a name="security-iam-resilience-hub-manage-roles-with-IAM-API"></a>

角色的信任政策會提供指定主體擔任角色的許可。若要使用 AWS Command Line Interface (AWS CLI) 建立角色，請使用 `create-role`命令。使用此命令時，您可以內嵌指定信任政策。下列範例顯示如何授予 AWS Resilience Hub 服務主體擔任您的角色的許可。

**注意**  
JSON 字串中逸出引號 (`' '`) 的需求可能會根據您的 Shell 版本而有所不同。

**範例 `create-role`**

```
aws iam create-role --role-name AWSResilienceHubAssessmentRole --assume-role-policy-document '{
  "Version": "2012-10-17",		 	 	 "Statement": 
  [
    { 
      "Effect": "Allow",
      "Principal": {"Service": "resiliencehub.amazonaws.com"},
      "Action": "sts:AssumeRole"
    }
  ]
}'
```

## 使用 JSON 檔案定義信任政策
<a name="security-iam-resilience-define-policy"></a>

您可以使用單獨的 JSON 檔案來定義角色的信任政策，然後執行 `create-role`命令。在下列範例中， **`trust-policy.json`** 是在目前目錄中包含信任政策的檔案。此政策透過執行 **`create-role`**命令連接到角色。`create-role` 命令的輸出會顯示在**範例輸出**中。若要將許可新增至角色，請使用 **attach-policy-to-role** 命令，您可以從新增 `AWSResilienceHubAsssessmentExecutionPolicy`受管政策開始。如需此受管政策的詳細資訊，請參閱 [AWSResilienceHubAsssessmentExecutionPolicy](security-iam-awsmanpol.md#security_iam_aws-assessment-policy)。

**範例 `trust-policy.json`**

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Principal": {
            "Service": "resiliencehub.amazonaws.com"
        },
        "Action": "sts:AssumeRole"
    }]
}
```

------

**範例 `create-role`**

`aws iam create-role --role-name AWSResilienceHubAssessmentRole --assume-role-policy-document file://trust-policy.json`

**範例輸出**

**範例 `attach-policy-to-role`**

`aws iam attach-role-policy --role-name AWSResilienceHubAssessmentRole --policy-arn arn:aws:iam::aws:policy/AWSResilienceHubAsssessmentExecutionPolicy`

# 不同 AWS 帳戶中跨帳戶存取的角色 - 選用
<a name="security-iam-resilience-cross-account-roles"></a>

當您的資源位於次要/資源帳戶中時，您必須在這些帳戶中建立角色，讓 AWS Resilience Hub 能夠成功評估您的應用程式。角色建立程序類似於叫用者角色建立程序，但信任政策組態除外。

**注意**  
您必須在資源所在的次要帳戶中建立角色。

**主題**
+ [在次要/資源帳戶的 IAM 主控台中建立角色](#security-iam-resilience-cross-create-roles-infra-account)
+ [使用 IAM API 管理角色](#security-iam-resilience-cross-create-roles-infra-account-api)
+ [使用 JSON 檔案定義信任政策](#security-iam-resilience-cross-define-trust-policy-infra-account)

## 在次要/資源帳戶的 IAM 主控台中建立角色
<a name="security-iam-resilience-cross-create-roles-infra-account"></a>

若要讓 AWS Resilience Hub 存取其他 AWS 帳戶中 AWS 的服務和資源，您必須在這些帳戶中建立角色。

**使用 IAM 主控台在 IAM 主控台中為次要/資源帳戶建立角色**

1. 在 `https://console.aws.amazon.com/iam/` 開啟 IAM 主控台。

1. 從導覽窗格中，選擇**角色**，然後選擇**建立角色**。

1. 選取**自訂信任政策**，在**自訂信任政策**視窗中複製下列政策，然後選擇**下一步**。
**注意**  
如果您的資源位於不同的帳戶中，則必須在每個帳戶中建立角色，並為其他帳戶使用次要帳戶信任政策。

1. 在**新增許可**頁面的**許可政策**區段`AWSResilienceHubAsssessmentExecutionPolicy`中，**輸入依屬性或政策名稱篩選政策，然後按 Enter** 方塊。

1. 選取政策，然後選擇**下一步**。

1. 在**角色詳細資訊**區段中，在角色名稱方塊中輸入唯一的**角色名稱** （例如 `AWSResilienceHubAssessmentRole`)。

1. （選用） 在描述方塊中輸入角色的**描述**。

1. 選擇**建立角色**。

   若要編輯使用案例和許可，請在步驟 6 中，選擇**步驟 1：選取信任的實體**或**步驟 2：新增許可**區段右側的**編輯**按鈕。

此外，您也需要將 `sts:assumeRole`許可新增至叫用者角色，讓它能夠擔任次要帳戶中的角色。

針對您建立的每個次要角色，將下列政策新增至您的呼叫者角色：

```
{
    "Effect": "Allow",
    "Resource": [
      "arn:aws:iam::secondary_account_id_1:role/RoleInSecondaryAccount_1",
      "arn:aws:iam::secondary_account_id_2:role/RoleInSecondaryAccount_2",
      ...
      ],
      "Action": [
        "sts:AssumeRole"
      ]
}
```

### 使用 IAM API 管理角色
<a name="security-iam-resilience-cross-create-roles-infra-account-api"></a>

角色的信任政策會提供指定主體擔任角色的許可。若要使用 AWS Command Line Interface (AWS CLI) 建立角色，請使用 `create-role`命令。使用此命令時，您可以指定內嵌信任政策。下列範例顯示如何授予 AWS Resilience Hub 服務委託人擔任您角色的許可。

**注意**  
JSON 字串中逸出引號 (`' '`) 的需求可能會根據您的 Shell 版本而有所不同。

**範例 `create-role`**

```
aws iam create-role --role-name AWSResilienceHubAssessmentRole --assume-role-policy-document '{"Version": "2012-10-17",		 	 	 "Statement": [{"Effect": "Allow","Principal": {"AWS": ["arn:aws:iam::primary_account_id:role/InvokerRoleName"]},"Action": "sts:AssumeRole"}]}'
```

您也可使用單獨的 JSON 檔案來定義角色的信任政策。在下列範例中，`trust-policy.json` 為當前目錄中的檔案。

### 使用 JSON 檔案定義信任政策
<a name="security-iam-resilience-cross-define-trust-policy-infra-account"></a>

您可以使用單獨的 JSON 檔案來定義角色的信任政策，然後執行 `create-role`命令。在下列範例中， **`trust-policy.json`** 是在目前目錄中包含信任政策的檔案。此政策透過執行 **`create-role`**命令連接到角色。`create-role` 命令的輸出會顯示在**範例輸出**中。若要將許可新增至角色，請使用 **attach-policy-to-role** 命令，您可以從新增 `AWSResilienceHubAsssessmentExecutionPolicy`受管政策開始。如需此受管政策的詳細資訊，請參閱 [AWSResilienceHubAsssessmentExecutionPolicy](security-iam-awsmanpol.md#security_iam_aws-assessment-policy)。

**範例 `trust-policy.json`**

**範例 `create-role`**

```
aws iam create-role --role-name AWSResilienceHubAssessmentRole --assume-role-policy-document file://trust-policy.json
```

**範例輸出**

**範例 `attach-policy-to-role`**

`aws iam attach-role-policy --role-name AWSResilienceHubAssessmentRole --policy-arn arn:aws:iam::aws:policy/AWSResilienceHubAsssessmentExecutionPolicy`.

# 使用目前的 IAM 使用者許可
<a name="security-iam-resilience-hub-current-user-permissions"></a>

如果您想要使用目前的 IAM 使用者許可來建立和執行評估，請使用此方法。您可以將 `AWSResilienceHubAsssessmentExecutionPolicy`受管政策連接至您的 IAM 使用者或與使用者相關聯的角色。

## 單一帳戶設定
<a name="w2aac21c23c41c19b5"></a>

使用上述受管政策就足以對與 IAM 使用者在相同帳戶中受管的應用程式執行評估。

## 排定的評估設定
<a name="w2aac21c23c41c19b7"></a>

您必須建立新的角色`AwsResilienceHubPeriodicAssessmentRole`，讓 AWS Resilience Hub 執行排定的評估相關任務。

**注意**  
使用角色型存取 （具有上述叫用者角色） 時，不需要此步驟。
角色名稱必須是 `AwsResilienceHubPeriodicAssessmentRole`。

**若要讓 AWS Resilience Hub 執行排定的評估相關任務**

1. 將 `AWSResilienceHubAsssessmentExecutionPolicy` 受管政策連接至角色。

1. 新增下列政策，其中 `primary_account_id`是定義應用程式並將執行評估 AWS 的帳戶。此外，您必須為排程評估的角色新增相關聯的信任政策 (`AwsResilienceHubPeriodicAssessmentRole`)，以授予 AWS Resilience Hub 服務擔任排程評估角色的許可。

   **排程評估角色的信任政策 (`AwsResilienceHubPeriodicAssessmentRole`)**

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "resiliencehub.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

## 跨帳戶設定
<a name="w2aac21c23c41c19b9"></a>

如果您將 AWS Resilience Hub 與多個帳戶搭配使用，則需要下列 IAM 許可政策。根據您的使用案例，每個 AWS 帳戶可能需要不同的許可。設定 AWS Resilience Hub 進行跨帳戶存取時，會考慮下列帳戶和角色：
+ **主要帳戶** – AWS 您要在其中建立應用程式並執行評估的帳戶。
+ **次要/資源帳戶 (s)** – 資源所在的 AWS 帳戶 (s)。

**注意**  
使用角色型存取 （具有上述叫用者角色） 時，不需要此步驟。
如需設定許可以存取 Amazon Elastic Kubernetes Service 的詳細資訊，請參閱 [啟用對 Amazon Elastic Kubernetes Service 叢集的 AWS Resilience Hub 存取](enabling-eks-in-arh.md)。

### 主要帳戶設定
<a name="w2aac21c23c41c19b9b9"></a>

您必須在主要帳戶中建立新的角色`AwsResilienceHubAdminAccountRole`，並啟用 AWS Resilience Hub 存取以擔任該角色。此角色將用於存取 AWS 帳戶中包含 資源的另一個角色。它不應具有讀取資源的許可。

**注意**  
角色名稱必須是 `AwsResilienceHubAdminAccountRole`。
它必須在主要帳戶中建立。
您目前的 IAM 使用者/角色必須具有擔任此角色的`iam:assumeRole`許可。
將 取代`secondary_account_id_1/2/...`為相關的次要帳戶識別符。

下列政策為您的角色提供執行器許可，以存取 AWS 您帳戶中另一個角色中的資源：

管理員角色 (`AwsResilienceHubAdminAccountRole`) 的信任政策如下所示：

### 次要/資源帳戶 (s) 設定
<a name="w2aac21c23c41c19b9c11"></a>

在每個次要帳戶中，您必須建立新的 ，`AwsResilienceHubExecutorAccountRole`並啟用上述建立的管理員角色，才能擔任此角色。由於此角色將由 AWS Resilience Hub 用來掃描和評估您的應用程式資源，因此也需要適當的許可。

不過，您必須將 `AWSResilienceHubAsssessmentExecutionPolicy`受管政策連接到角色，並連接執行器角色政策。

執行器角色信任政策如下所示：