使用 CloudWatch 的服務連結角色 - Amazon CloudWatch

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

使用 CloudWatch 的服務連結角色

Amazon CloudWatch 使用 AWS Identity and Access Management (IAM) 服務連結角色。服務連結角色是直接連結到 CloudWatch的唯一 IAM 角色類型。服務連結角色由預先定義,CloudWatch 並包含服務代表您呼叫其他服 AWS 務所需的所有權限。

中的一個服務連結角色 CloudWatch 可設定可終止、停止或重新啟動 Amazon EC2 執行個體的 CloudWatch 警示,而不需要您手動新增必要的許可。另一個服務連結角色可讓監控帳戶從您指定的其他帳戶存取 CloudWatch資料,以建立跨帳戶跨區域儀表板。

CloudWatch 定義這些服務連結角色的權限,除非另有定義,否則只 CloudWatch 能擔任該角色。定義的許可包括信任政策和許可政策,並且該許可政策不能附加到任何其他 IAM 實體。

您必須先刪除角色的相關資源,才能刪除角色。這項限制可保護您的 CloudWatch 資源,因為您無法不小心移除存取資源的權限。

如需關於支援服務連結角色的其他服務的資訊,請參閱可搭配 IAM 運作的AWS 服務,並尋找 Service-Linked Role (服務連結角色) 欄顯示為 Yes (是) 的服務。選擇具有連結的,以檢視該服務的服務連結角色文件。

用於 CloudWatch 警示 EC2 動作的服務連結角色許可

CloudWatch 使用名為的服務連結角色 AWSServiceRoleForCloudWatchEvents— CloudWatch 使用此服務連結角色執行 Amazon EC2 警示動作。

服 AWSServiceRoleForCloudWatchEvents 務連結角色會信任 E CloudWatch vents 服務擔任該角色。CloudWatch 事件會在警示呼叫時叫用終止、停止或重新啟動執行個體動作。

AWSServiceRoleForCloudWatchEvents 服務連結角色許可政策允許 CloudWatch 事件在 Amazon EC2 執行個體上完成下列動作:

  • ec2:StopInstances

  • ec2:TerminateInstances

  • ec2:RecoverInstances

  • ec2:DescribeInstanceRecoveryAttribute

  • ec2:DescribeInstances

  • ec2:DescribeInstanceStatus

AWSServiceRoleForCloudWatchCrossAccount服務連結角色權限原則 CloudWatch 允許完成下列動作:

  • sts:AssumeRole

CloudWatch 應用程式訊號的服務連結角色權限

CloudWatch 應用程式信號使用名為的服務連結角色 AWSServiceRoleForCloudWatchApplicationSignals— CloudWatch 使用此服務連結角色來收集記 CloudWatch 錄資料、X-Ray 追蹤資料、 CloudWatch 指標資料,以及標記您已啟用應用程式訊號的應用 CloudWatch 程式中的資料。

AWSServiceRoleForCloudWatchApplicationSignals服務連結角色會信任 CloudWatch 應用程式信號擔任該角色。Application Signals 會從您的帳戶中收集日誌、追蹤、指標和標記資料。

AWSServiceRoleForCloudWatchApplicationSignals已附加 IAM 政策,並命名為此政策CloudWatchApplicationSignalsServiceRolePolicy。本政策授予 CloudWatch 應用程式信號從其他相關 AWS 服務收集監控和標記資料的權限。它包含允許 Application Signals 完成下列動作的許可:

  • xray:GetServiceGraph

  • logs:StartQuery

  • logs:GetQueryResults

  • cloudwatch:GetMetricData

  • cloudwatch:ListMetrics

  • tag:GetResources

