Restauration de clés

Vous pouvez utiliser IBM Cloud® Hyper Protect Crypto Services pour restaurer une clé précédemment supprimée et accéder aux données associées sur le cloud.

Lorsqu’une clé est supprimée, elle passe à l’état Détruit. Cependant, les informations sur la clé (telles que les métadonnées) peuvent toujours être consultées et vous disposez de 30 jours pour restaurer la clé à l'état Actif. Pour cette raison, une suppression de clé est considérée comme un_ Suppression logicielle_ où la clé existe toujours mais ne peut plus être utilisée pour accéder aux données chiffrées par la clé. Cette rubrique décrit le processus de restauration d'une clé et les limitations du processus de restauration de clés.

Cette période de suppression provisoire, dans laquelle une clé a été supprimée mais peut encore être restaurée, dure 30 jours. Entre 30 jours et 90 jours, les données de la clés continuent d'être accessibles, mais la clé ne peut plus être restaurée. Au bout de 90 jours, la clé devient éligible pour être automatiquement purgée, ce qui peut se produire à tout moment après 90 jours. Les clés purgées, contrairement aux clés détruites, disparaissent définitivement.

Tableau 1. Lie les états clés au temps écoulé entre la suppression d'une clé et aux actions possibles avec la clé.
Délai depuis la suppression de la clé Etat de la clé Possibilité d'afficher/accéder aux données de clé ? Restauration possible ?
1 à 30 jours Détruite Oui Oui
30 à 90 jours Détruite Oui Non
Après 90 jours Purgé (pas un état de clé techniquement) Non Non

Étant donné que les clés purgées sont inaccessibles et détruites, il 'y a techniquement pas d'état de clé purgée. Cependant, il peut être utile de penser que purgé est un état car la non-existence fait partie du cycle de vie d'une clé.

Toutes les clés racine et les clés standard, générées par Hyper Protect Crypto Services ou importées par vous, peuvent être restaurées.

Comment savoir si une clé peut être restaurée ?

Pour voir si une clé détruite peut être restaurée, procédez comme suit :

  1. Accédez à votreHyper Protect Crypto Services instance dans l’interface utilisateur.
  2. Dans la zone de navigation, vérifiez que vous êtes sur la page des clés KMS.
  3. Recherchez la clé que vous souhaitez restaurer et assurez-vous que la clé se trouve dans un état Détruit.
  4. Vérifiez si une icône Annuler Icône Annuler s'affiche à coté de l'état Détruit. L'icône indique que la clé peut être restaurée. Vous pouvez restaurer une clé dans les 30 jours suivant la suppression. La date d'expiration de la restauration s'affiche lorsque vous survolez l'icône.

Restaurer une clé supprimée avec l'interface utilisateur

Si vous préférez restaurer votre clé à l'aide d'une interface graphique, vous pouvez utiliser l'interface utilisateur.

Pour restaurer la clé, procédez comme suit :

  1. Connectez-vous à l'interface utilisateur.
  2. Accédez à Menu > Liste de ressources pour afficher la liste de vos ressources.
  3. Dans la liste de ressources IBM Cloud, sélectionnez votre instance Hyper Protect Crypto Services mise à disposition.
  4. Sur la page Clés KMS, utilisez la table Clés pour parcourir les clés de votre service.
  5. Sélectionnez la clé à restaurer et cliquez sur l'icône Actions Icône Actions pour ouvrir une liste d'options pour la clé.
  6. Dans le menu des options, cliquez sur Restaurer la clé.
  7. Cliquez sur Restaurer la clé pour confirmer l'action.

Restauration d'une clé supprimée à l'aide de l'API

