Fichier d’import/export¶
Lors de l’import/export de la base de données de Gateway, les données sont stockées dans un fichier en format JSON. Ce JSON a la forme suivante :
local
(array) - La liste des serveurs locaux de la Gateway.name
(string) - Le nom du serveur.protocol
(string) - Le protocole du serveur.disabled
(bool) - Indique si le serveur doit être démarré automatiquement au lancement de la gateway.root
(string) - Le dossier racine du serveur.workDir
(string) - Le dossier temporaire du serveur.configuration
(object) - La configuration protocolaire du serveur.credentials
(array) - La liste des informations d’authentification du serveur. Voir la page sur les reference-auth-methods (section « authentification externe ») pour la liste des types supportés et les valeurs d’authentification attendue pour chacun d’entres eux.name
(string) - [Optionnel] Le nom de l’identifiant. Par défaut, le type est utilisé comme nom.type
(string) - Le type d’identifiant.value
(string) - La valeur d’authentification (mot de passe, certificat, …).value2
(string) - [Optionnel] La valeur d’authentification secondaire (si la méthode d’authentification en requiert une).
certificates
(array) - La liste des certificats du serveur. [OBSOLÈTE] Remplacé parcredentials
.name
(string) - Le nom du certificat.privateKey
(string) - La clé privée du serveur en format PEM.certificat
(string) - La chaîne de certification du serveur en format PEM.
accounts
(array) - La liste des comptes rattaché au serveur.login
(string) - Le login du compte.password
(string) - Le mot de passe du compte. Si le compte a été exporté depuis une gateway existante,passwordHash
sera utilisé à la place.passwordHash
(string) - Un hash bcrypt du mot de passe du compte. utilisé uniquement lors de l’export depuis une gateway existante.credentials
(array) - La liste des informations d’authentification du compte. Voir la page sur les reference-auth-methods (section « authentification interne ») pour la liste des types supportés et les valeurs d’authentification attendue pour chacun d’entres eux.name
(string) - [Optionnel] Le nom de l’identifiant. Par défaut, le type est utilisé comme nom.type
(string) - Le type d’identifiant.value
(string) - La valeur d’authentification (mot de passe, certificat, …).value2
(string) - [Optionnel] La valeur d’authentification secondaire (si la méthode d’authentification en requiert une).
certificates
(array) - La liste des certificats du compte. [OBSOLÈTE] Remplacé parcredentials
.name
(string) - Le nom du certificat.certificate
(string) - La chaîne de certification du compte en format PEM (mutuellement exclusif avecpublic_key
).publicKey
(string) - La clé publique SSH du compte (hostkey) en format authorized_key (mutuellement exclusif aveccertificate
)
remotes
(array) - La liste des partenaires de transfert de Gateway.name
(string) - Le nom du partenaire.protocol
(string) - Le protocole du partenaire.configuration
(object) - La configuration protocolaire du serveur.credentials
(array) - La liste des informations d’authentification du partenaire. Voir la page sur les reference-auth-methods (section « authentification interne ») pour la liste des types supportés et les valeurs d’authentification attendue pour chacun d’entres eux.name
(string) - [Optionnel] Le nom de l’identifiant. Par défaut, le type est utilisé comme nom.type
(string) - Le type d’identifiant.value
(string) - La valeur d’authentification (mot de passe, certificat, …).value2
(string) - [Optionnel] La valeur d’authentification secondaire (si la méthode d’authentification en requiert une).
certificates
(array) - La liste des certificats du partenaire. [OBSOLÈTE] Remplacé parcredentials
.name
(string) - Le nom du certificat.Certificat
(string) - La chaîne de certification du partenaire en format PEM (mutuellement exclusif avecpublic_key
).publicKey
(string) - La clé publique SSH du partenaire (hostkey) en format authorized_key (mutuellement exclusif aveccertificate
)
accounts
(array) - La liste des comptes rattaché au partenaire.login
(string) - Le login du compte.password
(string) - Le mot de passe du compte.credentials
(array) - La liste des informations d’authentification du compte. Voir la page sur les reference-auth-methods (section « authentification externe ») pour la liste des types supportés et les valeurs d’authentification attendue pour chacun d’entres eux.name
(string) - [Optionnel] Le nom de l’identifiant. Par défaut, le type est utilisé comme nom.type
(string) - Le type d’identifiant.value
(string) - La valeur d’authentification (mot de passe, certificat, …).value2
(string) - [Optionnel] La valeur d’authentification secondaire (si la méthode d’authentification en requiert une).
certificates
(array) - La liste des certificats du compte. [OBSOLÈTE] Remplacé parcredentials
.name
(string) - Le nom du certificat.privateKey
(string) - La clé privée du compte en format PEM.certificat
(string) - La chaîne de certification du compte en format PEM.
clients
(array) - La liste des clients de transfert de la gateway.name
(string) - Le nom du client.protocol
(string) - Le protocole du client.disabled
(bool) - Indique si le client doit être démarré automatiquement au lancement de la gateway.localAddress
(string) - L’adresse locale du client.protoConfig
(object) - La configuration protocolaire du client.
rules
(array) - La liste des règles de transfert de la gateway.name
(string) - Le nom de la règle de transfert.isSend
(bool) - Le sens de la règle.true
pour l’envoi,false
pour la réception.path
(string) - Le chemin de la règle. Permet d’identifier la règle lorsque le protocole seul ne le permet pas.inPath
(string) - Le dossier de réception de la règle.outPath
(string) - Le dossier d’envoi de la règle.workPath
(string) - Le dossier de réception temporaire de la règle.auth
(array) - La liste des agents autorisés à utiliser la règle. Chaque élément de la liste doit être précédé de sa nature (remote
oulocal
) suivi du nom de l’agent, le tout séparé par::
(ex:local::serveur_sftp
). Si l’agent est un compte, alors le nom de compte doit être précédé du nom du serveur/partenaire auquel le compte est rattaché (ex:local::serveur_sftp::toto
).pre
(array) - La liste des pré-traitements de la règle. Voir la documentation des traitements pour la liste des traitements disponibles ainsi que les arguments nécessaires à chacun d’entre eux.type
(string) - Le type de traitement.args
(object) - Les arguments du traitement. Variable suivant le type de traitement (cf. traitements).
post
(array) - La liste des post-traitements de la règle. Voir la documentation des traitements pour la liste des traitements disponibles ainsi que les arguments nécessaires à chacun d’entre eux.type
(string) - Le type de traitement.args
(object) - Les arguments du traitement. Variable suivant le type de traitement (cf. traitements).
error
(array) - La liste des traitements d’erreur de la règle. Voir la documentation des traitements pour la liste des traitements disponibles ainsi que les arguments nécessaires à chacun d’entre eux.type
(string) - Le type de traitement.args
(object) - Les arguments du traitement. Variable suivant le type de traitement (cf. traitements).
users
(array) - La liste des utilisateurs de l’interface d’administration de la gateway.username
(string) - Le nom de l’utilisateur.password
(string) - Le mot de passe en clair de l’utilisateur. Utilisé uniquement pour l’import, les mots de passes ne sont jamais exportés en clair mais sous forme de hash (voir ci-dessous).passwordHash
(string) - Un hash bcrypt du mot de passe de l’utilisateur.permissions
(object) - La liste des droits de l’utilisateur. Les droits sont renseignés en format chmod (« rwd ») indiquant respectivement le droit de lecture, d’écriture et de suppression sur l’élément concerné. Un trait d’union « - » est utilisé pour marquer l’absence d’un droit.transfers
(string) - Les droits de l’utilisateur en matière de gestion transferts.servers
(string) - Les droits de l’utilisateur en matière de gestion des serveurs et clients locaux.partners
(string) - Les droits de l’utilisateur en matière de gestion des partenaires distants.rules
(string) - Les droits de l’utilisateur en matière de gestion des règles de transfert.users
(string) - Les droits de l’utilisateur en matière de gestion des utilisateurs de l’interface d’administration.administration
(string) - Les droits de l’utilisateur en matière de gestion de la configuration de Gateway. Cela inclue l”override de configuration, la gestion de SNMP, des instances cloud et des autorités de certification.
clouds
(array) - La liste des instances cloud de la gateway.name
(string) - Le nom de l’instance cloud.type
(string) - Le type de l’instance cloud. Voir la :ref:`section
cloud <reference-cloud>` de la documentation pour la liste des types d’instance cloud supportés. *
key
(string) - La clé de connexion à l’instance cloud (si l’instancecloud en requiert une).
secret
(string) - Le secret d’authentification (mot de passe, token…) de l’instance cloud (si l’instance cloud en requiert un).options
(object) - Les options de connexion à l’instance cloud. Ces options varie en fonction du type de l’instance cloud. Voir la section cloud du type de l’instance pour avoir la liste des options disponibles.
Exemple
{
"locals": [{
"name": "serveur_sftp",
"protocol": "sftp",
"disabled": false,
"address": "0.0.0.0:2222"
"root": "/sftp",
"workDir": "/sftp/tmp",
"accounts": [{
"login": "toto",
"password": "sésame",
"certs": [{
"name": "toto_ssh_pbk",
"publicKey": "<clé publique SSH>",
}]
}],
"certs": [{
"name": "server_sftp_hostkey",
"privateKey": "<clé privée SSH>",
}]
}],
"remotes": [{
"name": "openssh",
"address": "10.0.0.0:22"
"accounts": [{
"login": "titi",
"password": "sésame",
"certs": [{
"name": "titi_ssh_pk",
"privateKey": "<clé privée SSH>",
}]
}],
"certs": [{
"name": "openssh_hostkey",
"publicKey": "<clé publique SSH>",
}]
}]
"clients": [{
"name": "sftp_client",
"protocol": "sftp",
"disabled": false,
"localAddress": "0.0.0.0:2223",
}],
"rules": [{
"name": "send",
"isSend": true,
"path": "send",
"inPath": "send/in",
"outPath": "send/out",
"workPath": "send/tmp",
"access": [
"local::serveur_sftp",
"remote::openssh"
],
"pre": [],
"post": [],
"error": []
}, {
"name": "receive",
"isSend": false,
"path": "receive",
"access": [
"local::openssh",
"local::serveur_sftp::toto",
],
"pre": [],
"post": [],
"error": []
}],
"users": [{
"username": "toto",
"password": "sésame",
"permissions": {
"transfers": "rw-",
"servers": "rwd",
"partners": "rw-",
"rules": "rwd",
"users": "r--",
"administration": "---"
}
}],
"clouds": [{
"name": "aws-s3",
"type": "s3",
"key": "<clé d'accès AWS>",
"secret": "<clé d'accès secrète AWS>",
"options": {
"region": "eu-west-1",
"bucket": "gw-bucket",
}
}]
}