top of page
Rechercher
  • Photo du rédacteurNicolas Housset

Ajouter des certificats au Truststore VIYA

Pour permettre l’accès à des données ou à un service tiers depuis SAS Viya 3.5, vous pourriez être amené à devoir ajouter un certificat CA dans le trutstore.

En effet, pour permettre une connexion sécurisée, le certificat de l’autorité certifiante du service appelé doit être présent dans le trutstore SAS (trustedcerts.jks et trustedcerts.pem dans le répertoire cacerts de SASSecurityCertificateFramework).


Avant d’aller plus loin, je vous invite à prendre connaissance de la documentation SAS officielle sur le sujet :


La meilleure façon d'ajouter des certificats au truststore dans un déploiement complet de SAS Viya est d'utiliser le CLI de SAS Bootstrap Config. Il s'agit d' un outil permettant de gérer le magasin de valeurs de clés Consul.


En utilisant le CLI de SAS Bootstrap Config, vous pouvez ajouter des certificats au magasin de valeurs de clés (KV) qui seront lus et mis à jour lorsque le playbook rebuild-truststores.yml est exécuté.


Vous pouvez également utiliser le CLI de SAS Bootstrap Config lorsque Consul est en cours d'exécution, afin d' ajouter des certificats à la liste de confiance sous Linux.


Vous ne devez pas modifier les fichiers truststore de SAS Viya (trustedcerts.pem et trustedcerts.jks) manuellement ou à l'aide d'une commande keytool, car ces fichiers sont écrasés par les processus automatisés. Vous devez suivre les étapes de mises à jour ci-dessous.


Ajout d'un certificat étape par étape


1 - Vérification du format


Assurez-vous que les certificats soient au format encodé PEM et placez ces fichiers dans le répertoire /opt/sas/viya/config/etc/SASSecurityCertificateFramework/cacerts.


Dans mon exemple, j'ai copié le fichier awsCA.pem dans le répertoire. C'est cette chaine de certification que je souhaite ajouter au magasin de certificat de SAS VIYA.


2 - Exécution de sas-bootstrap-config


Ensuite, il faut définir le jeton d'accès à Consul dans la variable d'environnement CONSUL_HTTP_TOKEN en exécutant les commandes ci-dessous :


. /opt/sas/viya/config/consul.conf
export CONSUL_HTTP_TOKEN=$(cat /opt/sas/viya/config/etc/SASSecurityCertificateFramework/tokens/consul/default/client.token)

Vérifiez que la variable CONSUL_HTTP_TOKEN est correctement définie :


 echo $CONSUL_HTTP_TOKEN

Pour effectuer l'import dans Consul, choisissez un nom de clé unique pour le certificat qui sera ajouté au magasin de confiance et chargé dans consul.


Dans cet exemple, nous appelons notre fichier de certificat awsCA.pem et notre nom de clé awsCA.


Alors, chargez la clé certificat dans Consul à l'aide de la commande CLI SAS Bootstrap Config suivante :


/opt/sas/viya/home/bin/sas-bootstrap-config kv write --key cacerts/awsCA --file /opt/sas/viya/config/etc/SASSecurityCertificateFramework/cacerts/awsCA.pem

La commande doit s'exécuter sans erreur. Validez ensuite que votre certificat est bien chargé dans Consul :


/opt/sas/viya/home/bin/sas-bootstrap-config kv read cacerts/awsCA

3 - Reconstruction du trutstore via Ansible


Maintenant que notre certificat est dans Consul, il faut utiliser le playbook Ansible pour reconstruire les truststores sur tous les hôtes du déploiement SAS Viya.

Sur votre machine contrôleur Ansible, exécutez le playbook rebuild-trust-stores.yml. Exécutez la commande suivante à partir du répertoire /sas_viya_playbook/ :


ansible-playbook -i inventory.ini ./utility/rebuild-trust-stores.yml

Le playbook rebuild-trust-stores.yml exécute notamment la tâche [Update /opt/sas/spre/home trust stores] (fichier tasks/rebuild-trust-stores.yml)




Utilisez la commande openssl ci-dessous pour vérifier la présence de votre nouveau certificat dans le truststore Viya :



openssl verify -CAfile /opt/sas/viya/config/etc/SASSecurityCertificateFramework/cacerts/trustedcerts.pem /opt/sas/viya/config/etc/SASSecurityCertificateFramework/cacerts/awsCA.pem


4 - Redémarrage de SAS VIYA


Redémarrez tous les services de manière à ce qu'ils fassent désormais référence aux trusts mis à jour.

76 vues0 commentaire

Comments


Post: Blog2_Post
bottom of page