Restaurez une clé en effectuant un appel POST au noeud final suivant.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/restore
  1. Extrayez vos données d'authentification afin d'utiliser les clés dans le service.

    Pour restaurer une clé, vous devez être affecté une règle d'accès Gestionnaire pour l'instance ou la clé. Pour savoir comment les rôles IAM sont mappés aux actions du service Hyper Protect Crypto Services, consultez la rubrique Rôles d'accès au service.

  2. Extrayez l'URL du nœud final de l'interface de programmation du service de gestion de clés.

    Vous pouvez obtenir le nœud final de l'API à partir de votre tableau de bord d'instance de service mis à disposition via Aperçu > Connecter > URL du nœud final de gestion des clés. Ou bien, vous pouvez dynamiquement récupérer l'URL du point de terminaison de l'API avec un appel API. Sélectionnez l'URL du noeud final de gestion de clé publique ou de clé privée en fonction de vos besoins.

  3. Extrayez l'ID de la clé à restaurer.

    Vous pouvez récupérer l'ID d'une clé spécifiée en créant un liste des clés demande API, ou en affichant vos clés dans l'interface utilisateur.

  4. Exécutez la commande curl suivante pour restaurer la clé et récupérer l'accès aux données associées. Vous devez attendre 30 secondes après avoir supprimé une clé avant de pouvoir la restaurer.

    Vous ne pouvez pas restaurer une clé dont la date d'expiration est la date du jour ou une date passée.

    curl -X POST \
      "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/restore" \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'x-kms-key-ring: <key_ring_ID>'
    

    Remplacez les variables de l'exemple de demande conformément au tableau suivant :

    Tableau 1. Décrit les variables nécessaires à la restauration des clés avec l' Hyper Protect Crypto Services
    Variables Description
    region Obligatoire. L'abréviation de la région, telle que us-south ou eu-de, qui représente la zone géographique où se trouve votreHyper Protect Crypto Services l'instance de service réside. Pour plus d'informations, voir Noeuds finaux de service régional.
    port Obligatoire. Numéro de port du noeud final d'API.
    key_ID Obligatoire. Identificateur unique de la clé à restaurer.
    IAM_token Obligatoire. Votre jeton d'accès IBM Cloud. Incluez l'ensemble du contenu du jeton IAM, y compris la valeur Bearer, dans la demande cURL. Pour plus d'informations, voir Extraction d'un jeton d'accès.
    instance_ID Obligatoire. Identificateur unique affecté à votre instance de service Hyper Protect Crypto Services. Pour plus d'informations, voir Extraction d'un ID d'instance.
    key_ring_ID Facultatif. Identificateur unique du fichier de clés auquel appartient la clé. S'il n'est pas spécifié, Hyper Protect Crypto Services recherche la clé dans chaque fichier de clés associé à l'instance spécifiée. Par conséquent, il est conseillé de spécifier l'ID du fichier de clés pour une demande plus optimisée. \n \n Remarque : L'ID du jeu de clés des clés créées sans x-kms-key-ring l'en-tête est default.

    Pour plus d'informations, voir Gestion des trousseaux de clés.

    Une demande de restauration réussie renvoie un HTTP 201 Created réponse, qui indique que la clé a été restaurée à l'état de clé active et qu'elle est désormais disponible pour les opérations de chiffrement et de déchiffrement. Tous les attributs et toutes les règles précédemment associés à la clé sont également restaurés.

    Vous aurez accès aux données associées à la clé dès que celle-ci est restaurée.

  5. Facultatif : vérifiez que la clé a été restaurée en extrayant les détails relatifs à la clé.

    curl -X GET \
      "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_id>/metadata" \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'accept: application/vnd.ibm.kms.key+json'
    

    <key_id> est l'ID de la clé, <instance_ID> est le nom de votre instance, et votre <IAM_token> est votre jeton IAM.

    Revoir le state dans le corps de la réponse pour vérifier que la clé est passée à l'état Clé active. La sortie JSON suivante illustre les détails de métadonnées pour une clé active :

    Le mappage entier pour l’état de la clé active est 1. Les états clés sont basés sur NIST SP 800-57.

    {
      "metadata": {
        "collectionType": "application/vnd.ibm.kms.key+json",
        "collectionTotal": 1
      },
      "resources": [
        {
          "type": "application/vnd.ibm.kms.key+json",
          "id": "02fd6835-6001-4482-a892-13bd2085f75d",
          "name": "...",
          "description": "...",
          "tags": [
            "..."
          ],
          "state": 1,
          "extractable": false,
          "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
          "imported": true,
          "creationDate": "2020-03-10T20:41:27Z",
          "createdBy": "...",
          "algorithmType": "AES",
          "algorithmMetadata": {
            "bitLength": "128",
            "mode": "CBC_PAD"
          },
          "algorithmBitSize": 128,
          "algorithmMode": "CBC_PAD",
          "lastUpdateDate": "2020-03-16T20:41:27Z",
          "keyVersion": {
            "id": "30372f20-d9f1-40b3-b486-a709e1932c9c",
            "creationDate": "2020-03-12T03:37:32Z"
          },
          "dualAuthDelete": {
            "enabled": false
          },
          "deleted": false
        }
      ]
    }