본문 바로가기

Monitoring Tools/Grafana

[Grafana] Ldap(AD) 연동

반응형

Role 을 다음과 같이 3가지 부분으로 나누어 AD에서 그룹을 만들고 Grafana 에서 3개 그룹에 해당하는 Role 권한을 할당하려고 한다.

  • grafana-admin 
  • grafana-editor
  • grafana-viewer

 

grafana ldap 활성화

 ldap 설정을 하기 전에 ldap 활성화를 해준다.

  • enabled = true : 활성화
  • config_file = /etc/grafana/ldap.toml : ldap config 파일 경로
  • allow_sign_up = true : 사용자 자동 생성. 기존 grafana 사용자만 로그인 하려구 구성하려면 false로 설정한다.
  • skip_org_role_sync = false : Ldap 인증은 하지만 조작이나 역할 구성을 grafana에서 수동으로 하주려면 true로 설정한다.

경로 : /etc/grafana/grafana.ini

#################################### Auth LDAP ##########################
[auth.ldap]
enabled = true
config_file = /etc/grafana/ldap.toml
allow_sign_up = true

 

 

 

ldap 설정

AD에서 사용자에게 그룹을 할당 함으로서 해당 그룹으로 인증된 사용자는 매핑된 역할을 grafana에서 할당해 주는 방식이다.

[[servers.group_mappings]]
group_dn = "cn=grafana-admin,dc=test,dc=com"
org_role = "Admin"

[[servers.group_mappings]]
group_dn = "cn=grafana-editor,dc=test,dc=com"
org_role = "Editor"

[[servers.group_mappings]]
group_dn = "cn=grafana-viewer,dc=test,dc=com"
org_role = "Viewer"

 

AD 속성 값 찾기 참고 :  https://ploz.tistory.com/entry/Ldap-%EC%97%B0%EB%8F%99%EC%8B%9C-ADActive-Directory-%EC%86%8D%EC%84%B1%EA%B0%92attribute-%EC%B0%BE%EA%B8%B0

 

경로 : /etc/grafana/ldap.toml

[[servers]]
host = "<AD IP>"
port = 389

# SSL 관련
use_ssl = false
start_tls = false
ssl_skip_verify = false

bind_dn = "admin@test.com"
bind_password = '<password>'

search_filter = "(sAMAccountName=%s)"
search_base_dns = ["dc=test,dc=com"]

[servers.attributes]
name = "givenName"
surname = "sn"
username = "cn"
member_of = "memberOf"
email =  "email"

[[servers.group_mappings]]
group_dn = "cn=grafana-admin,dc=test,dc=com"
org_role = "Admin"

[[servers.group_mappings]]
group_dn = "cn=grafana-editor,dc=test,dc=com"
org_role = "Editor"

[[servers.group_mappings]]
group_dn = "cn=grafana-viewer,dc=test,dc=com"
org_role = "Viewer"

[[servers.group_mappings]]
group_dn = "*"
org_role = "Viewer"

 

반응형