CloudWatch의 교차 계정 대시보드 공유 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2022년 5월 5일

교차 계정 대시보드 공유를 사용하여 Amazon CloudWatch 대시보드를 다른 AWS 계정과 공유하고 싶습니다. 교차 계정 대시보드 공유를 사용할 때 발생하는 오류를 해결하려면 어떻게 해야 합니까?

간략한 설명

교차 계정 또는 교차 리전 대시보드를 생성하여 CloudWatch 데이터를 여러 AWS 계정 및 여러 AWS 리전과 공유할 수 있습니다. 계정 또는 조직 ID를 사용하여 한 계정에서 만든 대시보드를 다른 계정과 공유할 때 여러 가지 이유로 문제가 발생할 수 있습니다. 다음 문제 중 하나가 발생할 수 있습니다.

  • 모니터링 계정 사용자가 대시보드를 보기 위해 공유 계정에서 계정 ID를 보거나 선택할 수 없습니다.
  • 공유 계정의 권한 문제로 인해 대시보드에 액세스할 때 모니터링 사용자에게 다음과 유사한 오류가 발생합니다.
    • 경보를 검색하지 못하는 오류
    • 리소스 그룹을 검색할 수 없는 오류
    • 무단 사용자 오류

해결 방법

이 예에서는 한 계정이 계정 ID 또는 조직 ID를 사용하여 다른 계정과 대시보드를 공유하고 있습니다. 공유 계정의 ID는 111111111111입니다. 모니터링 계정의 계정 ID는 999999999999입니다.

모니터링에서 대시보드를 보기 위해 계정 ID를 보는 데 문제가 있는 경우

공유 중인 대시보드를 보고 선택하려면 모니터링 계정의 모든 AWS Identity and Access Management(IAM) 사용자에 대해 계정 선택기를 활성화해야 합니다. 계정 ID 선택기는 CloudWatch 설정에서 계정 선택기를 활성화한 IAM 사용자에게만 표시됩니다. CloudWatch에서 계정 선택기를 활성화하는 방법에 대한 자세한 내용은 CloudWatch에서 교차 계정 기능 활성화 단원을 참조하세요.

모니터링 계정에서 사용자 지정 대시보드에 액세스할 때 발생하는 오류

