9. Intégration d’une application externe dans Vitam

9.1. Prérequis

L’application externe devra être en mesure de requêter les composants VITAM ingest-external et access-external sur leur port de service par le protocole HTTPS.

Il faut donc prévoir une ouverture de flux réseau pour le protocole TCP (selon l’infrastructure en place) sur les ports de service des composants VITAM ingest-external et access-external.

La sécurisation des connexions HTTP avec les applications externes est déléguée aux composants VITAM ingest-external et access-external (ou bien éventuellement à un reverse-proxy, selon l’infrastructure de déploiement VITAM retenue).

La création d’un certificat TLS client pour l’application externe est requise afin de permettre l’habilitation et l’authentification applicative des requêtes émises depuis l’application externe vers les composants VITAM ingest-external et access-external.

9.2. Intégration de certificats clients de VITAM

9.2.1. Authentification applicative SIA

Le certificat client de l’application externe devra être ajouté dans la base de données du composant security-internal afin de permettre la gestion des habilitations et l’authentification applicative de l’application externe.

  • Editer le fichier environments/group_vars/all/vitam_security.yml et ajouter le(s) entrée(s) supplémentaire(s) (sous forme répertoire/fichier.crt) dans la directive admin_context_certs
  • Déposer le certificat client de l’application dans environments/certs/client-external/clients/external

Avertissement

Bien vérifier qu’aucun certificat ou CA non souhaité ne soit présent dans environments/certs/*

Lorsque l’authentification du client, par le protocole TLS, est réalisée, l’AC du certificat client doit être déployée dans le truststore des composants VITAM ingest-external et access-external. SI le certificat client est passé dans le header http (cas de l’authentification applicative par header http X-SSL-CLIENT-CERT), le certificat client n’est alors pas utilisé dans la négociation TLS et il n’est donc pas nécéssaire d’inclure l’AC associée dans le truststore des composants VITAM ingest-external et access-external.

Vitam fournit une arborescence de répertoire permettant d’ajouter automatiquement la chaîne de certification client dans les bons keystores.

  • Déposer les certificats de la chaîne de certification client dans environments/certs/client-external/ca. Ensuite, si ce n’est pas déjà fait, il reste à positionner les autres certificats, puis générer les keystores. Pour cela, se référer au DIN, chapitre concernant la gestion des certificats.

9.2.2. Authentification personae

Les exemple suivants permettent d’ajouter ou supprimer un certificat présent sous /path/to/certificate.

9.2.2.1. Ajout d’un certificat pour l’authentification Personae

curl -XPOST -H "Content-type: application/octet-stream" --data-binary @/path/to/certificate 'http://<ip admin security-internal>:<port admin security-internal>/v1/api/personalCertificate'

9.2.2.2. Suppression d’un certificat pour l’authentification Personae

curl -XDELETE -H "Content-type: application/octet-stream" --data-binary @/path/to/certificate 'http://<ip admin security-internal>:<port admin security-internal>/v1/api/personalCertificate'

9.3. Déploiement des keystores

9.3.1. Vitam n’est pas encore déployé

Déployer Vitam en suivant la procédure indiquée dans le DIN.

9.3.2. Vitam est déjà déployé

Suivre la procédure de la section Mise à jour des certificats.