2026-04-13 CloudWatch AWS SSO Cognito 모니터링

AWS SSO로 CloudWatch 대시보드 외부 공유하기

AWS 계정이 없는 고객사나 협업 파트너에게도 CloudWatch 대시보드를 안전하게 보여줄 수 있습니다. AWS SSO + Cognito + SAML을 활용한 읽기 전용 공유 방법을 단계별로 정리했습니다.

왜 이게 필요한가요?

"우리 서버 지금 괜찮아요?" — 고객사 담당자나 경영진이 모니터링 현황을 확인하고 싶을 때마다 스크린샷을 찍어 이메일로 보내고 계신가요? 그 수고를 한 번만 설정하면 없앨 수 있습니다.

CloudWatch 대시보드는 기본적으로 AWS 계정 소유자만 볼 수 있습니다. 하지만 AWS SSO(Single Sign-On)Amazon Cognito, SAML 연동을 조합하면 AWS 계정이 전혀 없는 외부 사용자에게도 읽기 전용 대시보드 링크를 제공할 수 있습니다.

전체 인증 흐름

AWS SSO CloudWatch 대시보드 공유 아키텍처

그림 1. 사용자 → AWS SSO → Cognito → CloudWatch 읽기 전용 접근 흐름

사용자 AWS SSO 포털 ① SAML 인증 Identity Provider ② 토큰 발급 Amazon Cognito ③ 읽기 전용 Role CloudWatch 대시보드
  1. 사용자가 SSO 포털에서 공유된 대시보드 앱을 클릭합니다.
  2. AWS SSO가 SAML로 Identity Provider(Cognito User Pool)에 인증을 위임합니다.
  3. Cognito가 읽기 전용 IAM 역할을 부여한 토큰을 반환합니다.
  4. 브라우저가 CloudWatch 대시보드로 리디렉션되고, 지표를 읽기 전용으로 조회합니다.
핵심: 외부 사용자는 AWS 계정이 전혀 필요하지 않습니다. SSO 포털의 이메일 로그인 하나로 충분합니다.
1

CloudWatch 대시보드 만들고 공유 시작하기

먼저 공유할 대시보드가 있어야겠죠. CloudWatch 콘솔에서 원하는 위젯(CPU, 메모리, 네트워크 등)을 추가한 대시보드를 만들어 두세요. 그 다음 우측 상단 Actions → Share dashboard를 클릭합니다.

CloudWatch Actions 메뉴에서 Share dashboard 선택

그림 2. Actions 메뉴 → Share dashboard

2

CloudWatch Settings에서 SSO 활성화

대시보드 공유를 처음 설정할 때는 CloudWatch Settings 페이지에서 Dashboard sharing 섹션을 먼저 활성화해야 합니다. 기본값은 비활성화(Email and password 또는 Public)이며, SSO를 선택하면 Cognito User Pool과 연결할 수 있습니다.

CloudWatch Settings - Dashboard Sharing 섹션

그림 3. CloudWatch Settings → Dashboard sharing

3

Cognito User Pool 생성

Amazon Cognito 콘솔에서 새 User Pool을 만듭니다. 이름은 CloudWatchDashboardSharing처럼 역할이 분명히 드러나는 이름을 권장합니다. 생성 후 Pool ID를 메모해 두세요 — 나중에 CloudWatch에 등록할 때 필요합니다.

Cognito User Pool CloudWatchDashboardSharing Pool Id

그림 4. Cognito User Pool 생성 후 Pool ID 확인

4

Cognito에 SAML Identity Provider 추가

User Pool의 Federation → Identity providers로 이동해 SAML을 선택합니다. AWS SSO가 Identity Provider 역할을 하므로, SSO 콘솔에서 제공하는 SAML 메타데이터 URL을 입력합니다. Provider 이름은 SharedCloudWatchDashboard로 지정합니다.

Cognito User Pool 외부 Identity Provider 선택 화면

그림 5. Cognito User Pool → Federation → SAML 선택

SAML 설정 - 메타데이터 URL 및 Provider 이름 입력

그림 6. SAML 메타데이터 URL 및 Provider 이름 입력

SAML 공급자를 추가한 뒤 Attribute mapping 탭에서 SAML의 email 속성을 Cognito User Pool의 Email 속성에 매핑합니다.

SAML 속성 매핑 - email to Email

그림 7. SAML 속성 매핑 (email → Email)

5

Cognito App Client 및 도메인 설정

User Pool의 App clients에서 새 앱 클라이언트를 추가합니다. 토큰 만료 시간은 운영 환경에 맞게 조정하고, Auth Flows에서 Generate client secret을 활성화합니다.

Cognito App Client 설정 - 토큰 만료 및 Auth Flows

그림 8. App Client 설정 (토큰 만료, client secret 생성)

OAuth 2.0 설정에서는 Authorization code grant 플로우를 선택하고, 스코프는 email, openid, aws.cognito.signin.user.admin을 활성화합니다.

OAuth 2.0 플로우 및 스코프 설정

그림 9. OAuth 2.0 - Authorization code grant + 필요 스코프 선택

