Utiliser le Secret Manager avec l'API compatible Hashicorp Vault KV2

Base de connaissances

Utiliser le Secret Manager avec l'API compatible Hashicorp Vault KV2


Icons/System/eye-open Created with Sketch. 583 vues 15.10.2025 Secret Manager

Objectif

L'objectif de ce guide est de présenter l'usage de l'API compatible Hashicorp Vault KV2 pour le Secret Manager.

Prérequis

En pratique

Description

Le Secret Manager est un produit vous permettant de stocker de manière sécurisée les credentials, clés d'API, clés SSH ou tout autre type de secret nécessaire au fonctionnement de vos applications.

Un secret est une collection d'une ou plusieurs clés/valeurs regroupées au sein d'une version. Chaque modification d'un secret amène la création d'une nouvelle version de ce secret, permettant de remonter dans l'historique des modifications du secret.

Les API compatibles Hashicorp Vault KV2 sont l'un des deux jeux d'API offerts par le Secret Manager avec les API REST. Elles sont conçues pour être similaires aux API Hashicorp Vault afin d'assurer une compatibilité avec les applications déjà compatibles avec Hashicorp Vault.

Communiquer avec le domaine OKMS

La communication avec le domaine OKMS pour les actions de chiffrement et de signature est disponible via l'API.

Le domaine OKMS étant régionalisé, l'accès à l'API se fait directement sur la région de celui-ci : https://my-region.okms.ovh.net.

Par exemple, pour un domaine OKMS créé sur la région eu-west-rbx : https://eu-west-rbx.okms.ovh.net.

Il est possible de communiquer avec le domaine OKMS en utilisant :

Utilisation de l'API OKMS via l'interface utilisateur Swagger

Il est possible d'accéder au Swagger correspondant à votre domaine OKMS en cliquant sur le lien présent dans l'espace client OVHcloud au niveau du dashboard de votre domaine OKMS.

swagger

Vous êtes alors redirigé sur la version non authentifiée de l'interface utilisateur Swagger, qui est destinée à la documentation de l'API. Si vous souhaitez utiliser l'interface utilisateur Swagger pour effectuer des requêtes sur votre propre domaine OKMS, vous devez basculer vers la version authentifiée, dont le lien se trouve dans la section description :

public-swagger-ui

Les étapes suivantes vous guideront sur la façon de vous authentifier.

Import de vos informations d'identification OKMS dans le navigateur

Pour accéder à l'interface utilisateur Swagger authentifiée, vous devez charger votre certificat d'accès OKMS dans le gestionnaire de certificats du navigateur.

Pour cela, il faut le convertir au format PKCS#12. PKCS#12 est un format binaire permettant de stocker une chaîne de certificats et une clé privée dans un seul fichier chiffré. Il est couramment utilisé pour importer et exporter des certificats et des clés privées, en particulier dans les environnements qui nécessitent un transport sécurisé de ces éléments, tels que les serveurs web et les applications clientes.

Pour convertir vos informations d'identification au domaine OKMS (normalement nommés ID_certificate.pem et ID_privatekey.pem) en PKCS#12 avec la CLI openssl, utilisez la commande suivante :

openssl pkcs12 -export -in ID_certificate.pem  -inkey ID_privatekey.pem -out client.p12

Vous serez invité à entrer un mot de passe qui sera utilisé pour le chiffrement symétrique du contenu du fichier. Vous devez ensuite l'importer dans votre navigateur web.

Sur Firefox
  • Tapez about:preferences#privacy dans la barre d'adresse.
  • Faites défiler vers le bas jusqu'à atteindre une section intitulée Certificats.

firefox-cert-manager

  • Cliquez sur Afficher les Certificats... pour ouvrir le gestionnaire de certificats.
  • Accédez à l'onglet intitulé Vos Certificats, puis cliquez sur Importer... et sélectionnez l'emplacement de votre fichier client.p12.
  • Vous serez invité à entrer le mot de passe que vous avez utilisé lors de la création du fichier PKCS#12.
  • Après avoir entré le mot de passe, votre certificat sera importé et prêt à l'emploi.
Sur Chrome/Chromium
  • Tapez chrome://settings/certificates dans la barre d'adresse.
  • Accédez à l'onglet Vos certificats. Cliquez sur Importer et sélectionnez votre fichier client.p12.
  • Vous serez invité à entrer le mot de passe que vous avez utilisé lors de la création du fichier PKCS#12.
  • Après avoir entré le mot de passe, votre certificat sera importé et prêt à l'emploi.

chromium-cert-manager

Accès à l'interface utilisateur Swagger authentifiée

