Grafana: [Permintaan Fitur] Memperluas model organisasi untuk menyertakan grup pengguna dan dasbor (sub-)

Dibuat pada 3 Mei 2016  Β·  3Komentar  Β·  Sumber: grafana/grafana

Latar belakang

Sumber data: InfluxDB, berpotensi PostgreSQL untuk data yang jarang berubah.

Permintaan fitur ini merupakan perpanjangan umum dari diskusi yang terjadi di:

2132, #2777, #1611

Ini didasarkan pada slack post: Praktik Terbaik Grafana Cloud Hosting yang saya buat pada 20.04.2016 di saluran grafana di raintank.slack.com .

Untuk yang penasaran:
Untuk mengetahui apa itu sistem off-grid atau hybrid, silakan lihat dokumen yang sangat mudah diakses ini:

Sistem tenaga hibrida berdasarkan energi terbarukan (sumber: Alliance for Rural Electrification )

Tantangan

Di bawah ini adalah contoh dari salah satu kasus penggunaan Grafana saya yang paling kompleks.

β”œβ”€β”€ Off-Grid manufacturer 1
β”‚Β Β  └── Technical staff
β”‚Β Β  └── Finance staff
β”‚Β Β  └── Investors
β”‚Β Β  └── Public (i.e. demo dashboards)
β”‚   β”‚
β”‚Β Β  └── Plant hire company 1.1
β”‚Β Β  β”‚   β”œβ”€β”€ Finance staff
β”‚Β Β  β”‚   β”œβ”€β”€ Technical staff
β”‚Β Β  β”‚   └── Investors
β”‚Β Β  β”‚   └── Public (i.e. demo dashboards)
β”‚   β”‚   β”‚
β”‚   β”‚   └── Building company 1.1.1
β”‚Β Β  β”‚   β”‚   β”œβ”€β”€ Technical staff
β”‚Β Β  β”‚   β”‚   β”œβ”€β”€ Finance staff
β”‚Β Β  β”‚   β”‚   └── Investors
β”‚Β Β  β”‚   β”‚   └── Public (i.e. demo dashboards)
β”‚   β”‚   .
β”‚   β”‚   .
β”‚   β”‚   └── Building company 1.1.n
β”‚   .
β”‚   .
β”‚Β Β  └── Plant hire company 1.n
.
.
└── Off-Grid manufacturer n

Perhatikan bahwa saya perlu berurusan tidak hanya dengan banyak organisasi tetapi beberapa organisasi dalam beberapa lapisan.

Dalam Off-Grid manufacturer 1 ada 5 kelompok pengguna yang berbeda yaitu:

β€’ Staf teknis
β€’ Staf keuangan
β€’ Investor
β€’ Umum
β€’ Pelanggan (yaitu perusahaan perekrut pabrik; pada dasarnya adalah sub-organisasi)

Masing-masing grup ini memiliki kebutuhan yang sangat berbeda dalam hal visualisasi data dan akan luar biasa jika dapat menyiapkan dasbor default yang berlaku untuk setiap grup. Beberapa grup, seperti orang-orang teknologi, saya ingin memberikan akses penuh untuk membuat dasbor mereka sendiri dan dapat membuat grafik apa pun. Grup publik yang ingin saya kunci sepenuhnya sementara setiap grup lainnya berada di antara dua ekstrem ini. Saya tidak ingin grup ikut campur, atau memiliki akses ke dasbor atau sumber data satu sama lain.

Off-Grid manufacturer 1 harus dapat mengakses semua data dari semua perusahaan di bawahnya, sedangkan Plant hire company 1.1 harus dapat mengakses semua perusahaan di bawahnya tetapi tidak dapat mengakses data dari persewaan pabrik lain perusahaan pada tingkat yang sama dengan dirinya sendiri atau organisasi di atasnya.

Sebuah contoh yang agak ekstrim saya tahu, tapi ini adalah kenyataan saya!

Permintaan Fitur

Untuk menyederhanakan akses dasbor, akan sangat bagus jika memiliki grup pengguna dan grup dasbor dalam organisasi dan dapat memberikan hak melihat/mengedit ke dasbor untuk setiap pengguna atau grup pengguna. Sub-grup (atau sub-organisasi) dengan kemampuan untuk menetapkan peran admin ke pengguna tertentu dalam grup tertentu, dengan hak admin terbatas pada sub-grup (atau sub-organisasi) itu, juga akan berguna

Jika Anda harus menggambar satu organisasi, itu akan terlihat seperti ini:

users     :  u1   u2    u3   u4   u5 |
              \ /    \ /     /   /   |
               |      |     /   /    |
user      :   ug1    ug2   /   /     |
groups    :    |   /  |   /   /      |
               |  /   |  /   /       |>- organisation
               | /    | /   /        |
dashboard :   dg1    dg2   /         |
groups    :    |      |   /          |
              / \    / \ /           |
dashboards:  d1 d2  d3 d4            |
                                   --