마지막으로 App integration → Domain name에서 Cognito 호스팅 UI 도메인을 설정합니다. cw-db-[고유값].auth.us-east-1.amazoncognito.com 형식으로 자동 생성됩니다.

Cognito Domain Name 설정 결과

그림 10. Cognito 도메인 이름 확인

6

AWS SSO에서 커스텀 SAML 애플리케이션 추가

AWS SSO 콘솔의 Applications로 이동해 Add a new application을 클릭합니다. 사전 정의된 앱 목록이 나오지만, 우리는 Add a custom SAML 2.0 application을 선택합니다.

AWS SSO Applications 목록

그림 11. AWS SSO Applications 목록

Add New Application - custom SAML 2.0 선택

그림 12. 커스텀 SAML 2.0 애플리케이션 추가

애플리케이션 이름을 입력한 뒤 Application metadata 섹션에서 Cognito의 ACS URLSAML Audience(Application SAML audience)를 입력합니다. 이 값은 Cognito User Pool → App integration에서 확인할 수 있습니다.

AWS SSO Application metadata - ACS URL 및 SAML audience 입력

그림 13. AWS SSO Application ACS URL 및 SAML Audience 입력

저장 후 Attribute mappings 탭에서 SubjectemailAddress 형식으로 매핑을 추가합니다. SSO에서 넘기는 이메일 정보가 Cognito로 정확히 전달되어야 로그인이 성립됩니다.

AWS SSO Attribute mappings - Subject to emailAddress

그림 14. AWS SSO 속성 매핑 (Subject → emailAddress)

7

Cognito에 SSO SAML 메타데이터 URL 등록 (교차 연결)

이제 역방향 연결을 완성할 차례입니다. 방금 만든 AWS SSO 애플리케이션의 SAML metadata file 링크를 복사해, 앞서 만든 Cognito SAML Identity Provider의 메타데이터 URL 칸에 붙여넣기 합니다.

AWS SSO 앱에서 SAML metadata URL 확인

그림 15. AWS SSO 앱 → SAML metadata URL 복사

주의: SSO ↔ Cognito 간 메타데이터 교환은 양방향입니다. 한쪽만 등록하면 인증 루프가 발생하거나 오류가 납니다. 양쪽 모두 확인하세요.
8

CloudWatch Dashboard Sharing에 SSO Provider 등록

CloudWatch 콘솔 → Settings → Dashboard sharing → SSO provider로 돌아옵니다. Manage SSO providers를 클릭하면 드롭다운에 방금 만든 Cognito User Pool이 나타납니다. 선택 후 저장하면 설정이 완료됩니다.

CloudWatch Dashboard Sharing - SSO Provider 선택

그림 16. CloudWatch Dashboard Sharing에 SSO Provider 등록

SSO Provider 드롭다운 - Cognito User Pool 선택

그림 17. Cognito User Pool을 SSO Provider로 선택

중요: SSO Provider를 활성화하면 이 계정의 모든 대시보드가 SSO 등록 사용자에게 공유됩니다. 공유 범위를 최소화하려면 별도 AWS 계정을 분리하거나 대시보드를 신중하게 구성하세요.
9

사용자 관점: SSO 포털에서 대시보드 접근

모든 설정이 완료되면 SSO 포털에 로그인한 사용자는 앱 목록에서 "My First Shared CloudWatch Dashboard" 아이콘을 볼 수 있습니다. 클릭 한 번으로 CloudWatch 대시보드가 읽기 전용으로 열립니다 — AWS 콘솔 접근 없이요!

AWS SSO 포털에서 공유된 CloudWatch 대시보드 앱 확인

그림 18. SSO 포털에 등록된 CloudWatch 대시보드 앱

전체 설정 요약

  1. CloudWatch에서 공유할 대시보드 생성 → Actions → Share dashboard
  2. CloudWatch Settings → Dashboard sharing → SSO 활성화
  3. Cognito User Pool 생성 (CloudWatchDashboardSharing)
  4. Cognito에 SAML Identity Provider 추가 (AWS SSO 메타데이터 URL 입력)
  5. Cognito App Client 생성 + OAuth 2.0 (Authorization code grant) + 도메인 설정
  6. AWS SSO에서 커스텀 SAML 2.0 앱 추가 → ACS URL + Audience 입력 → 속성 매핑
  7. AWS SSO 앱의 SAML 메타데이터 URL을 Cognito SAML Provider에 등록 (교차 연결)
  8. CloudWatch Dashboard Sharing에 Cognito User Pool을 SSO Provider로 등록
  9. AWS SSO에서 대상 사용자에게 앱 할당
마무리 팁: 설정이 복잡해 보이지만 핵심 원리는 단순합니다 — "AWS SSO가 SAML로 Cognito를 신뢰하고, Cognito가 읽기 전용 역할을 CloudWatch에 전달한다." 한 번만 구성해 두면 이후 사용자 추가·제거는 SSO 콘솔에서 클릭 몇 번으로 끝납니다. 고객사 임원, 협력사 담당자, 외부 감사 팀에게 스크린샷 대신 실시간 대시보드 링크를 건네보세요.
← 블로그 목록으로