Silence 접근 구성하기
Silence 접근 구성하기 (Configure silence access)
이 문서는 Grafana Alerting이 silence(침묵·알림 억제)에 대한 접근을 어떻게 제어하는지, 그리고 팀별로 어떻게 구성하는지 설명해요. 일부 사용자에게는 전체 silence 관리를 주고, 다른 사용자는 자신의 규칙만 silence할 수 있게 제한하고 싶을 때 유용해요. 일반 silence와 규칙별 silence 두 종류와 그 권한 체계를 알려드릴게요.
출처: 문서
본문
시작 전에 Grafana 조직에 대한 Admin 접근 권한과 Grafana RBAC/fixed roles에 대한 이해가 필요해요.
Silence 유형
Grafana Alerting에는 두 가지 silence가 있습니다.
- 일반 silence (General silences) — 특정 알림 규칙에 연결되지 않음. 조직의 어떤 규칙의 알림과도 매칭 가능. 조직 범위(org-scoped) silence 권한이 있는 사용자만 만들 수 있어요.
- 규칙별 silence (Rule-specific silences) — UID로 단일 알림 규칙에 연결. 규칙이 들어 있는 폴더로 접근이 제어돼요.
알림 목록에서 실행 중 알림을 직접 silence하면 Grafana가 __alert_rule_uid__=<rule UID> 라벨 매처를 추가해 규칙별 silence를 자동으로 만들어요. 이 매처를 포함해 수동으로도 만들 수 있습니다.
Silence 권한
Grafana는 silence에 대해 두 개의 독립적인 권한 집합이 있어요.
조직 범위(Org-scoped) 권한
전체 조직에 적용되며 두 silence 유형을 모두 다룹니다.
| 액션 | 설명 |
|---|---|
alert.instances:read |
모든 silence(일반·규칙별) 읽기 |
alert.instances:create |
일반 silence를 포함한 어떤 silence든 생성 |
alert.instances:write |
어떤 silence든 업데이트·만료 |
내장 Editor 역할은 fixed:alerting.instances:writer fixed role로 세 가지를 모두 포함해요.
폴더 범위(Folder-scoped) 권한
특정 폴더로 범위가 한정됩니다. 이 권한만 가진 사용자는 허용된 폴더의 규칙에 대한 규칙별 silence를 관리할 수 있지만 일반 silence는 만들 수 없어요.
| 액션 | 설명 |
|---|---|
alert.silences:read |
폴더 규칙의 규칙별 silence + 조직 전체의 모든 일반 silence 읽기 |
alert.silences:create |
폴더 규칙에 대한 규칙별 silence 생성 |
alert.silences:write |
폴더 규칙에 대한 규칙별 silence 업데이트·만료 |
참고:
alert.silences:read는 폴더 범위와 무관하게 항상 모든 일반 silence를 포함해요. 일반 silence는 어떤 규칙의 알림도 억제할 수 있으므로, 폴더의 규칙을 관리하는 사용자는 자신의 알림에 영향을 줄 수 있는 silence를 볼 필요가 있어요.
Fixed roles
Silence 관리에 관련된 fixed roles는 다음과 같습니다.
| Fixed role | 권한 | 허용 범위 |
|---|---|---|
fixed:alerting.instances:writer (Silences Writer) |
alert.instances:create, alert.instances:write (org 범위) |
조직 전체에서 일반·규칙별 silence 생성·관리 |
fixed:alerting.instances:reader (Instances and Silences Reader) |
alert.instances:read (org 범위) |
모든 silence 읽기 |
fixed:alerting.rules:writer (Rules Writer) |
folders:*에 대한 alert.silences:create, alert.silences:write |
규칙별 silence 생성·관리 |
fixed:alerting.rules:reader (Rules Reader) |
folders:*에 대한 alert.silences:read |
규칙별 silence와 모든 일반 silence 읽기 |
Grafana OSS의 폴더 권한 매핑
Grafana OSS에서는 커스텀 RBAC를 쓸 수 없어요. 대신 폴더 권한이 자동으로 해당 silence 접근을 부여합니다.
| 폴더 권한 | Silence 접근 |
|---|---|
| View | 모든 일반 silence 읽기; 폴더 규칙의 규칙별 silence 읽기 |
| Edit | View 접근 + 폴더 규칙의 규칙별 silence 생성·업데이트 |
| Admin | Edit과 동일 |
Grafana Enterprise·Grafana Cloud에서는 폴더 권한이 OSS와 동일한 silence 접근을 부여하지만, 규칙 접근과 독립적으로 폴더 범위 RBAC 권한을 더 부여할 수 있어요(예: 규칙 쓰기 권한 없이 silence 쓰기 권한만 부여).
시나리오: 사용자를 규칙별 silence로만 제한
팀이 자신의 규칙만 silence할 수 있고 조직 전체에 영향을 주는 일반 silence는 만들 수 없어야 할 때 사용해요. 팀 폴더에 다음 폴더 범위 권한을 부여하세요.
| 권한 | 범위 |
|---|---|
alert.silences:read |
folders:<FOLDER_UID> |
alert.silences:create |
folders:<FOLDER_UID> |
alert.silences:write |
folders:<FOLDER_UID> |
이 권한들은 fixed:alerting.rules:writer에 포함되어 있고 폴더 Edit 권한으로도 자동 부여됩니다.
하지 말 것: org 범위에서 alert.instances:create나 alert.instances:write를 부여하지 마세요. 이는 일반 silence 생성을 허용합니다. 이 둘은 fixed:alerting.instances:writer와 내장 Editor 역할에 묶여 있으므로, 폴더로 제한할 사용자에게는 어느 쪽도 할당하지 마세요.
이 구성의 결과:
- 사용자는 자신의 폴더 규칙에 대해서만 silence 생성 가능
- 모든 일반 silence는 읽기 가능
- 일반 silence 생성 시도는 거부됨
시나리오: 전체 silence 접근 부여
on-call 엔지니어나 관리자처럼 모든 silence를 완전히 제어해야 하는 경우 사용해요.
| Fixed role | 부여 |
|---|---|
fixed:alerting.instances:writer |
조직 전체에서 일반·규칙별 silence 생성·관리 |
fixed:alerting.rules:writer |
모든 폴더에서 규칙별 silence 생성·관리 |
두 역할을 포함하는 내장 Editor 역할을 할당해도 됩니다. 결과적으로:
- 조직 전체 유지보수 창을 위한 일반 silence 생성
- 어떤 규칙이든 규칙별 silence 생성·만료
- 조직의 모든 silence 표시
보안 고려 사항
- 조직 범위 쓰기 액션은 강력함: org 범위의
alert.instances:create/write는 폴더 수준 접근만 있는 사용자에게도 조직 전체에 영향을 주는 silence를 만들·수정하게 합니다. 이 액션을 포함하는 모든 커스텀·상속 역할을 검토하세요. - 일반 silence는 폴더 사용자에게 항상 보임: 폴더 범위
alert.silences:read권한이 있는 사용자에서는 일반 silence를 숨길 수 없어요. 일반 silence에 민감한 컨텍스트(활성 인시던트 이름 등)가 담기면 명확하고 일관된 이름 규칙을 쓰세요. - 팀 격리에는 규칙별 silence 사용: 다중 팀/다중 테넌트 배포에서 규칙별 silence가 권장 패턴입니다. 일반 silence는 지키지 않는 폴더 경계를 존중해요.