Source de données : InfluxDB, potentiellement PostgreSQL pour les données changeant peu fréquemment.
Cette demande de fonctionnalité est une extension générale des discussions qui se déroulent dans :
Il est basé sur le post slack : Grafana Cloud Hosting Best Practices que j'ai créé le 20.04.2016 dans le canal grafana
sur raintank.slack.com
.
Pour les curieux :
Pour savoir ce qu'est un systÚme hors réseau ou hybride, veuillez consulter ce document trÚs accessible :
SystÚmes électriques hybrides basés sur les énergies renouvelables (source : Alliance for Rural Electrification )
Le défi
Vous trouverez ci-dessous un exemple de l'un de mes cas d'utilisation Grafana les plus complexes.
âââ 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
Notez que je dois traiter non seulement avec plusieurs organisations, mais aussi avec plusieurs organisations Ă quelques niveaux de profondeur.
Dans Off-Grid manufacturer 1
il y a 5 groupes d'utilisateurs différents, à savoir :
âą Personnel technique
âą Personnel des finances
âą Investisseurs
âą Publique
⹠Clients (c.-à -d. sociétés de location de plantes ; essentiellement une sous-organisation)
Chacun de ces groupes a des besoins trĂšs diffĂ©rents en termes de visualisation des donnĂ©es et il serait fantastique de pouvoir configurer des tableaux de bord par dĂ©faut applicables Ă chaque groupe. Certains groupes, comme les techniciens, je veux accorder un accĂšs complet pour crĂ©er leurs propres tableaux de bord et pouvoir tout reprĂ©senter graphiquement. Le groupe public que je veux verrouiller complĂštement alors que tous les autres groupes se situent quelque part entre ces deux extrĂȘmes. Je ne veux pas que les groupes se mĂȘlent ou aient accĂšs les uns aux autres aux tableaux de bord ou aux sources de donnĂ©es.
Off-Grid manufacturer 1
doit pouvoir accéder à toutes les données de toutes les entreprises en dessous, tandis que Plant hire company 1.1
doit pouvoir accĂ©der Ă toutes les entreprises en dessous mais pas aux donnĂ©es d'une autre location d'usine entreprises au mĂȘme niveau que lui ou toute organisation au-dessus de lui.
Un exemple un peu extrĂȘme je sais, mais c'est ma rĂ©alitĂ© !
Pour simplifier l'accĂšs au tableau de bord, il serait formidable d'avoir des groupes d'utilisateurs et des groupes de tableaux de bord au sein des organisations et de pouvoir accorder des droits de visualisation/modification aux tableaux de bord pour chaque utilisateur ou groupe d'utilisateurs. Des sous-groupes (ou sous-organisations) avec la possibilitĂ© d'attribuer des rĂŽles d'administrateur Ă certains utilisateurs au sein d'un groupe particulier, avec ces droits d'administrateur limitĂ©s Ă ce sous-groupe (ou sous-organisation), seraient Ă©galement utiles đ
Si vous deviez dessiner une seule organisation, cela ressemblerait à ceci :
users : u1 u2 u3 u4 u5 |
\ / \ / / / |
| | / / |
user : ug1 ug2 / / |
groups : | / | / / |
| / | / / |>- organisation
| / | / / |
dashboard : dg1 dg2 / |
groups : | | / |
/ \ / \ / |
dashboards: d1 d2 d3 d4 |
--
Noter:
u1
), via le groupe d'utilisateurs 1 ( ug1
), n'a accĂšs qu'aux tableaux de bord 1 & 2 ( d1
& d2
).u2
) appartient aux deux groupes d'utilisateurs et a donc accĂšs aux 4 tableaux de bord.ug2
) a accĂšs aux deux groupes de tableaux de bord et a donc Ă©galement accĂšs aux 4 tableaux de bord.u4
) appartient directement au groupe de tableaux de bord 2 ( dg2
), et non via un groupe d'utilisateurs.u5
) n'a que l'autorisation d'afficher le tableau de bord 4 ( d4
). D'aprÚs ce que je comprends, est-ce le modÚle d'autorisation actuel en place au sein des organisations ?Une organisation avec plusieurs sous-organisations ressemblerait à ceci :
| 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
--
Noter:
sd2
) appartient aux deux groupes de sous-tableau de bord et est donc accessible aux 4 utilisateurs.sub-organisation 1
n'a pas accÚs aux données appartenant à sub-organisation 2
ou aux données appartenant à organisation
, sauf les siennes.Voici un scénario d'utilisation pour brosser un tableau de la façon dont j'imagine que cela fonctionne dans la réalité :
J'ai un client, Off-Grid manufacturer 1
, qui construit et vend des systÚmes hors réseau à des sociétés de location de centrales, qui à leur tour les louent à des sociétés de construction qui ont besoin d'électricité sur leurs chantiers (remarque : 4 niveaux d'organisation).
Off-Grid manufacturer 1
acquiert un nouveau client, Plant hire company 1.2
, qui souhaite surveiller tous les systÚmes hors réseau qu'ils achÚtent auprÚs de Off-Grid manufacturer 1
. Plant hire company 1.2
a deux clients, Building companies 1.2.1 & 1.2.2
, qui souhaitent gérer leurs propres droits d'accÚs utilisateur.
Off-Grid manufacturer 1
a créé un ensemble standard de tableaux de bord pour chaque systÚme hors réseau auquel ils souhaitent donner accÚs à tous leurs clients.
Off-Grid manufacturer 1
Je crée un seul utilisateur au sein de cette organisation et lui accorde des droits d'administrateur.
L'utilisateur administrateur de l'organisation Off-Grid manufacturer 1
crée 2 tableaux de bord.
L'utilisateur administrateur crée un nouveau groupe appelé "Techniciens" et lui accorde l'accÚs au tableau de bord 2.
L'utilisateur admin de l'organisation Off-Grid manufacturer 1
crée un nouvel utilisateur (par exemple finance_user_1
).
finance_user_1
est ajouté au groupe "Finances" (ils ont un accÚs immédiat au tableau de bord 1)
L'utilisateur administrateur de l'organisation Off-Grid manufacturer 1
crée un nouveau groupe ou sous-organisation (par exemple hire_company_1.2
).
hire_company_1.2_admin
.hire_company_1.2_admin
peut :hire_company_1.2
.Je suggérerais également d'isoler les sources de données et de laisser les administrateurs des groupes gérer les leurs en toute sécurité.
Proposition de groupes de tableau de bord et d'un modÚle d'autorisations : https://github.com/grafana/grafana/issues/1611#issuecomment -287742633
fait en v5 via les dossiers Teams & Dashboard
Commentaire le plus utile
Je suggérerais également d'isoler les sources de données et de laisser les administrateurs des groupes gérer les leurs en toute sécurité.