그라파나

JWT 인증

구일칠구 2022. 7. 13. 09:49

JWT 인증

HTTP 헤더에 제공된 JWT 토큰을 수락하도록 Grafana를 구성할 수 있습니다. 토큰은 다음 중 하나를 사용하여 확인됩니다.

  • PEM으로 인코딩된 키 파일
  • 로컬 파일의 JSON 웹 키 세트(JWKS)
  • 구성된 JWKS 끝점에서 제공하는 JWKS

JWT 활성화

JWT 인증을 사용하려면:

  1. 기본 구성 파일 에서 JWT를 활성화 합니다 .
  2. 토큰이 포함된 헤더 이름을 지정하십시오.
[auth.jwt]
  # By default, auth.jwt is disabled.
  enabled = true
  
  # HTTP header to look into to get a JWT token.
  header_name = X-JWT-Assertion
  
이니

로그인 클레임 구성

사용자를 식별하려면 일부 클레임을 로그인 정보로 선택해야 합니다. Grafana 사용자의 사용자 이름 또는 이메일을 포함하는 클레임을 지정할 수 있습니다.

일반적으로 호출된 주제 클레임 "sub"은 로그인으로 사용되지만 일부 애플리케이션 특정 클레임으로 설정될 수도 있습니다.

# [auth.jwt]
  # ...
  
  # Specify a claim to use as a username to sign in.
  username_claim = sub
  
  # Specify a claim to use as an email to sign in.
  email_claim = sub
  
  # auto-create users if they are not already matched
  # auto_sign_up = true
  
이니

auto_sign_up활성화된 경우 sub클레임이 "외부 인증 ID"로 사용됩니다. 클레임이 있는 name경우 사용자의 전체 이름으로 사용됩니다.

서명 확인

이를 위해 암호화 서명이 사용되도록 JSON 웹 토큰 무결성을 확인해야 합니다. 따라서 모든 토큰은 알려진 암호화 키로 서명해야 합니다.

키의 위치를 ​​지정하는 방법에 대한 다양한 옵션이 있습니다.

https 엔드포인트에서 로드된 JSON 웹 키 세트를 사용하여 토큰 확인

JWKS 끝점에 대한 자세한 내용은 Auth0 문서 를 참조하세요 .

# [auth.jwt]
  # ...
  
  jwk_set_url = https://your-auth-provider.example.com/.well-known/jwks.json
  
  # Cache TTL for data loaded from http endpoint.
  cache_ttl = 60m
  
이니

JSON 파일에서 로드된 JSON 웹 키 세트를 사용하여 토큰 확인

JWKS 끝점에서와 동일한 형식으로 설정되지만 디스크에 있는 키입니다.

jwk_set_file = /path/to/jwks.json
  
이니

PEM 인코딩 파일에서 로드된 단일 키를 사용하여 토큰 확인

PKIX, PKCS #1, PKCS #8 또는 SEC 1 형식의 PEM 인코딩 키 파일입니다.

key_file = /path/to/key.pem
  
이니

클레임 확인

기본적으로 "exp"및 "nbf"클레임 "iat"만 검증됩니다.

다른 클레임이 실제로 예상한 것과 같은지 확인하고 싶을 수도 있습니다.

# This can be seen as a required "subset" of a JWT Claims Set.
  expect_claims = {"iss": "https://your-token-issuer", "your-custom-claim": "foo"}

'그라파나' 카테고리의 다른 글

일반 OAuth 인증  (0) 2022.07.13
LDAP 인증  (0) 2022.07.13
인증 프록시 인증  (0) 2022.07.13
그라파나 인증  (0) 2022.07.13
사용자 인증 개요  (0) 2022.07.12