메인 콘텐츠로 건너뛰기

Grafana

Grafana에서 Casdoor를 이용한 인증 사용하기

Grafana는 OAuth를 통한 인증을 지원합니다. 따라서, 사용자가 Casdoor를 이용하여 Grafana에 로그인하는 것은 매우 쉽습니다. 이를 달성하기 위해 몇 단계의 간단한 설정만 필요합니다.

Grafana에서 Casdoor를 이용한 인증을 사용하는 방법에 대한 튜토리얼입니다. 진행하기 전에, Grafana가 설치되어 있고 실행 중인지 확인하십시오.

단계 1: Casdoor에서 Grafana용 앱 생성하기

Casdoor에서 앱을 생성하는 예시입니다:

Casdoor에서 애플리케이션 생성하기

다음 단계를 위해 클라이언트 비밀번호와 클라이언트 ID를 복사해 주세요.

Grafana의 콜백 URL을 추가해 주세요. 기본적으로, Grafana의 OAuth 콜백은 /login/generic_oauth입니다. 따라서 이 URL을 올바르게 연결해 주세요.

단계 2: Grafana의 설정 수정하기

기본적으로, OAuth 설정 파일은 Grafana의 작업 디렉토리에 있는 conf/defaults.ini에 위치해 있습니다.

[auth.generic_oauth] 섹션을 찾아 다음 필드를 수정해 주세요:

[auth.generic_oauth]
name = Casdoor
icon = signin
enabled = true
allow_sign_up = true
client_id = <client ID from previous step>
client_secret = <client secret from previous step>
auth_url = <Casdoor endpoint>/login/oauth/authorize
token_url = <Casdoor endpoint>/api/login/oauth/access_token

HTTPS에 대하여

Casdoor에 대해 HTTPS를 활성화하고 싶지 않거나, HTTPS를 활성화하지 않고 Grafana를 배포하는 경우, tls_skip_verify_insecure = true도 설정해 주세요.

Casdoor로 로그인 한 후의 redirectURI에 대하여

Grafana에서 Casdoor로 로그인 한 후 redirect URI가 올바르지 않다면, root_url을 설정하고 싶을 수 있습니다.

[server]
http_port = 3000
# The public-facing domain name used to access Grafana from a browser
domain = <your IP here>
# The full public-facing URL
root_url = %(protocol)s://%(domain)s:%(http_port)s/

관련 링크:

  1. Grafana 문서

  2. Grafana defaults.ini

역할 매핑에 대하여

사용자의 역할을 Grafana에 매핑하기 위해 role_attribute_path를 설정하고 싶을 수 있습니다. role_attribute_path를 참조하세요.

[auth.generic_oauth]
role_attribute_path = contains(roles[*].name, 'admin') && 'Admin' || contains(roles[*].name, 'editor') && 'Editor' || 'Viewer'
role_attribute_strict = true
allow_assign_grafana_admin = true

role_attribute_path 후의 JMESPath 표현식은 여기에서 매우 중요합니다. Grafana 문서를 참조해 주세요.

단계 3: 작동하는지 확인하기

Grafana를 종료하고 다시 시작하세요.

로그인 페이지로 이동하세요. 다음과 같은 것을 볼 수 있어야 합니다:

최종 결과