Catatan:

  • Pengguna 1 ( u1 ), melalui grup pengguna 1 ( ug1 ), hanya memiliki akses ke dasbor 1 & 2 ( d1 & d2 ).
  • Pengguna 2 ( u2 ) milik kedua grup pengguna dan oleh karena itu memiliki akses ke semua 4 dasbor.
  • Setiap pengguna yang termasuk dalam grup pengguna 2 ( ug2 ) memiliki akses ke kedua grup dasbor dan oleh karena itu juga memiliki akses ke semua 4 dasbor.
  • Pengguna 4 ( u4 ) milik langsung ke grup dasbor 2 ( dg2 ), bukan melalui grup pengguna.
  • Pengguna 5 ( u5 ) hanya memiliki izin untuk melihat dasbor 4 ( d4 ). Sejauh yang saya pahami, ini adalah model izin saat ini yang berlaku di dalam organisasi?

Sebuah organisasi dengan beberapa sub-organisasi akan terlihat seperti ini:

                                  | sub-users     :  su1 su2  su3 su4
                                  |                    \ /     \ /  
                                  |                     |       |   
             sub-organisation 1 -<| sub-user      :    sug1    sug2 
            /                     | groups        :     |  \    |   
organisation                      |                     |   \   |   
            \                     |                     |    \  |  
     sub-organisation 2           | sub-dashboard :    sdg1    sdg2  
                                  | groups        :     |       |   
                                  |                    / \     /  \  
                                  | sub-dashboards:  sd1   sd2    sd3
                                   --

Catatan:

  • sub-dasbor 2 ( sd2 ) milik kedua grup sub-dasbor dan oleh karena itu dapat diakses oleh 4 pengguna.
  • sub-organisation 1 tidak memiliki akses ke data apa pun milik sub-organisation 2 atau data milik organisation , kecuali miliknya sendiri.

Skenario Kehidupan Nyata

Berikut adalah skenario penggunaan untuk melukiskan gambaran tentang bagaimana saya membayangkan ini bekerja dalam kenyataan:

Saya memiliki pelanggan, Off-Grid manufacturer 1 , yang membangun dan menjual sistem off-grid ke perusahaan persewaan pabrik, yang pada gilirannya mempekerjakan mereka untuk membangun perusahaan yang membutuhkan listrik di lokasi bangunan mereka (catatan: 4 tingkat organisasi).

Off-Grid manufacturer 1 memperoleh pelanggan baru, Plant hire company 1.2 , yang ingin memantau semua sistem off-grid yang mereka beli dari Off-Grid manufacturer 1 . Plant hire company 1.2 memiliki dua pelanggan, Building companies 1.2.1 & 1.2.2 , yang ingin mengelola hak akses pengguna mereka sendiri.

Off-Grid manufacturer 1 telah membuat set dasbor standar untuk setiap sistem off-grid yang ingin mereka berikan akses kepada semua pelanggan mereka.

Contoh Organisasi Pengurus:

  • Saya membuat organisasi baru bernama Off-Grid manufacturer 1
  • Saya membuat satu pengguna dalam organisasi ini dan memberi mereka hak admin.

    Contoh Pengurusan Grup:

  • Pengguna admin organisasi Off-Grid manufacturer 1 membuat 2 dasbor.

    • Dasbor 1: menunjukkan angka keuangan sensitif untuk akuntan
    • Dasbor 2: menunjukkan tegangan baterai untuk teknisi
  • Pengguna admin membuat grup baru yang disebut "Keuangan" dan memberinya akses ke dasbor 1.
  • Pengguna admin membuat grup baru yang disebut "Teknisi" dan memberinya akses ke dasbor 2.

    Contoh Pengguna Administratif:

  • Pengguna admin dari organisasi Off-Grid manufacturer 1 membuat pengguna baru (mis. finance_user_1 ).

  • finance_user_1 ditambahkan ke grup "Keuangan" (mereka memiliki akses langsung ke dasbor 1)

    Admin sub-grup/sub-organisasi

  • Pengguna admin dari organisasi Off-Grid manufacturer 1 membuat grup atau sub-organisasi baru (mis. hire_company_1.2 ).

  • Pengguna admin membuat pengguna baru bernama hire_company_1.2_admin .
  • hire_company_1.2_admin dapat:

    • buat pengguna baru (yang secara otomatis dibatasi ke grup hire_company_1.2 .

    • buat grup sub-pengguna

    • tetapkan sub-pengguna ke grup sub-pengguna

    • buat dasbor

    • buat grup sub-dasbor

    • tetapkan dasbor ke grup sub-dasbor

typfeature-request

Komentar yang paling membantu

Saya menyarankan untuk mengisolasi sumber data juga dan membiarkan admin grup mengelolanya sendiri dengan aman.

Semua 3 komentar

Saya menyarankan untuk mengisolasi sumber data juga dan membiarkan admin grup mengelolanya sendiri dengan aman.

Proposal untuk Grup Dasbor dan Model Izin: https://github.com/grafana/grafana/issues/1611#issuecomment -287742633

dilakukan di v5 melalui folder Tim & Dasbor

Apakah halaman ini membantu?
0 / 5 - 0 peringkat