Comment connecter un produit compatible en utilisant le protocole KMIP

Base de connaissances

Comment connecter un produit compatible en utilisant le protocole KMIP


Icons/System/eye-open Created with Sketch. 161 vues 11.07.2025 KMS

Objectif

L'objectif de ce guide est de présenter l'utilisation du protocole KMIP ainsi que les différentes opérations et types supportées par le KMS OVHcloud.

Prérequis

En pratique

Description

Le protocole KMIP (Key Management Interoperability Protocol) est un protocole conçu pour standardiser les communications avec un KMS. Ainsi tout produit supportant le KMIP (comme VMware vSphere, Veeam, Nutanix, etc.) peut nativement s'interfacer avec un KMS compatible KMIP comme le KMS OVHcloud, que ces produits soient hébergés par OVHcloud ou non.

Cela permet d'assurer une connexion facilitée, ainsi que la réversibilité de cette configuration.

Connexion d'un produit compatible KMIP avec le KMS OVHcloud

La procédure de configuration varie en fonction du produit à intégrer, mais ne nécessite aucune autre configuration préalable sur le KMS OVHcloud que de générer un certificat d'accès. Les éditeurs de logiciels fournissent en général des guides dédiés à cet objectif.

A titre d'exemple, les produits suivants ont été validés à l'utilisation avec le KMS OVHcloud :

Utilisation directe

Il est aussi possible d'utiliser les API KMIP directement.

L'authentification sur ce protocole s’effectue avec un certificat client, de la même façon qu’avec l’API REST. Il faut donc ouvrir un flux TLS tout en fournissant un certificat d'accès valide.

A partir de là, il est possible d'échanger des messages KMIP tels que définis dans le standard. Selon votre stack technologique, nous vous recommandons des librairies telles que :

Vous pouvez aussi utiliser notre SDK pour Go : https://github.com/ovh/kmip-go

IAM Rights

Les opérations KMIP avec un utilisateur IAM nécessitent des droits spécifiques listés ci-dessous

Opération KMIPDescriptionAction
CreateCréer un objet managéokms:kmip:create
GetLister un objet managéokms:kmip:get
RegisterEnregistrer un objet managéokms:kmip:register
ActivateActiver un objet managéokms:kmip:activate
RevokeRévoquer un objet managéokms:kmip:revoke
DestroyDétruire un objet managéokms:kmip:destroy
CreateKeyPairCréer une paire de clésokms:kmip:createKeyPair
AddAttributeAjouter un attribut à un objet managéokms:kmip:addAttribute
GetAttributesLister les attributs d'un objet managéokms:kmip:getAttributes
GetAttributeListLister les noms d'attributsokms:kmip:getAttributeList
ModifyAttributeModifier l'attribut d'un objet managéokms:kmip:modifyAttribute
DeleteAttributeSupprimer l'attribut d'un objet managéokms:kmip:deleteAttribute
LocateLocaliser un objet managéokms:kmip:locate
ArchiveArchiver un objet managéokms:kmip:archive
RecoverRestaurer un objet managéokms:kmip:recover
ReKeyRegénérer une cléokms:kmip:rekey
Re-key Key PairRegénérer une paire de clésokms:kmip:rekeyKeyPair
ObtainLeaseObtenir le lease d'un objet managéokms:kmip:obtainLease
GetUsageAllocationLister l'allocation d'usage d'un objet managéokms:kmip:getUsageAllocation
EncryptChiffrer avec un objet managéokms:kmip:encrypt
DecryptDéchiffrer avec un objet managéokms:kmip:decrypt
SignSigner avec un objet managéokms:kmip:sign
Signature VerifyVérifier avec un objet managéokms:kmip:signatureVerify

Couverture KMIP

Le KMS OVHcloud couvre un sous-ensemble des versions 1.0 à 1.4 du standard KMIP. Le détail de la couverture est disponible ci-dessous.

Légende:

  • N/A : Non applicable
  • ✅ : Couverture complète
  • 🚧 : Couverture partielle
  • ❌ : Non implémenté
  • 🚫 : Déprécié

Messages

