La plateforme vient avec comme capacité pour ingérer des fichiers (données non-structurées ou structurées) un stockage S3 (Minio) et l'exposition via un serveur SFTP mis en place par Arkhn pour permettre ces imports.
Ce serveur permet aux clients de se connecter à l'aide :
💡 Le serveur SFTP est une interface d'ingestion de fichiers, pas d'exposition de données de l'EDS.
Le serveur SFTP est activable simplement via les paramètres Helm du déploiement en activant les valeurs suivantes :
# deployment-hospital/argocd/apps/arkhn_platform.yaml
helm:
parameters:
values: |
monitoring:
sftp2s3:
enabled: true
Lors de son déploiement le système créera alors :
sftp-uploadssftp-config pour la configuration des clients et zones de dépôts de fichiers;sftp-host-key représentant la clé SSH de signature présentée par le serveur;Pour ajouter un nouveau client, ce client doit d'abord générer une clé SSH (contenant donc une clé privée et une clé publique), en utilisant une commande similaire à :
ssh-keygen -t ed25519
Une fois cette clé générée, la clé publique (ici id_ed25519.pub ) doit être transmise à un Data Manager de la plateforme, celui-ci devra se connecter sur Vault via https://<fqdn>/ui/ et aller modifier le secret sftp-config en remplissant les champs user, ssh_public_key et landing_directory.
Ces champs définiront :
sftp-uploads où finiront les fichiers et dossier créé par le client.[
{
"landing_directory": "my-uploads/<year>/<month>/<day>/",
"ssh_public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILmQfuGtgqyYmAdtqwsgFg+Xk7WDjogR+LP9DodHoxTq",
"user": "ogirardot"
},
{
"landing_directory": "pmsi/",
"ssh_public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILmQfuGtgqyYmAdtqwsgFg+Xk7WDjogR+LP9DodHoxTq",
"user": "pmsi"
}
]
💡 Le paramètre landing_directory peut contenir des symboles <year>, <month>, <day>, <hour>, <minute> qui seront remplacés par le système dans la hiérarchie de dossier permettant d'horodaté les dépôts de fichiers automatiquement.
Un redémarrage du serveur SFTP peut être nécessaire, mais la configuration est rechargée régulièrement.
Enfin, du point de vue du client SFTP, il ne verra pas toute la hiérarchie de dossier et sa "racine" (/) sera de facto le dossier spécifié en configuration : chaqueuserne voit l'arborescence qu'à partir de sa/landing_directory.
Quand la clé n'a pas un nom standard, un client SFTP ne va pas la "tester" pour l'authentification sans indications supplémentaires, ainsi la ligne de connecter devient :
sftp -P 8022 -i lien_vers_le_fichier.pub <user>@<fqdn>