的完整內容CloudWatchApplicationSignalsServiceRolePolicy如下:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "XRayPermission", "Effect": "Allow", "Action": [ "xray:GetServiceGraph" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "CWLogsPermission", "Effect": "Allow", "Action": [ "logs:StartQuery", "logs:GetQueryResults" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/appsignals/*:*", "arn:aws:logs:*:*:log-group:/aws/application-signals/data:*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "CWListMetricsPermission", "Effect": "Allow", "Action": [ "cloudwatch:ListMetrics" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "CWGetMetricDataPermission", "Effect": "Allow", "Action": [ "cloudwatch:GetMetricData" ], "Resource": [ "*" ] }, { "Sid": "TagsPermission", "Effect": "Allow", "Action": [ "tag:GetResources" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }

CloudWatch 警示 Systems Manager OpsCenter 動作的服務連結角色權限

CloudWatch 使用名為的服務連結角色 AWSServiceRoleForCloudWatchAlarms_ActionSSM— 當 CloudWatch 警示進入 ALARM 狀態時, CloudWatch會使用此服務連結角色執行 Systems Manager OpsCenter 動作。

服 AWSServiceRoleForCloudWatchAlarms_ActionSSM 務連結角色會信任CloudWatch 服務擔任該角色。 CloudWatch 警示會在警示呼叫時叫用「Systems Manager OpsCenter 」動作。

AWSServiceRoleForCloudWatchAlarms_ActionSSM服務連結角色權限原則可讓 Systems Manager 完成下列動作:

  • ssm:CreateOpsItem

CloudWatch 警示系統管理員事件管理員動作的服務連結角色權限

CloudWatch 使用名為的服務連結角色 AWSServiceRoleForCloudWatchAlarms_ActionSSMIncidents— 當 CloudWatch 警示進入 ALARM 狀態時, CloudWatch 會使用此服務連結角色啟動事件管理員事件。

AWSServiceRoleForCloudWatchAlarms_ActionSSMIncidents務連結角色會信任 CloudWatch 服務擔任該角色。 CloudWatch 警示會在警示呼叫時叫用「Systems Manager 管理員事件管理員」動作。

AWSServiceRoleForCloudWatchAlarms_ActionSSMIncidents服務連結角色權限原則可讓 Systems Manager 完成下列動作:

  • ssm-incidents:StartIncident

跨帳戶 CloudWatch 跨區域的服務連結角色權限

CloudWatch 使用名為的服務連結角色 AWSServiceRoleForCloudWatchCrossAccount— CloudWatch 使用此角色存取您指定之其他 AWS 帳戶中的 CloudWatch 資料。SLR 僅提供假定角色權限,以允許 CloudWatch 服務承擔共用帳戶中的角色。它是提供資料存取的共享角色。

AWSServiceRoleForCloudWatchCrossAccount服務連結角色權限原則 CloudWatch 允許完成下列動作:

  • sts:AssumeRole

AWSServiceRoleForCloudWatchCrossAccount務連結角色會信任 CloudWatch 服務擔任該角色。

CloudWatch 資料庫 Performance Insights 的服務連結角色權限

CloudWatch 使用名為AWSServiceRoleForCloudWatchMetrics_DbPerfInsights的服務連結角色。— CloudWatch 使用此角色擷取 Performance Insights 指標,以建立警示和快照。

AWSServiceRoleForCloudWatchMetrics_DbPerfInsights服務連結角色已附加 AWSServiceRoleForCloudWatchMetrics_DbPerfInsightsServiceRolePolicy IAM 政策。該政策的內容如下:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "pi:GetResourceMetrics" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }

AWSServiceRoleForCloudWatchMetrics_DbPerfInsights務連結角色會信任 CloudWatch 服務擔任該角色。

建立服務連結角色 CloudWatch

您不需要手動建立任何這些服務連結角色。當您第一次在 IAM CLI 或 IAM API 中 AWS Management Console建立警示時,CloudWatch 會 AWSServiceRoleForCloudWatchEvents AWSServiceRoleForCloudWatchAlarms_ActionSSM為您建立警示。

第一次啟用服務和拓撲探索時,應用程式信號會AWSServiceRoleForCloudWatchApplicationSignals為您建立。

當您第一次啟用帳戶成為跨帳戶跨區域功能的監控帳戶時, CloudWatch 會AWSServiceRoleForCloudWatchCrossAccount為您建立。

當您第一次建立使用DB_PERF_INSIGHTS公制數學函數的鬧鐘時, CloudWatch 會AWSServiceRoleForCloudWatchMetrics_DbPerfInsights為您建立。

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

編輯下列項目的服務連結角色 CloudWatch

CloudWatch 不允許您編輯AWSServiceRoleForCloudWatchEventsAWSServiceRoleForCloudWatchAlarms_ActionSSMAWSServiceRoleForCloudWatchCrossAccount、或AWSServiceRoleForCloudWatchMetrics_DbPerfInsights角色。在您建立這些角色之後,您便無法變更其名稱,因為各種實體可能會參考這些角色。然而,您可使用 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

刪除的服務連結角色 CloudWatch

如果您不再有會自動停止、終止或重新啟動 EC2 執行個體的警示,建議您刪除該 AWSServiceRoleForCloudWatchEvents角色。

如果您不再有執行 Systems Manager OpsCenter 動作的警示,建議您刪除 AWSServiceRoleForCloudWatchAlarms_ActionSSM 角色。

如果您刪除所有使用DB_PERF_INSIGHTS量度數學函數的警示,建議您刪除AWSServiceRoleForCloudWatchMetrics_DbPerfInsights服務連結的角色。

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

清除服務連結角色

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

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

  2. 在導覽窗格中,選擇角色。選擇 AWSServiceRoleForCloudWatchEvents 角色的名稱 (不是核取方塊)。

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

    注意

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

刪除服務連結角色 (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 AWS 服務連結角色的更新

檢視 CloudWatch 自此服務開始追蹤這些變更以來的 AWS 受管理策略更新詳細資料。如需有關此頁面變更的自動警示,請訂閱「 CloudWatch 文件歷史記錄」頁面上的 RSS 摘要。

變更 描述 日期

AWSServiceRoleForCloudWatchApplicationSignals-更新服務鏈接角色策略的權限

CloudWatch 將更多記錄群組新增至此角色所授logs:StartQuery與的logs:GetQueryResults權限範圍。

2024年4月24日

AWSServiceRoleForCloudWatchApplicationSignals— 新的服務連結角色

CloudWatch 新增這個新的服務連結角色,可讓 CloudWatch應用程式信號收集 CloudWatch 記錄資料、X-Ray 追蹤資料、CloudWatch 指標資料,以及標記您已針對應用程式啟用「應用程式訊號」的應用 CloudWatch 程式資料。

2023 年 11 月 9 日

AWSServiceRoleForCloudWatchMetrics_DbPerfInsights— 新的服務連結角色

CloudWatch 新增這個新的服務連結角色,以允許擷 CloudWatch 取 Performance Insights 指標,以進行警示和快照。IAM 政策已附加至此角色,而且該政策授予代表您擷 CloudWatch 取 Performance Insights 指標的權限。

2023 年 9 月 13 日

AWSServiceRoleForCloudWatchAlarms_ActionSSMIncidents— 新的服務連結角色

CloudWatch 新增服務連結角色,以允許 CloudWatch 在事 AWS Systems Manager 件管理員中建立事件。

2021 年 4 月 26 日

CloudWatch 開始追蹤變更

CloudWatch 開始追蹤其服務連結角色的變更。

2021 年 4 月 26 日