Grafana Alerting RBAC 구성

Grafana Alerting RBAC 구성 (Configure RBAC)

RBAC(Role-based access control)는 Grafana Enterprise와 Grafana Cloud에서 사용자가 Grafana 리소스를 보고 수정할 수 있도록 접근 권한을 부여·변경·철회하는 표준화된 방법을 제공해요. 이 문서는 Grafana Alerting의 역할 유형, 기본 역할별 권한, 리소스 유형별 세부 권한 액션을 설명합니다.

출처: 문서

본문

RBAC(Role-based access control) 는 Grafana Enterprise와 Grafana Cloud에서 사용자가 Grafana 리소스를 보고 수정할 수 있도록 접근 권한을 부여·변경·철회하는 표준화된 방법을 제공합니다. 사용자는 Grafana에 로그인할 수 있는 개인이며, 각 사용자는 권한을 포함하는 역할을 가집니다. 각 권한은 하나 이상의 액션과 스코프를 포함합니다.

참고: 여러 레거시 알림 권한 액션이 더 이상 사용되지 않으며(deprecated) 이제 Editor 또는 Viewer 역할에 부여되지 않습니다. 이 액션들에 의존하는 custom roles나 자동화를 사용한다면 Deprecated permissions을 참고해 권장 대체 항목을 확인하세요.

역할 유형 (Role types)

역할 설명
Basic roles Admin, Editor, Viewer, No basic role. 사용자에게 할당되며 기본 접근 레벨 제공
Fixed roles 특정 사용 사례를 위한 사전 정의된 권한 그룹. 기본 역할은 특정 fixed roles를 자동 포함
Custom roles 세분화된 접근 제어를 위해 특정 권한을 결합하는 사용자 정의 역할

기본 역할 권한 (Basic role permissions)

기능 Admin Editor Viewer
알림 규칙 보기
알림 규칙 생성·편집·삭제
침묵 보기
침묵 생성·편집·만료
연락처 포인트·템플릿 보기
연락처 포인트 생성·편집·삭제
알림 정책 보기
정책 생성·편집·삭제
mute timing 보기
timing interval 생성·편집·삭제
알림 강화(alert enrichments) 보기
강화 생성·편집·삭제
프로비저닝 API 접근
복호화된 시크릿으로 내보내기

참고: 알림 규칙에 대한 접근은 규칙이 포함된 폴더 읽기 권한과 규칙에 사용된 데이터 소스 쿼리 권한도 필요합니다.

권한 (Permissions)

Grafana Alerting은 리소스 유형별로 구성된 다음 권한을 가집니다.

알림 규칙 (Alert rules):

액션 적용 스코프 설명
alert.rules:create folders:*, folders:uid:* 폴더와 하위 폴더에 Grafana 알림 규칙 생성. 폴더를 포함하는 스코프의 folders:read와 사용자가 쿼리할 수 있는 데이터 소스 스코프의 datasources:query와 함께 결합
alert.rules:read folders:*, folders:uid:* 폴더·하위 폴더의 Grafana 알림 규칙 읽기. 폴더를 포함하는 스코프의 folders:read와 결합
alert.rules:write folders:*, folders:uid:* 폴더·하위 폴더의 Grafana 알림 규칙 업데이트. 폴더 포함 스코프의 folders:read와 결합. 쿼리 수정 허용 시 사용자가 쿼리할 데이터 소스 스코프에 datasources:query 추가
alert.rules:delete folders:*, folders:uid:* 폴더·하위 폴더의 Grafana 알림 규칙 삭제. 폴더 포함 스코프의 folders:read와 결합

외부 알림 규칙 (External alert rules):

액션 적용 스코프 설명
alert.rules.external:read datasources:*, datasources:uid:* 알림을 지원하는 데이터 소스(Prometheus, Mimir, Loki)의 알림 규칙 읽기
alert.rules.external:write datasources:*, datasources:uid:* 알림을 지원하는 데이터 소스(Mimir, Loki)의 알림 규칙 생성·업데이트·삭제

알림 인스턴스·침묵 (Alert instances and silences):

액션 적용 스코프 설명
alert.instances:read n/a 현재 조직의 알림·침묵 읽기
alert.instances:create n/a 현재 조직에 침묵 생성
alert.instances:write n/a 현재 조직의 침묵 업데이트·만료
alert.silences:read folders:*, folders:uid:* 폴더·하위 폴더의 모든 일반 침묵과 규칙별 침묵 읽기
alert.silences:create folders:*, folders:uid:* 폴더·하위 폴더에 규칙별 침묵 생성
alert.silences:write folders:*, folders:uid:* 폴더·하위 폴더의 규칙별 침묵 업데이트·만료

외부 알림 인스턴스 (External alert instances):

액션 적용 스코프 설명
alert.instances.external:read datasources:*, datasources:uid:* 알림을 지원하는 데이터 소스의 알림·침묵 읽기
alert.instances.external:write datasources:*, datasources:uid:* 알림을 지원하는 데이터 소스의 알림·침묵 관리

연락처 포인트 (Contact points):