Une fois votre certificat chargé dans votre navigateur, vous pouvez accéder à l'interface utilisateur Swagger authentifiée.

Vous serez invité à vous identifier avec un certificat. Sélectionnez le certificat PKCS#12 précédemment importé dans la liste déroulante.

identification-certificat

Vous pouvez maintenant utiliser l'interface utilisateur Swagger de manière interactive.

Créer un secret

Pour créer un secret, il est possible d'utiliser l'API suivante :

MéthodeCheminDescription
POST/api/{okmsId}/v1/secret/data/{path}Créer un secret

Le chemin du secret devant être indiqué dans le chemin de l'API.

L'API attend les valeurs suivantes :

ChampValeurDescription
dataJsonContenu du secret. Il est possible d'avoir des JSON imbriqués
casInteger(optionnel) Version actuelle du secret

Par exemple :

{
  "data": {
      "login": "admin",
      "password": "my_secret_password",
      "address": {
        "ip": "1.1.1.1"
      },
      "ports": [
        "30",
        "31"
      ]
  },
  "options": {
      "cas": 0
  }
}

Il est aussi possible d'ajouter des métadonnées au secret par l'API :

MéthodeCheminDescription
POST/api/{okmsId}/v1/secret/metadata/{path}Mettre à jour les métadonnées d'un secret

L'API attend les valeurs suivantes :

ChampValeurDescription
cas_requiredbooléenSi activé, il est nécessaire de systématiquement préciser le numéro de version actuelle lors des modifications
custom_metadataJsonDonnées complémentaires associées au secret. Ces données ne sont pas protégées par le secret
deactivate_version_afterDuration StringDurée après laquelle les versions sont désactivées
max_versionsIntegerNombre maximal de versions pour le secret

Par exemple :

{
  "cas_required": true,
  "custom_metadata": {
    "project": "A",
    "team": "X"
  },
  "deactivate_version_after": "10h30m10s",
  "max_versions": 5
}

Gérer les secrets

Mettre à jour les métadonnées et la configuration

Une fois le secret créé, il est possible de mettre à jour les métadonnées du secret ainsi que sa configuration.

MéthodeCheminDescription
PATCH/api/{okmsId}/v1/secret/metadata/{path}Mettre à jour les métadonnées d'un secret

L'API attend les valeurs suivantes :

ChampValeurDescription
cas_requiredbooléenSi activé, il est nécessaire de systématiquement préciser le numéro de version actuelle lors des modifications
custom_metadataJsonDonnées complémentaires associées au secret. Ces données ne sont pas protégées par le secret
deactivate_version_afterDuration StringDurée après laquelle les versions sont désactivées
max_versionsIntegerNombre maximal de versions pour le secret

Il est aussi possible de changer la configuration par défaut du domaine OKMS pour les valeurs cas_required, deactivate_version_after et max_versions par l'API :

MéthodeCheminDescription
POST/api/{okmsId}/v1/secret/configConfigurer la configuration par défaut du domaine OKMS

Créer une nouvelle version

Il est aussi possible de modifier le contenu du secret, ce qui implique la création d'une nouvelle version pour ce secret. Les nouvelles versions peuvent être créées par l'API :

MéthodeCheminDescription
PATCH/api/{okmsId}/v1/secret/data/{path}Mettre à jour un secret

Un secret peut contenir autant de versions que souhaitées dans la limite maximale du paramètre max_versions Si le maximum de version est atteint, la plus ancienne version est automatiquement supprimée.

Gérer les versions

Il est possible de gérer les différentes versions du secret par plusieurs API :

MéthodeCheminDescription
POST/api/{okmsId}/v1/secret/delete/{path}Désactive les versions spécifiées du secret
DELETE/api/{okmsId}/v1/secret/data/{path}Désactive la dernière version du secret

Les versions désactivées d'un secret sont encore présentes dans le Secret Manager mais leur contenu n'est plus accessible.

Il est possible de réactiver une version par l'API :

MéthodeCheminDescription
POST/api/{okmsId}/v1/secret/undelete/{path}Réactive les versions spécifiées du secret

Enfin il est possible de supprimer définitivement une version par l'API :

MéthodeCheminDescription
PUT/api/{okmsId}/v1/secret/destroy/{path}Supprime les versions spécifiées du secret

Il est aussi possible de supprimer définitivement l'intégralité du secret avec toutes ses versions :

MéthodeCheminDescription
DELETE/api/{okmsId}/v1/secret/metadata/{path}Supprime le secret et ses versions

Une version supprimée n'est plus présente dans le Secret Manager et ne peut plus être réactivée.

Aller plus loin

Échangez avec notre communauté d'utilisateurs.

Articles associés