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.
snmpConfig
(object) - La configuration SNMP.server
(object) - La configuration du serveur SNMP local.localUDPAddress
(string) - L’adresse UDP locale (port inclus) du serveur SNMP.v3Only
(bool) - Indique si le serveur est restreint à SNMPv3 uniquement. Par défaut, SNMPv2 et SNMPv3 sont toutes deux acceptées (à supposé que leurs configurations respectives ci-dessous soient valides).community
(string) - [SNMPv2 uniquement] La valeur de communauté (ou mot de passe) du serveur. Par défaut, la valeur « public » est utilisée.v3Username
(string) - [SNMPv3 uniquement] Le nom d’utilisateur pour l’authentifier sur le serveur. À noter que le nom d’utilisateur est requis avec SNMPv3 même si l’authentification est désactivée.v3AuthProtocol
(string) - [SNMPv3 uniquement] L’algorithme d’authentification utilisé. Les valeurs acceptées sont :MD5
,SHA
,SHA-224
,SHA-256
,SHA-384
etSHA-512
.v3AuthPassphrase
(string) - [SNMPv3 uniquement] La passphrase d’authentification.v3PrivacyProtocol
(string) - [SNMPv3 uniquement] L’algorithme de confidentialité utilisé. Les valeurs acceptées sont :DES
,AES
,AES-192
,AES-192C
,AES-256
etAES-256C
.v3PrivacyPassphrase
(string) - [SNMPv3 uniquement] La passphrase de confidentialité.
monitors
(array) - La liste des moniteurs SNMP connus.name
(string) - Le nom du moniteur SNMP.snmpVersion
(string) - La version de SNMP utilisée par le moniteur. Les versions acceptées sont « SNMPv2 » et « SNMPv3 » (SNMPv1 n’est pas supportée).udpAddress
(string) - L’adresse UDP (port inclus) du moniteur à laquelle les notifications SNMP doivent être envoyées.useInforms
(bool) - Spécifie le type de notification à envoyer au moniteur. Si faux (par défaut), Gateway enverra des traps. Si vrai, Gateway enverra des informs.community
(string) - [SNMPv2 uniquement] La valeur de communauté (ou mot de passe) du moniteur. Par défaut, la valeur « public » est utilisée.v3ContextName
(string) - [SNMPv3 uniquement] Le nom du contexte SNMPv3.v3ContextEngineID
(string) - [SNMPv3 uniquement] L’ID du moteur de contexte SNMPv3.v3Security
(string) - [SNMPv3 uniquement] Spécifie le niveau de sécurité SNMPv3 à utiliser avec ce moniteur. Les valeurs acceptées sont :noAuthNoPriv
: pas d’authentification ni de confidentialitéauthNoPriv
: authentification, mais pas de confidentialitéauthPriv
: authentification et confidentialité
Par défaut, l’authentification et la confidentialité sont toutes deux désactivées.
authEngineID
(string) - [SNMPv3 uniquement] L’ID du moteur d’authentification. N’a aucun effet si le moniteur utilise des informs (voir l’option useInforms ci-dessus).authUsername
(string) - [SNMPv3 uniquement] Le nom d’utilisateur. À noter que le nom d’utilisateur est requis avec SNMPv3 même si l’authentification est désactivée.authProtocol
(string) - [SNMPv3 uniquement] L’algorithme d’authentification utilisé. Les valeurs acceptées sont :MD5
,SHA
,SHA-224
,SHA-256
,SHA-384
etSHA-512
.authPassphrase
(string) - [SNMPv3 uniquement] La passphrase d’authentification.privProtocol
(string) - [SNMPv3 uniquement] L’algorithme de confidentialité utilisé. Les valeurs acceptées sont :DES
,AES
,AES-192
,AES-192C
,AES-256
etAES-256C
.privPassphrase
(string) - [SNMPv3 uniquement] La passphrase de confidentialité.
authorities
(array) - Liste des autorités de certification reconnue par Gateway.name
(string) - Le nom de l’autorité.type
(string) - Le type d’autorité (voir les méthodes d’authentification, chapitre « Autorité d’authentification » pour la liste des types supportés.publicIdentity
(string) - La valeur d’identité publique de l’autorité (en général, son certificat).validHosts
(array of strings) - La liste des hôtes que l’autorité est habilitée à authentifier. Si vide, l’autorité est habilité à authentifier tous les hôtes qu’elle a certifié.
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",
}
}],
"snmpConfig": {
"server" : {
"localUDPAddress": "0.0.0.0:161",
"community": "public",
"v3Only": false,
"v3Username": "toto"
"v3AuthProtocol": "MD5"
"v3AuthPassphrase": "sesame",
"v3PrivacyProtocol": "DES",
"v3PrivacyPassphrase": "secret"
},
"monitors" : [{
"name": "centreon",
"snmpVersion": "SNMPv3",
"udpAddress": "20.0.0.0:162"
"community": "public",
"useInforms": true,
"v3ContextName": "waarp-gw",
"v3ContextEngineID": "123"
"v3Security": "authPriv",
"v3AuthEngineID": "456",
"v3AuthUsername": "tata",
"v3AuthProtocol": "SHA",
"v3AuthPassphrase": "sesame",
"v3PrivacyProtocol": "AES",
"v3PrivacyPassphrase": "secret"
}]
}
}