요청 보안 구성
요청 보안 구성 (Configure security)
Grafana의 요청 보안은 Grafana가 브라우저에서 들어오는 요청(콘텐츠 보안 정책, 인코딩, CORS 등)을 처리하는 방법과, 토큰·세션·쿠키를 안전하게 다루는 방법을 제어해요. 이 페이지는 Grafana 인스턴스를 보호하기 위한 주요 보안 설정을 안내해요.
출처: 문서
본문
콘텐츠 보안 정책 (CSP)
[security] 섹션의 content_security_policy를 true로 설정하면 콘텐츠 보안 정책 헤더를 활성화해 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 정책.