ISPmanager API. Méthodes d'identification (ISPmanager)
De ISPWiki.
VDSmanager prévoit différentes méthodes d'identification pour utiliser le panneau de controle en mode intractif (via navigateur) ainsi qu' à l'aide des appels locaux ou distants depuis des programmes ou des scripts externes. Il existe quatre méthodes d'identification:
- [#session Identification avec l'id de session.]
- [#authinfo Identification avec authinfo.]
- [#trustip Identification avec des adresses IP de confiance.]
- [#uid Identification lors de l'appel local des fonctions d'ISPmanager.]
Ce document décrit aussi le moyen de l' [#su exécution des fonctions ISPmanager de la part d'un autre utilisateur] et l'utilisation des protocoles [#proto HTTP et HTTPS] lors du travail avec le panneau d'administration.
Sommaire |
Identification avec l'id de session
Cette méthode convient le plus à l'utilisation du panneau d'administration via navigateur. Pour appeler une fonction ISPmanager il est nécessaire de visiter l'URL suivante, en utilisant des fonctions correspondantes des langages de programmation ou des commandes shell.
https://Adresse IP/manager/ispmgr?auth=numéro_session&out=xml&func=fonction¶mètre1=valeur¶mètre2=valeur...
Pour s'identifier il faut visiter l'url suivante:
https://Adresse IP/manager/ispmgr?out=xml&func=auth&username=nom_d'utilisateur&password=mot_de_passe
Puis ISPmanager retournera soit le message d'erreur soit le document XML suivant:
<?xml version="1.0" encoding="UTF-8"?> <doc> <auth id="id_session"/> </doc>
Après cela vous devrez spécifier cet id de session dans le paramètre auth lors de chaque requête vers ISPmanager. L'id de session est valide pendant 30 minutes. A l'expiration de ce délai vous devrez vous identifier à nouveau.
Identification avec authinfo
Cette méthode d'identification convient pour la connexion distante au panneau de contrôle. Pour appeler une fonction de ISPmanager il est nécessaire d'ajouter un paramètre supplémentaire authinfo où vous devez spécifier le nom d'utilisateur et le mot de passe sous lesquels vous souhaitez exécuter une opération, par exemple
https://Adresse IP/manager/ispmgr?authinfo=admin1:adminpass&out=xml&func=fonction¶m1=valeur¶m2=valeur...
Vous devez envoyer le paramètre authinfo lors de chaque requête vers le pannneau de contrôle.
Identification avec des adresses IP de confiance
Cette méthode d'identification convient surtout pour la connexion distante au panneau de contrôle, quand tous les appels proviennent d'une certaine adresse IP. On peut citer en exemple, le serveur sur lequel est situé le système de billing qui appelle périodiquement le panneau d'administration pour obtenir l'information sur le trafic, l'espace disque, le nombre de sites etc. Cette méthode permet de refuser l'identification, si spécifier la ligne suivante dans le fichier de configaration du panneau d'administration (/usr/local/ispmgr/etc/ispmgr.conf):
TrustIP adresse IP utilisateur
Au lieu de "adresse IP" il faut spécifier l'adresse du serveur depuis lequel les requêtes seront envoyées vers le panneau de contrôle. Au lieu de "utilisateur" - le nom de l'utilisteur avec les droits duquel les opérations seront exécutées dans le panneau de contrôle. Ce paramètre est optionnel; sans lui les requêtes seront traitées avec les droits root.
Identification et la connexion locale aux fonctions ISPmanager
Cette méthode d'identification est préférable quand il s'agit de l'appel local au panneau d'administration depuis des programmes ou des scripts externes, par exemple la connexion au panneau d'administration depuis son script qui est exécuté avec une certaine périodicité à l'aide de cron. Dans ce cas le panneau d'administration fixe lui-même l'[termin#uid UID] du processus qui a envoyé une requête et le traite avec les droits d'un utilisateur qui a cet UID. Aucune identification supplémentaire n'est requise.
HTTP ou HTTPS?
HTTP n'est pas un protocole sécurisé, donc il est dangereux de transmettre des mots de passe ou des numéros de sessions par ce protocole. C'est pourquoi le panneau de contrôle controle que l'adresse IP d'une machine appelant corresponde à celle du serveur où il est installé, et si ces adresses sont identiques (en cas d'appel local des fonctions VDSmanager), il permet d'utiliser le protocole HTTP. Sinon, le protocole HTTPS seul peut être utilisé et lors de la tentative de connexion au panneau de contrôle par protocole HTTP le message d'erreur sera retourné.
Appel des fonctions d'ISPmanager avec les droits d'un autre utilisateur
Pour appeler une fonction d'ISPmanager avec les droits d'un autre utilisateur il faut ajouter un paramètre supplémentaire su=nom_utilisateur à l'URL. L'administrateur du serveur peut se connecter aux fonctions avec les droits de n'importe quels utilisateurs et l'administrateur de site ne peut le faire qu'avec les droits des utilisateurs de son site. Pour tous les autres c'est interdit.
