반응형
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"
반응형