ข้ามไปยังเนื้อหาหลัก

Grafana

ใช้ Casdoor สำหรับการตรวจสอบสิทธิ์ใน Grafana

Grafana รองรับการตรวจสอบสิทธิ์ผ่าน OAuth. ดังนั้นจึงง่ายมากสำหรับผู้ใช้ในการใช้ Casdoor เพื่อเข้าสู่ระบบ Grafana. มีเพียงขั้นตอนไม่กี่ขั้นตอนและการตั้งค่าที่ง่ายเพื่อทำให้สำเร็จ.

นี่คือคู่มือการใช้ Casdoor สำหรับการตรวจสอบสิทธิ์ใน Grafana. ก่อนที่คุณจะดำเนินการต่อ โปรดตรวจสอบว่าคุณได้ติดตั้งและเรียกใช้ Grafana แล้ว.

ขั้นตอนที่ 1: สร้างแอปสำหรับ Grafana ใน Casdoor

นี่คือตัวอย่างของการสร้างแอปใน Casdoor:

สร้างแอปพลิเคชันใน Casdoor

โปรดคัดลอก client secret และ client ID สำหรับขั้นตอนต่อไป.

โปรดเพิ่ม URL สำหรับการย้อนกลับของ Grafana. โดยค่าเริ่มต้น, OAuth callback ของ Grafana คือ /login/generic_oauth. ดังนั้นโปรดรวม URL นี้อย่างถูกต้อง.

ขั้นตอนที่ 2: แก้ไขการตั้งค่าของ Grafana

โดยค่าเริ่มต้น, ไฟล์การตั้งค่าสำหรับ OAuth ตั้งอยู่ที่ conf/defaults.ini ใน workdir ของ Grafana.

โปรดค้นหาส่วน [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

หากคุณไม่ต้องการให้เปิดใช้งาน HTTPS สำหรับ Casdoor หรือหากคุณติดตั้ง Grafana โดยไม่เปิดใช้งาน HTTPS โปรดตั้งค่า tls_skip_verify_insecure = true.

เกี่ยวกับ redirectURI หลังจากเข้าสู่ระบบด้วย Casdoor

หาก URI สำหรับการย้อนกลับไม่ถูกต้องหลังจากเข้าสู่ระบบด้วย Casdoor ใน Grafana คุณอาจต้องการกำหนดค่า 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

เกี่ยวกับการแมปบทบาท

คุณอาจต้องการกำหนดค่า role_attribute_path เพื่อแมปบทบาทของผู้ใช้ของคุณไปยัง Grafana ผ่าน 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

นิพจน์ JMESPath หลังจาก role_attribute_path มีความสำคัญมากที่นี่. โปรดดูเอกสารของ Grafana.

ขั้นตอนที่ 3: ดูว่ามันทำงานหรือไม่

ปิด Grafana และเริ่มต้นใหม่.

ไปที่หน้าเข้าสู่ระบบ. คุณควรจะเห็นบางอย่างเช่นนี้:

ผลลัพธ์สุดท้าย