요청 보안 구성

요청 보안 구성 (Configure security)

Grafana의 요청 보안은 Grafana가 브라우저에서 들어오는 요청(콘텐츠 보안 정책, 인코딩, CORS 등)을 처리하는 방법과, 토큰·세션·쿠키를 안전하게 다루는 방법을 제어해요. 이 페이지는 Grafana 인스턴스를 보호하기 위한 주요 보안 설정을 안내해요.

출처: 문서

본문

콘텐츠 보안 정책 (CSP)

[security] 섹션의 content_security_policytrue로 설정하면 콘텐츠 보안 정책 헤더를 활성화해 XSS 공격을 완화할 수 있어요.

[security]
content_security_policy = true
content_security_policy_template = "default-src 'self'"

CSP를 켜면 브라우저에서 인라인 스크립트 등 일부 기능이 제한될 수 있으므로, 필요하다면 content_security_policy_template으로 허용할 소스를 지정해요.

CORS

브라우저에서 Grafana API에 직접 접근하는 앱이 있다면 CORS(Cross-Origin Resource Sharing) 설정으로 허용 도메인을 지정할 수 있어요.

[server]
enable_gzip = true

CORS는 [server] 섹션의 옵션으로 제어하며, 허용할 오리진을 지정해 외부 앱의 요청을 허용할 수 있어요.

토큰·세션 보안

[security] 섹션에서 세션과 토큰 보안을 강화할 수 있어요:

[security]
# 세션 쿠키를 HTTPS로만 전송
cookie_secure = true

# 세션 쿠키의 SameSite 속성
cookie_samesite = lax

# 세션 유효 시간(기본 7일)
login_maximum_inactive_lifetime_duration = 10m

# 브라우저 종료 시 세션 유지 여부
login_remember_days = 7
  • cookie_secure = true: HTTPS에서만 쿠키 전송(운영 환경 권장).
  • cookie_samesite: CSRF 공격 완화를 위한 SameSite 정책 설정.
  • login_maximum_inactive_lifetime_duration, login_maximum_lifetime_duration: 세션 유효 시간 제어.

Disable login form

폼 기반 로그인을 비활성화하고 OAuth/LDAP 같은 외부 인증만 허용하려면:

[auth]
disable_login_form = true
signout_redirect_url = https://example.com/logout

기타 요청 보안 옵션

  • allow_embedding: Grafana를 iframe에 임베드할지 여부. 기본 false(클릭재킹 방지).
  • disable_gravatar: 외부 Gravatar 사용 비활성화.
  • cookie_samesite: 쿠키 SameSite 정책.

더 알아보기 (Learn more)