SCIM 프로비저닝 구성

SCIM 프로비저닝 구성 (Configure SCIM provisioning)

SCIM(System for Cross-domain Identity Management)은 자동화된 사용자 프로비저닝·관리를 가능하게 하는 오픈 표준이에요. SCIM으로 IdP(아이덴티티 프로바이더)에서 Grafana로 사용자·그룹 프로비저닝을 자동화할 수 있습니다.

출처: 문서

본문

SCIM(System for Cross-domain Identity Management) 은 자동화된 사용자 프로비저닝·관리를 가능하게 하는 오픈 표준입니다. SCIM으로 아이덴티티 프로바이더에서 Grafana로 사용자·그룹 프로비저닝을 자동화할 수 있어요.

참고: Grafana EnterpriseGrafana Cloud에서 사용할 수 있어요.

참고: SCIM 프로비저닝은 SAML 인증에서만 작동합니다. 다른 인증 방법은 지원되지 않아요.

이점 (Benefits)

  • 자동 사용자 프로비저닝: IdP에서 변경이 발생하면 Grafana에서 사용자를 자동으로 생성·업데이트·비활성화
  • 자동 팀 수명주기 관리: 새 그룹이 추가되면 팀 자동 생성, 팀 멤버십 업데이트, IdP에서 그룹이 제거되면 팀 삭제
  • 관리 오버헤드 감소: 수동 사용자 관리 작업 제거, 인간의 실수 위험 감소
  • 보안 강화: 사용자가 조직을 떠날 때 접근 자동 비활성화

인증·접근 요구사항 (Authentication and access requirements)

Grafana에서 SCIM을 활성화하면 다음 요구사항과 제한이 적용됩니다:

  • 사용자 프로비저닝과 인증 흐름에 같은 IdP 사용: 인증과 사용자 프로비저닝 모두에 동일한 IdP를 사용해야 해요.
  • 보안 제한: SAML 사용 시 로그인 인증 흐름은 IdP와 Grafana 간 SAML assertion 교환에 IdP에서 사용자의 고유 식별자를 가진 userUID SAML assertion이 포함되어야 합니다. Entra IDOkta에서 userUID SAML assertion을 구성하세요.
  • SAML 식별자를 SCIM externalId와 정렬: SCIM 프로비저닝과 함께 SAML을 사용할 때는 SCIM externalId를 SAML 사용자 식별자와 정렬하세요. 안정적인 IdP 속성(예: Entra ID user.objectid)을 SCIM externalId로 사용하고, 같은 값을 SAML claim으로 보냅니다. assertion_attribute_external_uid 설정으로 Grafana가 이 claim을 읽도록 구성해 SAML 인증이 SCIM으로 프로비저닝된 사용자와 그 권한에 연결되게 하세요. SAML 식별자와 SCIM externalId가 다르면 Grafana가 인증된 사용자를 의도한 SCIM 프로필에 연결하지 못해 잘못된 접근이 발생할 수 있어요. IdP가 안정적·고유한 식별자를 보내고 그것이 SCIM externalId와 일치하는지 확인하세요. 속성 구성 세부 정보는 IdP 문서와 Entra ID·Okta용 Grafana SCIM 통합 가이드를 참고하세요.

Grafana 사용자 인터페이스로 SCIM 구성 (Configure SCIM using the Grafana user interface)

Grafana UI로 SCIM을 구성하려면 Administration > Authentication > SCIM 으로 이동합니다. Grafana SCIM UI는 Grafana 설정 파일에서 SCIM을 구성하는 것보다 다음 이점이 있어요:

  • Grafana Cloud 사용자가 접근 가능
  • 구성 업데이트 후 Grafana 재시작 불필요
  • 인증 설정 권한(auth settings permission)을 사용하면 지나치게 허용적인 Admin 같은 역할에 의존하지 않고 Grafana의 접근 범위를 제한할 수 있음

참고: Grafana UI를 통해 변경한 구성은 Grafana 설정 파일이나 환경 변수에 지정된 설정보다 우선합니다. 즉 UI에서 일부 구성 설정을 수정하면 환경 변수나 설정 파일의 해당 설정을 덮어씁니다.

SCIM 설정 구성:

