

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

# 對 CloudWatch RUM 使用服務連結角色
<a name="using-service-linked-roles-RUM"></a>

CloudWatch RUM 使用 AWS Identity and Access Management (IAM)[ 服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服務連結角色是直接連結至 RUM 的一種特殊 IAM 角色類型。服務連結角色由 RUM 預先定義，並包含該服務代表您呼叫其他 AWS 服務所需的所有許可。

RUM 會定義此服務連結角色的許可，除非另外定義，否則只有 RUM 才能擔任此角色。定義的許可包括信任政策和許可政策，且該許可政策無法附加至其他 IAM 實體。

您必須先刪除與角色相關的資源，才能刪除角色。此限制可保護您的 RUM 資源，避免您不小心移除資源的存取許可。

如需有關支援服務連結角色的其他 服務的資訊，請參閱[AWS 使用 IAM 的服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)，並在**服務連結角色**欄中尋找具有**是**的服務。選擇具有連結的**是**，以檢視該服務的服務連結角色文件。

## RUM 的服務連結角色許可：
<a name="service-linked-role-permissions-RUM"></a>

RUM 使用名為 **AWSServiceRoleForCloudWatchRUM** 的服務連結角色 – 此角色允許 RUM 將 AWS X-Ray 追蹤資料傳送到您的帳戶，適用於您啟用 X-Ray 追蹤的應用程式監視器。

**AWSServiceRoleForCloudWatchRUM** 服務連結角色信任擔任該角色的 X-Ray 服務。X-Ray 會將追蹤資料傳送到您的帳戶。

**AWSServiceRoleForCloudWatchRUM** 服務連結角色已連接名為 **AmazonCloudWatchRUMServiceRolePolicy** 的 IAM 政策。此政策授予 CloudWatch RUM 將監控資料發佈至其他相關 AWS 服務的許可。它包含允許 RUM 完成下列動作的許可：
+ `xray:PutTraceSegments`
+ `cloudwatch:PutMetricData`

**AmazonCloudWatchRUMServiceRolePolicy** 的完整內容如下所示。

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

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"xray:PutTraceSegments"
			],
			"Resource": [
				"*"
			]
		},
		{
			"Effect": "Allow",
			"Action": "cloudwatch:PutMetricData",
			"Resource": "*",
			"Condition": {
				"StringLike": {
					"cloudwatch:namespace": [
						"RUM/CustomMetrics/*",
						"AWS/RUM"
					]
				}
			}
		}
	]
}
```

------

## 為 RUM 建立服務連結角色
<a name="create-service-linked-role-RUM"></a>

您不需要為 CloudWatch RUM 手動建立服務連結角色。當您第一次建立啟用 X-Ray 追蹤的應用程式監控，或更新應用程式監控以使用 X-Ray 追蹤時，RUM 會為您建立 **AWSServiceRoleForCloudWatchRUM**。

如需詳細資訊，請參閱 *IAM 使用者指南*中的[建立服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)。

## 為 RUM 編輯服務連結角色
<a name="edit-service-linked-role-RUM"></a>

CloudWatch RUM 不允許您編輯 **AWSServiceRoleForCloudWatchRUM** 角色。在您建立這些角色之後，您便無法變更其名稱，因為各種實體可能會參考這些角色。然而，您可使用 IAM 來編輯這些角色描述。

### 編輯服務連結角色說明 (IAM 主控台)
<a name="edit-service-linked-role-iam-console-RUM"></a>

您可以使用 IAM 主控台來編輯服務連結角色的說明。

**編輯服務連結角色的說明 (主控台)**

1. 在 IAM 主控台的導覽窗格中，選擇 **Roles** (角色)。

1. 選擇要修改之角色的名稱。

1. 在 **Role description** (角色說明) 的最右邊，選擇 **Edit** (編輯)。

1. 在方塊中鍵入新的說明，然後選擇 **Save (儲存)**。

### 編輯服務連結角色描述 (AWS CLI)
<a name="edit-service-linked-role-iam-cli-RUM"></a>

您可以使用 的 IAM 命令 AWS Command Line Interface 來編輯服務連結角色的描述。

**變更服務連結角色的說明 (AWS CLI)**

1. (選用) 若要檢視角色的目前說明，請使用下列命令：

   ```
   $ aws iam [get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html) --role-name role-name
   ```

   透過 AWS CLI 命令，使用角色名稱 (而非 ARN) 來參照角色。例如，如果角色具有下列 ARN：`arn:aws:iam::123456789012:role/myrole`，請將角色參照為 **myrole**。

1. 若要更新服務連結角色的說明，請使用下列命令：

   ```
   $ aws iam [update-role-description](https://docs.aws.amazon.com/cli/latest/reference/iam/update-role-description.html) --role-name role-name --description description
   ```

### 編輯服務連結角色說明 (IAM API)
<a name="edit-service-linked-role-iam-api-RUM"></a>

您可以使用 IAM API 來編輯服務連結角色的說明。

**變更服務連結角色的說明 (API)**

1. (選用) 若要檢視角色的目前說明，請使用下列命令：

   [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html) 

1. 若要更新角色的說明，請使用下列命令：

   [UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html)

## 為 RUM 刪除服務連結角色
<a name="delete-service-linked-role-RUM"></a>

如果不再擁有已啟用 X-Ray 的應用程式監控，建議您刪除 **AWSServiceRoleForCloudWatchRUM** 角色。

如此一來，您就沒有未主動監控或維護的未使用實體。然而，務必清除您的服務連結角色，之後才能將其刪除。

### 清除服務連結角色
<a name="service-linked-role-review-before-delete"></a>

您必須先確認服務連結角色沒有作用中的工作階段，並移除該角色使用的資源，之後才能使用 IAM 將其刪除。

**檢查服務連結角色是否於 IAM 主控台有作用中的工作階段**

1. 在以下網址開啟 IAM 主控台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在導覽窗格中，選擇**角色**。選擇 **AWSServiceRoleForCloudWatchRUM** 角色的名稱 (而非核取方塊)。

1. 在 **Summary (摘要)** 頁面上，針對所選角色選擇 **Access Advisor (存取 Advisor)**，然後檢閱服務連結角色的近期活動。
**注意**  
如果您不確定 RUM 是否正在使用 **AWSServiceRoleForCloudWatchRUM** 角色，則可嘗試刪除該角色。如果服務正在使用該角色，則刪除會失敗，而您可以檢視正在使用該角色的 區域。如果服務正在使用該角色，您必須先等到工作階段結束，才能刪除該角色。您無法撤銷服務連結角色的工作階段。

### 刪除服務連結角色 (IAM 主控台)
<a name="delete-service-linked-role-iam-console-RUM"></a>

您可以使用 IAM 主控台刪除服務連結角色。

**刪除服務連結角色 (主控台)**

1. 在以下網址開啟 IAM 主控台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在導覽窗格中，選擇**角色**。選擇您要刪除的角色名稱旁的核取方塊，而非名稱或資料列本身。

1. 對於 **Role actions (角色動作)**，選擇 **Delete role (刪除角色)**。

1. 在確認對話方塊中，檢閱服務上次存取資料，以顯示每個所選取角色上次存取 AWS 服務的時間。這可協助您確認角色目前是否作用中。若要繼續，請選擇 **Yes, Delete (是，刪除)**。

1. 查看 IAM 主控台通知，監視服務連結角色刪除的進度。因為 IAM 服務連結角色刪除不同步，所以在您提交角色進行刪除之後，刪除任務可能會成功或失敗。如果任務失敗，從通知中選擇 **View details (檢視詳細資訊)** 或 **View Resources (檢視資源)**，以了解刪除失敗原因。如果刪除因角色使用服務中資源而失敗，則失敗原因會包含資源清單。

### 刪除服務連結角色 (AWS CLI)
<a name="delete-service-linked-role-iam-cli-RUM"></a>

您可以從 使用 IAM 命令 AWS Command Line Interface 來刪除服務連結角色。

**刪除服務連結角色 (AWS CLI)**

1. 因為無法刪除正在使用或具有相關聯資源的服務連結角色，所以您必須提交刪除要求。如果不符合這些條件，則可以拒絕該請求。您必須從回應中擷取 `deletion-task-id`，以檢查刪除任務的狀態。鍵入下列命令，以提交服務連結角色刪除要求：

   ```
   $ aws iam [delete-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-service-linked-role.html) --role-name service-linked-role-name
   ```

1. 鍵入下列命令，以檢查刪除任務的狀態：

   ```
   $ aws iam [get-service-linked-role-deletion-status](https://docs.aws.amazon.com/cli/latest/reference/iam/get-service-linked-role-deletion-status.html) --deletion-task-id deletion-task-id
   ```

   刪除任務的狀態可以是 `NOT_STARTED`、`IN_PROGRESS`、`SUCCEEDED` 或 `FAILED`。如果刪除失敗，則呼叫會傳回失敗原因，以進行疑難排解。

### 刪除服務連結角色 (IAM API)
<a name="delete-service-linked-role-iam-api-RUM"></a>

您可以使用 IAM API 刪除服務連結角色。

**刪除服務連結角色 (API)**

1. 若要提交服務連結角色的刪除請求，請呼叫 [DeleteServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html)。在要求中，指定您要刪除的角色名稱。

   因為無法刪除正在使用或具有相關聯資源的服務連結角色，所以您必須提交刪除要求。如果不符合這些條件，則可以拒絕該請求。您必須從回應中擷取 `DeletionTaskId`，以檢查刪除任務的狀態。

1. 若要檢查刪除的狀態，請呼叫 [GetServiceLinkedRoleDeletionStatus](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLinkedRoleDeletionStatus.html)。在請求中，指定 `DeletionTaskId`。

   刪除任務的狀態可以是 `NOT_STARTED`、`IN_PROGRESS`、`SUCCEEDED` 或 `FAILED`。如果刪除失敗，則呼叫會傳回失敗原因，以進行疑難排解。

## CloudWatch RUM 服務連結角色支援的區域
<a name="RUM-SLR-Regions"></a>

CloudWatch RUM 支援在所有提供服務的 AWS 區域中使用服務連結角色。如需詳細資訊，請參閱 [CloudWatch RUM 服務端點](https://docs.aws.amazon.com/general/latest/gr/cw_rum_region.html)。