액션 적용 스코프 설명
alert.notifications.receivers:list n/a 현재 조직의 연락처 포인트 목록
alert.notifications.receivers:read receivers:*, receivers:uid:* 연락처 포인트 읽기
alert.notifications.receivers.secrets:read receivers:*, receivers:uid:* 복호화된 시크릿으로 연락처 포인트 내보내기
alert.notifications.receivers:create n/a 새 연락처 포인트 생성. 생성자는 생성한 연락처 포인트에 전체 접근 자동 부여
alert.notifications.receivers:write receivers:*, receivers:uid:* 기존 연락처 포인트 업데이트
alert.notifications.receivers:delete receivers:*, receivers:uid:* 기존 연락처 포인트 업데이트·삭제
alert.notifications.receivers.test:create receivers:*, receivers:uid:*, receivers:uid:- 연락처 포인트 테스트·구성 검증. 새 통합 테스트 권한은 receivers:uid:- 스코프 사용
receivers.permissions:read receivers:*, receivers:uid:* 연락처 포인트 권한 읽기
receivers.permissions:write receivers:*, receivers:uid:* 연락처 포인트 권한 관리

시간 간격 (Time intervals):

액션 적용 스코프 설명
alert.notifications.time-intervals:read n/a mute time interval 읽기
alert.notifications.time-intervals:write n/a 새 mute time interval 생성 또는 기존 업데이트
alert.notifications.time-intervals:delete n/a 기존 time interval 삭제

템플릿 (Templates):

액션 적용 스코프 설명
alert.notifications.templates:read n/a 템플릿 읽기
alert.notifications.templates:write n/a 새 템플릿 생성 또는 기존 업데이트
alert.notifications.templates:delete n/a 기존 템플릿 삭제
alert.notifications.templates.test:write n/a 커스텀 페이로드로 템플릿 테스트(미리보기·페이로드 편집기 기능)

외부 알림 (External notifications):

액션 적용 스코프 설명
alert.notifications.external:read datasources:*, datasources:uid:* 알림을 지원하는 데이터 소스의 템플릿·연락처 포인트·알림 정책·mute timing 읽기
alert.notifications.external:write datasources:*, datasources:uid:* 알림을 지원하는 데이터 소스의 템플릿·연락처 포인트·알림 정책·mute timing 관리

프로비저닝 (Provisioning):

액션 적용 스코프 설명
alert.provisioning:read n/a 프로비저닝 API로 모든 Grafana 알림 규칙·알림 정책 등 읽기. 폴더·데이터 소스 권한 불필요
alert.provisioning.secrets:read n/a alert.provisioning:read와 동일 + 복호화된 시크릿으로 리소스 내보내기
alert.provisioning:write n/a 프로비저닝 API로 모든 Grafana 알림 규칙·알림 정책 등 업데이트. 폴더·데이터 소스 권한 불필요
alert.rules.provisioning:read n/a 프로비저닝 API로 Grafana 알림 규칙 읽기. alert.provisioning:read보다 구체적
alert.rules.provisioning:write n/a 프로비저닝 API로 Grafana 알림 규칙 생성·업데이트·삭제. alert.provisioning:write보다 구체적
alert.notifications.provisioning:read n/a 프로비저닝 API로 알림 리소스(연락처 포인트·알림 정책·템플릿·시간 간격) 읽기. alert.provisioning:read보다 구체적
alert.notifications.provisioning:write n/a 프로비저닝 API로 알림 리소스 생성·업데이트·삭제. alert.provisioning:write보다 구체적
alert.provisioning.provenance:write n/a 알림 리소스의 프로비저닝 상태 설정. 단독으로 사용 불가. 리소스 접근 권한 필요

알림 강화 (Alert enrichments): Grafana Cloud에서 관리.

액션 적용 스코프 설명
alert.enrichments:read n/a 현재 조직의 알림 강화 구성 읽기
alert.enrichments:write n/a 현재 조직의 알림 강화 구성 생성·업데이트·삭제

이 권한들은 개별 알림 규칙의 Alert enrichment 탭에 구성된 규칙별 강화에 적용됩니다. Alerting > Settings 에서 전역 강화를 관리하려면 Admin 기본 역할이 필요하며, alert.enrichments 권한이나 Enrichments fixed roles로는 부여되지 않습니다.

더 이상 사용되지 않는 권한 (Deprecated permissions)

다음 권한 액션은 더 이상 사용되지 않으며(deprecated) 하위 호환성을 위해 유지됩니다. 조직 Admins 에게만 부여되며, Editor·Viewer 기본 역할에는 부여되지 않아요. custom roles·자동화에는 아래 권장 대체를 사용하세요.

일반 알림(일반, deprecated): 광범위한 액션이 연락처 포인트·템플릿·시간 간격·알림 정책용 세분화된 리소스별 액션으로 대체됨.

액션 적용 스코프 대체
alert.notifications:read n/a alert.notifications.receivers:read, alert.notifications.templates:read, alert.notifications.time-intervals:read, notifications.alerting.grafana.app/routingtrees:get 사용
alert.notifications:write n/a alert.notifications.receivers:write, alert.notifications.templates:write, alert.notifications.time-intervals:write, notifications.alerting.grafana.app/routingtrees:update 사용

알림 정책(deprecated):

액션 적용 스코프 대체
alert.notifications.routes:read n/a notifications.alerting.grafana.app/routingtrees:get + 스코프 notifications.alerting.grafana.app/routingtrees:* 사용
alert.notifications.routes:write n/a notifications.alerting.grafana.app/routingtrees:update·delete + 적절한 리소스 스코프 사용

연락처 포인트 테스트(deprecated):

액션 적용 스코프 대체
alert.notifications.receivers:test n/a alert.notifications.receivers.test:create + 스코프 receivers:uid:- (새 통합) 또는 receivers:* (기존) 사용

더 알아보기 (Learn more)