플러그인 서명
플러그인 서명 (Plugin signatures)
플러그인 서명 확인(signing)은 플러그인이 변조되지 않았는지 확인하는 보안 조치예요. Grafana는 플러그인을 로드할 때 디지털 서명을 검사해 서명 여부와 유효성을 확인합니다. 이 문서는 서명 확인이 어떻게 작동하는지, 서명 상태 종류, 서명 레벨을 설명합니다.
출처: 문서
본문
플러그인 서명 확인(Plugin signature verification), 일명 서명(signing) 은 플러그인이 변조되지 않았는지 확인하는 보안 조치예요. Grafana는 플러그인을 로드할 때 디지털 서명을 검사·확인하며 서명 여부를 판단합니다. 자세한 내용은 plugin policies를 참고하세요.
확인은 어떻게 작동하나요?
시작 시 Grafana는 플러그인 디렉토리에 있는 모든 플러그인의 서명을 검증합니다. 각 플러그인의 검증 결과는 Configuration → Plugins 에서 확인할 수 있어요. 서명 상태(signature status)는 다음 중 하나입니다.
| 서명 상태 | 설명 |
|---|---|
| Core | Grafana에 내장된 핵심 플러그인 |
| Invalid signature | 잘못된 서명을 가진 플러그인 |
| Modified signature | 서명된 이후 변경된 플러그인. 악의적인 의도를 암시할 수 있음 |
| Unsigned | 서명되지 않은 플러그인 |
| Signed | 서명이 성공적으로 검증됨 |
플러그인이 서명되지 않으면 어떻게 되나요?
플러그인이 서명되지 않으면 Grafana는 이를 로드하지도 시작하지도 않습니다. 또한 서버 로그에 오류 메시지를 기록합니다:
WARN[05-26|12:00:00] Some plugin scanning errors were found errors="plugin '<plugin id>' is unsigned, plugin '<plugin id>' has an invalid signature"
플러그인 서명 레벨 (Plugin signature levels)
모든 플러그인은 서명 레벨(signature level) 아래에 서명됩니다. 서명 레벨은 플러그인이 어떻게 배포될 수 있는지를 결정합니다.
| 플러그인 레벨 | 설명 |
|---|---|
| Private | 자체 Grafana에서만 사용하기 위한 플러그인. Grafana 커뮤니티에 배포할 수 없으며 Grafana 카탈로그에도 게시되지 않음 |
| Community | 종속 기술이 오픈소스이고 비영리인 커뮤니티 플러그인. 공식 Grafana 카탈로그에 게시되며 커뮤니티에서 사용 가능 |
| Commercial | 종속 기술이 비공개 소스이거나 상업적으로 지원되는 상용 플러그인. 공식 Grafana 카탈로그에 게시되며 커뮤니티에서 사용 가능 |
서명되지 않은 플러그인 허용 (Allow unsigned plugins)
참고: Grafana Cloud에서는 서명되지 않은 플러그인을 지원하지 않아요.
서명되지 않은 플러그인을 Grafana 인스턴스에서 실행하지 않는 것을 강력히 권장합니다. 하지만 위험을 인지하고 있어도 서명되지 않은 플러그인을 로드하려면 Configuration을 참고하세요.
서명되지 않은 플러그인 로드를 허용했다면 Grafana는 서버 로그에 경고 메시지를 기록합니다:
WARN[06-01|16:45:59] Running an unsigned plugin pluginID=<plugin id>
참고: 플러그인을 개발 중이라면 개발 모드를 활성화해 모든 서명되지 않은 플러그인을 허용할 수 있어요.
개발한 플러그인 서명하기
플러그인 개발자라면 플러그인 서명 방법이 궁금할 텐데, Sign a plugin 문서를 참고하세요.
더 알아보기 (Learn more)
- 출처 문서: Plugin signatures
- 플러그인 관리
- 플러그인 설치
- 플러그인 서명하기