對 CloudWatch RUM 使用服務連結角色 - Amazon CloudWatch

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

對 CloudWatch RUM 使用服務連結角色

CloudWatch RUM 使用 AWS Identity and Access Management (IAM) 服務連結角色。服務連結角色是直接連結至 RUM 的一種特殊 IAM 角色類型。服務連結角色是由 RUM 預先定義,並包含該服務代表您呼叫其他 AWS 服務所需的所有許可。

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

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

如需有關支援服務連結角色的其他 服務的資訊,請參閱AWS 使用 IAM 的服務,並在服務連結角色欄中尋找具有的服務。選擇具有連結的,以檢視該服務的服務連結角色文件。

RUM 的服務連結角色許可:

RUM 使用名為 AWSServiceRoleForCloudWatchRUM 的服務連結角色 – 此角色允許 RUM 針對您啟用 X-Ray 追蹤的應用程式監視器,將 AWS 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 建立服務連結角色

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

如需詳細資訊,請參閱 IAM 使用者指南中的建立服務連結角色

為 RUM 編輯服務連結角色

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

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

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

編輯服務連結角色的說明 (主控台)
  1. 在 IAM 主控台的導覽窗格中,選擇 Roles (角色)。

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

  3. Role description (角色說明) 的最右邊,選擇 Edit (編輯)。

  4. 在方塊中鍵入新的說明,然後選擇 Save (儲存)

編輯服務連結角色描述 (AWS CLI)

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

變更服務連結角色的說明 (AWS CLI)
  1. (選用) 若要檢視角色的目前說明,請使用下列命令:

    $ aws iam get-role --role-name role-name

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

  2. 若要更新服務連結角色的說明,請使用下列命令:

    $ aws iam update-role-description --role-name role-name --description description

編輯服務連結角色說明 (IAM API)

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

變更服務連結角色的說明 (API)
  1. (選用) 若要檢視角色的目前說明,請使用下列命令:

    GetRole

  2. 若要更新角色的說明,請使用下列命令:

    UpdateRoleDescription

為 RUM 刪除服務連結角色

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

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

清除服務連結角色

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

檢查服務連結角色是否於 IAM 主控台有作用中的工作階段
  1. 在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/

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

  3. Summary (摘要) 頁面上,針對所選角色選擇 Access Advisor (存取 Advisor),然後檢閱服務連結角色的近期活動。

    注意

    如果您不確定 RUM 是否正在使用 AWSServiceRoleForCloudWatchRUM 角色,則可嘗試刪除該角色。如果服務正在使用該角色,則刪除會失敗,而您可以檢視正在使用該角色的 區域。如果服務正在使用該角色,您必須先等到工作階段結束,才能刪除該角色。您無法撤銷服務連結角色的工作階段。

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

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

刪除服務連結角色 (主控台)
  1. 在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/

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

  3. 對於 Role actions (角色動作),選擇 Delete role (刪除角色)

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

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

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

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

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

    $ aws iam delete-service-linked-role --role-name service-linked-role-name
  2. 鍵入下列命令,以檢查刪除任務的狀態:

    $ aws iam get-service-linked-role-deletion-status --deletion-task-id deletion-task-id

    刪除任務的狀態可以是 NOT_STARTEDIN_PROGRESSSUCCEEDEDFAILED。如果刪除失敗,則呼叫會傳回失敗原因,以進行疑難排解。

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

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

刪除服務連結角色 (API)
  1. 若要提交服務連結角色的刪除請求,請呼叫 DeleteServiceLinkedRole。在要求中,指定您要刪除的角色名稱。

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

  2. 若要檢查刪除的狀態,請呼叫 GetServiceLinkedRoleDeletionStatus。在請求中,指定 DeletionTaskId

    刪除任務的狀態可以是 NOT_STARTEDIN_PROGRESSSUCCEEDEDFAILED。如果刪除失敗,則呼叫會傳回失敗原因,以進行疑難排解。

CloudWatch RUM 服務連結角色支援的區域

CloudWatch RUM 支援在所有提供服務的 AWS 區域中使用服務連結角色。如需詳細資訊,請參閱 CloudWatch RUM 服務端點