Je souhaite utiliser l’API de Surveillance Station sur mon NAS Synology.
J’ai trouvé les commandes intéressantes pour activer/désactiver les notifications des caméras que j’utilise.
L’idée est de désactiver/activer les notifications en fonction de ma présence à mon domicile, la présence ou l’absence est détectée automatiquement par un Nuts (dongle blueetooth) qui se trouve avec les clés de mon domicile, le nuts est lié à l’application Jeedom.
Ce qui me dérange c’est le fait d’utiliser un compte qui doit être membre du groupe Admin de mon NAS Synology pour faire mes appels API.
Les appels API étant passé en claire par des requêtes HTTP, cela revient à donner le login et le mot de passe de mon NAS puisqu’il s’agit d’une authentification HTTP
Ci-dessous les requêtes API :
**Login** : https://MY_IP:5000/webapi/auth.cgi?api=SYNO.API.Auth&method=login&version=1&account=MY_ACCOUNT&passwd=MY_PASSWORD&session=SurveillanceStation
**Active les notifications** : https://MY_IP:5000/webapi/entry.cgi?5=3&api=SYNO.SurveillanceStation.Notification.Filter&version=1&method=Set&eventGroupType=2&eventType=5&filter=1
**Desactive les notifications** : https://MY_IP:5000/webapi/entry.cgi?5=0&api=SYNO.SurveillanceStation.Notification.Filter&version=1&method=Set&eventGroupType=2&eventType=5&filter=1
**Logout** : https://MY_IP:5000/webapi/auth.cgi?api=SYNO.API.Auth&method=logout&version=1&session=SurveillanceStation
Est-il possible de créer un compte avec le moins de privilège possible de manière à modifier des paramètres de Surveillance station, sans avoir à remettre la sécurité du NAS en cause ?
Pourquoi tu passes pas en HTTPS vers ton nas. Après, le risque est faible surtout si tu es en câblé. Change p-e ton Fw devant pour mieux sécurisé ton installation
Ca à l’air gratuit.
Une fois le certificat installé sur le serveur, comment Jeedom fera la requête de login vers le Syno ?
C’est ce point la que je n’arrive pas à comprendre.
Tu mets un certificat autosigné
Ensuite tu as donné dans ton 1er post les requêtes api en https avec les identifiants dedans.
Donc le user password sera visible en clair sur ton jeedom mais sera crypté lors du transfert vers le syno.
Il suffira de mettre https au lieu de http dans ma requete ?
Sinon j’avais pensé peux être faire de l’oauth2 pour solutionner le problème mais c’est peut être overkill ?!
Déjà je comprends pas ton histoire de compte administrateur, chez moi ca fonctionne très bien avec un compte utilisateur dédié. Il faut juste lui donner les droits dans surveillance station. C’est expliqué dans la documentation.
Ensuite dans le plugin tu as l’option de choisir une connection sécurisée, donc si tu as configuré en https, rien ne sera en clair.
J’ai bien fait attention et je te confirme qu’un compte dans Surveillance Station n’est pas suffisant.
Il te permet de te connecter effectivement mais après tu ne peux pas passer les commande, tu as l’erreur code 105 (privilège insuffisant).
Tu utilises surement le compte que tu as pour faire des actions qui ne nécessite pas de droit élevé, mais dans le cas des commandes que j’ai indiqué, il n’y a pas le choix.
C’est pour cela que je ne peux pas requêter en http avec un log/pass d’un compte Admin, c’est n’importe quoi
D’où mes questions précédentes :
Il suffira de mettre https au lieu de http dans ma requete ?
Sinon j’avais pensé peux être faire de l’oauth2 pour solutionner le problème mais c’est peut être overkill ?!
l’identifiant n’a pas les droits pour utiliser l’application Surveillance Station (panneau de config / Utilisateur / modifier l’utilisateur / onglet Application / cocher Surveillance Station)
Cette manip à trés bien fonctionné chez moi, j’utilise un compte utilisateur et je lance des requêtes complexes, comme pour stopper ou activer la détection de mouvement…
Mais au final, cela ne fonctionne pas… comme je l’indique, je suis obligé d’ajouter le groupe Admin sur le compte en question pour passer ma requête, sinon c’est erreur 105
Ton compte ne serait pas membre d’autre groupe ? est-ce que tu peux copier/coller les droits que tu lui as donné ? il y a peut être quelque chose qui m’a échappé ?
l’identifiant est sûrement désactivé dans Surveillance Station. Je vous conseil d’utiliser un identifiant unique avec les droits : dossier “surveillance” dans “permissions”, “Surveillance Station” dans “Applications” et un privilège directeur dans Surveillance Station
J’ai fait les deux de paire, c’est peu-être celle là qui m’a débloqué.
Il est bien actif dans Surveillance Station, j’ai ajouté les permission mais cela n’a rien changé, j’ai toujours l’erreur en question.
Tu peux me montré l’ensemble des propriété stp ?
J’ai l’impression que tu as créé des groupes dans surveillance station. Peut être que le problème vient de là. Je n’ai qu’un seul utilisateur et je lui ai donné le privilège directeur. Du coup sur la page profil, il est en « gestionnaire tout objet », alors que toi tu as 0.
je vais le mettre dans le group Gestionnaire tout objet et supprimer le groupe que j’ai créé mais de mémoire cela changer rien, je te dis ca dans 10 minutes le temps de faire l’opéraiton.
Ca change rien…
Question : Est-ce que tu arrives à te connecter avec le compte que tu as créés sur DSM ?
Juste pour être sur que ton compte n’a pas les privilèges DSM.
Quand je me logue avec le compte « API », j’ai pas tous les icones/options alors qu’il a pourtant les privilèges « Directeur »
Si je le mets le compte membre du groupe admin de DSM, je me relogue et j’ai tous les icones/options.
De toute évidence, il faut être dans ce groupe pour avoir les autres options et modifier les options que j’évoque… je vois pas comment tu as pu faire autrement
Donc si tu te connecte à DSM c’est que ton compte dois être membre du groupe admin.
Tu peux regarder dans la gestion des droits dans DSM pour voir les autorisations du compte et me faire une copie d’écran pour confirmer qu’il est bien membre du groupe admin ?