설정 필수 설명 기본
Enable Group Sync 아니요 SCIM 그룹 프로비저닝 활성화. 활성화하면 Grafana가 IdP의 SCIM 요청에 따라 팀을 생성·업데이트·삭제. Team Sync가 활성화된 경우 활성화 불가 false
Reject Non-Provisioned Users 아니요 활성화 시 SCIM으로 프로비저닝되지 않은 사용자의 로그인 방지. Cloud Portal 사용자는 이 설정과 무관하게 항상 로그인 가능 false
Enable User Sync SCIM 사용자 프로비저닝 활성화. 활성화하면 Grafana가 IdP의 SCIM 요청에 따라 사용자를 생성·업데이트·비활성화 false

SCIM UI는 스택 도메인, 스택 ID, 테넌트 URL을 포함해 IdP에서 SCIM을 구성하는 데 도움이 되는 정보도 표시합니다.

설정 파일로 SCIM 구성 (Configure SCIM using the configuration file)

아래 표는 모든 SCIM 구성 옵션을 설명합니다. 다른 Grafana 구성처럼 환경 변수로도 적용할 수 있어요.

설정 필수 설명 기본
user_sync_enabled SCIM 사용자 프로비저닝 활성화. 활성화 시 IdP SCIM 요청에 따라 사용자 생성·업데이트·비활성화 false
group_sync_enabled 아니요 SCIM 그룹 프로비저닝 활성화. 활성화 시 IdP SCIM 요청에 따라 팀 생성·업데이트·삭제. Team Sync 활성화 시 활성화 불가 false
reject_non_provisioned_users 아니요 활성화 시 비 SCIM 프로비저닝 사용자 로그인 방지. Cloud Portal 사용자는 항상 로그인 가능 false

경고 - Team Sync 호환성: SCIM 그룹 동기화(group_sync_enabled = true)와 Team Sync는 동시에 활성화할 수 없어요. SCIM 사용자 동기화(user_sync_enabled = true)는 Team Sync와 함께 사용할 수 있습니다. 마이그레이션·호환성에 대한 자세한 내용은 SCIM vs Team Sync 문서를 참고하세요.

SCIM 구성 예시:

[auth.scim]
user_sync_enabled = true
group_sync_enabled = false
reject_non_provisioned_users = false

Terraform으로 SCIM 구성 (Configure SCIM using Terraform)

Grafana Terraform 프로바이더로 SCIM 프로비저닝을 구성할 수도 있어요. 이 접근은 infrastructure-as-code 배포와 자동 프로비저닝에 특히 유용합니다.

resource "grafana_scim_config" "scim_config" {
  user_sync_enabled            = true
  group_sync_enabled           = false
  reject_non_provisioned_users = false
}

Terraform grafana_scim_config 리소스는 수동 구성과 동일한 옵션을 지원합니다(user_sync_enabled, group_sync_enabled, reject_non_provisioned_users).

지원되는 아이덴티티 프로바이더 (Supported identity providers)

  • Entra ID
  • Okta

작동 방식 (How it works)

  1. IdP와 Grafana 양쪽에서 SCIM을 구성합니다.
  2. IdP가 Grafana SCIM API 엔드포인트로 SCIM 요청을 보냅니다.
  3. Grafana가 이 요청을 처리해 사용자·팀을 생성·업데이트·비활성화하고 팀 멤버십을 동기화합니다.

다른 동기화 방법과 비교 (Comparison with other sync methods)

동기화 방법 사용자 역할 자동화 주요 이점 제한사항 온프레미스 클라우드
SCIM ⚠️ Full 완전한 사용자·팀 수명주기 관리, 자동 팀 생성 SAML 인증 필요; 기본 역할에 Role Sync 사용
Team Sync ⚠️ Partial 기존 팀에 팀 멤버십 동기화 수동 팀 생성 필요; 팀 수명주기 관리 없음
Active LDAP Sync Full LDAP 사용자 배경 동기화 LDAP 환경으로 제한
Role Sync Full 기본 역할 할당 전체 자동화 기본 역할로만 제한
Org Mapping ⚠️ Full 조직별 기본 역할 할당 전체 자동화 기본 역할로만 제한; 온프레미스 전용 ⚠️

주요 이점:

  • 포괄적인 사용자·팀 자동화: 사용자·팀 프로비저닝 전체 자동화 제공. 역할 관리는 Role Sync로 별도 처리
  • 동적 팀 생성: IdP 그룹을 기반으로 팀 자동 생성
  • 거의 실시간 동기화: IdP 변경이 프로바이더 동기화 일정에 따라 반영
  • 엔터프라이즈 지원: 복잡한 사용자 관리 요구가 있는 대규모 조직용으로 설계

더 알아보기 (Learn more)