v1.0v1.1v1.2v1.3v1.4
Request Message
Response Message

Operations

Operationv1.0v1.1v1.2v1.3v1.4
Create
Create Key Pair
Register
Re-key
DeriveKey
Certify
Re-certify
Locate
Check
Get
Get Attributes
Get Attribute List
Add Attribute
Modify Attribute
Delete Attribute
Obtain Lease
Get Usage Allocation
Activate
Revoke
Destroy
Archive
Recover
Validate
Query
Cancel
Poll
Notify
Put
DiscoverN/A
Re-key Key PairN/A
EncryptN/AN/A
DecryptN/AN/A
SignN/AN/A
Signature VerifyN/AN/A
MACN/AN/A
MAC VerifyN/AN/A
RNG RetrieveN/AN/A
RNG SeedN/AN/A
HashN/AN/A
Create Split KeyN/AN/A
Join Split KeyN/AN/A
ExportN/AN/AN/AN/A
ImportN/AN/AN/AN/A

Managed Objects

Objectv1.0v1.1v1.2v1.3v1.4
Certificate
Symmetric Key
Public Key
Private Key
Split Key
Template🚫🚫
Secret Data
Opaque Object
PGP KeyN/AN/A

Base Objects

Objectv1.0v1.1v1.2v1.3v1.4
Attribute
Credential
Key Block
Key Value
Key Wrapping Data
Key Wrapping Specification
Transparent Key Structures🚧🚧🚧🚧🚧
Template-Attribute Structures
Extension InformationN/A
DataN/AN/A
Data LengthN/AN/A
Signature DataN/AN/A
MAC DataN/AN/A
NonceN/AN/A
Correlation ValueN/AN/AN/A
Init IndicatorN/AN/AN/A
Final IndicatorN/AN/AN/A
RNG ParameterN/AN/AN/A
Profile InformationN/AN/AN/A
Validation InformationN/AN/AN/A
Capability InformationN/AN/AN/A
Authenticated Encryption Additional DataN/AN/AN/AN/A
Authenticated Encryption TagN/AN/AN/AN/A
Transparent Key Structures
Objectv1.0v1.1v1.2v1.3v1.4
Symmetric Key
DSA Private/Public Key
RSA Private/Public Key
DH Private/Public Key
ECDSA Private/Public Key🚫🚫
ECDH Private/Public Key🚫🚫
ECMQV Private/Public🚫🚫
EC Private/PublicN/AN/AN/A

Attributes

Attributev1.0v1.1v1.2v1.3v1.4
Unique Identifier
Name
Object Type
Cryptographic Algorithm
Cryptographic Length
Cryptographic Parameters
Cryptographic Domain Parameters
Certificate Type
Certificate Identifier🚫🚫🚫🚫
Certificate Subject🚫🚫🚫🚫
Certificate Issuer🚫🚫🚫🚫
Digest
Operation Policy Name🚫🚫
Cryptographic Usage Mask
Lease Time
Usage Limits
State
Initial Date
Activation Date
Process Start Date
Protect Stop Date
Deactivation Date
Destroy Date
Compromise Occurence Date
Compromise Date
Revocation Reason
Archive Date
Object Group
Link
Application Specific Information
Contact Information
Last Change Date
Custom Attribute
Certificate LengthN/A
X.509 Certificate IdentifierN/A
X.509 Certificate SubjectN/A
X.509 Certificate IssuerN/A
Digital Signature AlgorithmN/A
FreshN/A
Alternative NameN/AN/A
Key Value PresentN/AN/A
Key Value LocationN/AN/A
Original Creation DateN/AN/A
Random Number GeneratorN/AN/AN/A
PKCS#12 Friendly NameN/AN/AN/AN/A
DescriptionN/AN/AN/AN/A
CommentN/AN/AN/AN/A
SensitiveN/AN/AN/AN/A
Always SensitiveN/AN/AN/AN/A
ExtractableN/AN/AN/AN/A
Never ExtractableN/AN/AN/AN/A

Aller plus loin

Le site de l'OASIS.

Échangez avec notre communauté d'utilisateurs.

Articles associés