모니터링 계정에서 사용자 지정 대시보드에 액세스하려고 할 때 오류가 발생할 수 있습니다.

  • CloudWatch 콘솔에서 개요 페이지에 액세스하는 경우:

    “경보를 검색하지 못했습니다. CloudWatch:DescribeAlarms 작업을 수행할 권한이 없습니다. 도움이 필요하면 관리자에게 문의하십시오. 관리자인 경우 IAM 정책을 생성하여 사용자 또는 그룹에 권한을 제공할 수 있습니다.“

  • 공유 계정에서 교차 서비스 대시보드에 액세스하는 경우:

    “’리소스 그룹별 필터링’ 드롭다운에서 리소스 그룹을 선택할 수 없습니다. ‘리소스 그룹을 검색할 수 없습니다’라는 오류 메시지가 표시됩니다.”

  • 공유 계정에서 사용자 지정 대시보드를 여는 경우:

    “사용자: “arn:aws:sts::999999999999:assumed-role/AWSServiceRoleForCloudWatchCrossAccount/CloudWatchConsole에 리소스: arn:aws:iam::111111111111:role/CloudWatch-CrossAccountSharingRole의 sts:AssumeRole을 수행할 권한이 없습니다.”

    또는

    “사용자: arn:aws:sts::999999999999:assumed-role/CloudWatch-CrossAccountSharingRole/CloudWatchConsole에 리소스: arn:aws:cloudwatch::111111111111:dashboard/*의 cloudwatch:ListDashboards를 수행할 권한이 없습니다. 자격 증명 기반 정책에서 cloudwatch:ListDashboards 작업을 허용하지 않기 때문입니다.”

이러한 오류는 공유 계정에서 생성한 역할에 권한 문제가 있기 때문에 발생합니다. 공유 계정이 다음 기준을 준수하는지 확인합니다.

  • CloudWatch-CrossAccountSharingRole이 존재합니다.
  • CloudWatch에서 교차 계정 기능 활성화에 자세히 설명된 대로 공유 계정에는 올바른 신뢰 정책이 있습니다.
  • CloudWatch-CrossAccountSharing 역할에는 다음 정책이 연결되어 있습니다.
    • CloudWatchReadOnlyAccess
    • CloudWatchAutomaticDashboardsAccess - 대시보드 공유 중에 CloudWatch 자동 대시보드 포함 옵션을 선택 취소한 경우 이 정책이 누락됩니다.
    • AWSXRayReadOnlyAccess - 대시보드 공유 중에 ServiceLens에 대한 X-Ray 읽기 전용 액세스 포함 옵션을 선택 취소한 경우 이 정책이 누락됩니다.

특정 대시보드에 액세스하는 모니터링 계정의 사용자 제한

교차 계정 대시보드의 모든 대시보드를 나열하려면 ListDashboards API 호출을 사용합니다. 하지만 ListDashboards API는 리소스별 권한을 지원하지 않습니다. 그러나 GetDashboard API 호출은 리소스별 권한을 지원하므로 여러 계정에서 설명하거나 열 수 있는 대시보드를 제한할 수 있습니다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": "cloudwatch:GetDashboard",
      "Resource": "arn:aws:cloudwatch::111111111111:dashboard/dashboard-name"
    },
    {
      "Sid": "VisualEditor1",
      "Effect": "Allow",
      "Action": [
        "autoscaling:Describe*",
        "cloudwatch:Describe*",
        "cloudwatch:GetMetricData",
        "cloudwatch:GetMetricStatistics",
        "cloudwatch:GetInsightRuleReport",
        "cloudwatch:GetMetricWidgetImage",
        "cloudwatch:ListMetrics",
        "cloudwatch:ListTagsForResource",
        "cloudwatch:ListDashboards",
        "logs:Get*",
        "logs:List*",
        "logs:StartQuery",
        "logs:StopQuery",
        "logs:Describe*",
        "logs:TestMetricFilter",
        "logs:FilterLogEvents",
        "sns:Get*",
        "sns:List*"
      ],
      "Resource": "*"
    }
  ]
}

이 명령을 실행한 후 모든 대시보드를 나열할 수 있습니다. 하지만 이 정책에 언급되지 않은 대시보드를 열려고 하면 다음과 같은 오류가 표시됩니다.

User: arn:aws:sts::111111111111:assumed-role/CloudWatch-CrossAccountSharingRole/CloudWatchConsole is not authorized to perform: cloudwatch:GetDashboard on resource: arn:aws:cloudwatch::111111111111:dashboard/test

공유 계정에서 필요한 CloudWatch-CrossAccountSharingRole을 생성하기 위해 CloudFormationStack을 시작하는 데 문제가 있는 경우

교차 계정 대시보드 공유를 사용할 때는 다음 정책이 공유 계정의 IAM 역할과 연결되어 있는지 확인합니다.

  • AWSCloudFormationFullAccess
  • IAMFullAccess

이러한 권한을 통해 필요한 CloudFormationStack API를 시작하여 교차 계정 대시보드 공유에 필요한 IAM 역할을 생성할 수 있습니다.

Terraform/CloudFormation/AWS CLI를 사용하여 교차 계정 대시보드 공유 설정 생성

교차 계정 기능을 사용하도록 공유 계정을 설정하면 CloudWatch는 AWS CloudFormation 템플릿을 배포합니다. 이 CloudFormation 템플릿을 해당 Terraform 템플릿으로 변환합니다. 이렇게 하면 교차 계정 데이터 공유를 활성화할 수 있습니다.

모니터링 계정이 CloudWatch에서 교차 계정 데이터를 볼 수 있도록 허용하려면 콘솔을 사용하여 계정 선택기를 활성화합니다. 이는 사용자별 설정이며 계정 수준에서 관리되지 않습니다. 이 설정을 구성하는 방법에 대한 자세한 내용은 CloudWatch에서 교차 계정 기능 활성화 단원을 참조하세요.


이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?