پرش به مطلب اصلی
احراز هویت با LDAP در Grafana

احراز هویت با LDAP در Grafana

بازارچه ابریخواندن 5 دقیقه

با اتصال Grafana به یک دایرکتوری LDAP از طریق LDAP Authentication ورود کاربران از همان دایرکتوری انجام می‌شود و نقش هرکاربر در Grafana (Admin، Editor یا Viewer) از روی گروه‌های LDAP نگاشت می‌شود.

پیش‌نیازها

  • یک سرویس فعال Grafana و دسترسی ادمین
  • یک سرور LDAP یا Active Directory در دسترس از شبکه Grafana

Grafana تنظیمات دقیق اتصال به LDAP (آدرس سرور، Bind DN، فیلتر جست‌وجو، نگاشت گروه‌ها) را نه از env var، بلکه از یک فایل جداگانه (ldap.toml) می‌خواند؛ ساختار کامل این فایل و نمونه [[servers.group_mappings]] در مرجع رسمی پیکربندی LDAP گرافانا مستند شده است.


گام اول: تنظیم متغیرهای محیطی

از مسیر کنسول هم‌روش > سرویس Grafana > تنظیمات > متغیرهای محیطی، متغیرهای زیر اضافه می‌شوند:

متغیرتوضیحات
GF_AUTH_LDAP_ENABLEDفعال‌سازی احراز هویت LDAP
GF_AUTH_LDAP_CONFIG_FILEمسیر فایل تنظیمات LDAP
GF_AUTH_LDAP_ALLOW_SIGN_UPساخت خودکار کاربر جدید در اولین ورود
GF_AUTH_LDAP_ENABLED=true
GF_AUTH_LDAP_CONFIG_FILE=/etc/grafana/ldap.toml
GF_AUTH_LDAP_ALLOW_SIGN_UP=true

گام دوم: ساخت فایل ldap.toml

این فایل از طریق قابلیت «کانفیگ‌ها» سرویس Grafana ساخته می‌شود:

  1. در تب تنظیمات و بخش «کانفیگ‌ها»، روی «تنظیم کانفیگ» کلیک می‌شود.
  2. مقدار mountPath برابر با /etc/grafana/ldap.toml و subPath برابر با ldap.toml قرار می‌گیرد.
  3. فیلد data در واقع معادل بخش data یک ConfigMap در کوبرنتیز است و باید به‌صورت YAML تکمیل شود؛ کلید آن باید دقیقاً برابر با مقدار subPath (یعنی ldap.toml) باشد و محتوای فایل TOML به‌صورت یک مقدار چندخطی (|-) و با تورفتگی زیر همان کلید قرار گیرد:
ldap.toml: |-
[[servers]]
host = "ldap.example.com"
port = 389
bind_dn = "cn=admin,dc=example,dc=org"
bind_password = "<bind-password>"
search_base_dns = ["ou=people,dc=example,dc=org"]
search_filter = "(uid=%s)"

group_search_filter = "(&(objectClass=posixGroup)(memberUid=%s))"
group_search_base_dns = ["ou=groups,dc=example,dc=org"]
group_search_filter_user_attribute = "uid"

[servers.attributes]
name = "givenName"
surname = "sn"
username = "uid"
email = "mail"

[[servers.group_mappings]]
group_dn = "cn=admins,ou=groups,dc=example,dc=org"
org_role = "Admin"

[[servers.group_mappings]]
group_dn = "cn=developers,ou=groups,dc=example,dc=org"
org_role = "Editor"

[[servers.group_mappings]]
group_dn = "*"
org_role = "Viewer"
  1. با کلیک روی «اعمال تغییرات»، فایل ذخیره می‌شود.

گام سوم: بررسی پیکربندی از پنل ادمین Grafana

پس از فعال‌سازی و ری‌استارت، LDAP به‌عنوان یکی از روش‌های احراز هویت در کنسول ادمین Grafana قابل مشاهده و آزمایش است:

  1. از مسیر Administration > Authentication وضعیت LDAP باید Enabled نمایش داده شود. برخلاف SAML و SCIM که مخصوص نسخه Cloud و Enterprise هستند، LDAP در نسخه متن‌باز Grafana هم در دسترس است.
  1. با کلیک روی LDAP، همان تنظیمات خوانده‌شده از ldap.toml (Server host، Bind DN، Search filter، Search base DNS و غیره) به‌صورت فقط‌خواندنی نمایش داده می‌شود؛ این صفحه صرفاً برای بررسی و تست است و ویرایش تنظیمات همچنان باید از طریق ldap.toml انجام شود.
  1. با دکمه Test، صفحه LDAP Diagnostics باز می‌شود؛ در بخش Test user mapping، با وارد کردن نام‌کاربری یک کاربر واقعی از LDAP و کلیک روی Run، می‌توان بدون نیاز به ورود واقعی، صحت نگاشت اطلاعات کاربر (نام، ایمیل، نام‌کاربری) و همچنین گروه و نقش تخصیص‌یافته به او را بررسی کرد.
این راهنمایی کاربردی بود؟

با ثبت بازخوردتان در بهبود کیفیت مستندات مشارکت داشته باشید.