Gestion des clés de cryptage Vault pour le volume de blocs

Les clés gérées par le client correspondent à vos propres clés stockées auprès du service Vault.

Vous pouvez importer des clés externes vers le service Vault ou utiliser le service pour générer de nouvelles clés. Pour plus d'informations sur ces tâches, reportez-vous à Gestion des clés et à Import de clés et de versions de clé.

Lorsque vous créez un volume, vous pouvez indiquer la clé gérée par le client de ce dernier, reportez-vous à Création d'un volume de blocs. Les sauvegardes du volume utilisent automatiquement la clé indiquée. Vous pouvez indiquer une autre clé lorsque vous créez un volume en clonant un volume ou en restaurant un volume à partir d'une sauvegarde de volume.

Spécification d'une nouvelle clé lors du clonage d'un volume

  • Lorsque vous utilisez l'interface de ligne de commande, exécutez la commande suivante :

    oci bv create --display-name <volume_name> --compartment-id <compartment_ID> --availability-domain <AD> --kms-key-id <different_key_ID>
    --source-volume-id=<source_volume_ID>
  • Lorsque vous clonez un volume dans la console, dans la section Cryptage du panneau Créer un clone, sélectionnez Crypter à l'aide des clés gérées par le client, puis sélectionnez la clé de cryptage Vault à utiliser.

  • Lorsque vous utilisez l'API, indiquez l'OCID de clé de cryptage dans l'attribut kmsKeyId de CreateVolumeDetails lors de l'appel de l'opération CreateVolume.

Spécification d'une nouvelle clé lors de la restauration d'une sauvegarde

  • Lorsque vous utilisez l'interface de ligne de commande, exécutez la commande suivante :

    oci bv create --display-name <volume_name> --compartment-id <compartment_ID> --availability-domain <AD> --kms-key-id <different_key_ID>
    --volume-backup-id=<source_backup_ID>

    Si vous n'incluez pas l'attribut --kms-key-id, le volume créé à partir de la restauration d'une sauvegarde utilise la clé gérée par Oracle.

  • Lorsque vous restaurez le volume de blocs à partir d'une sauvegarde dans la console, dans la section Cryptage du formulaire Restaurer le volume de blocs, sélectionnez Crypter à l'aide des clés gérées par le client, puis sélectionnez la clé de cryptage Vault à utiliser.

  • Lorsque vous utilisez l'API, indiquez l'OCID de clé de cryptage dans l'attribut kmsKeyId de CreateVolumeDetails lors de l'appel de l'opération CreateVolume.

Spécification d'une nouvelle clé lors de l'activation d'une réplique

Les volumes pour lesquels la réplication est activée ne prennent pas en charge les clés gérées par le client. Si vous voulez activer la réplication pour un volume, utilisez des clés gérées par Oracle en vue du cryptage du volume. Reportez-vous à La réplication inter-régions n'est pas prise en charge pour les volumes cryptés avec des clés gérées par le client.

  • Lorsque vous utilisez l'interface de ligne de commande, exécutez la commande suivante :

    oci bv create --display-name <volume_name> --compartment-id <compartment_ID> --availability-domain <AD> --kms-key-id <different_key_ID>
    --source-volume-replica-id=<source_replica_ID>
  • Lorsque vous activez la réplique de volume dans la console, dans la section Cryptage du formulaire Activer une réplique de volume, sélectionnez Crypter à l'aide des clés gérées par le client, puis sélectionnez la clé de cryptage Vault à utiliser.

  • Lorsque vous utilisez l'API, indiquez l'OCID de clé de cryptage dans l'attribut kmsKeyId de CreateVolumeDetails lors de l'appel de l'opération CreateVolume.

Rotation de la clé de cryptage

A ce jour, la rotation d'une même clé n'est pas prise en charge et le comportement n'est pas défini lorsque vous disposez de plusieurs versions d'une clé. Block Volume prend uniquement en charge les clés avec une seule version. Pour effectuer la rotation d'une clé de cryptage, remplacez la clé de cryptage du volume par une nouvelle clé. Vous pouvez également modifier la clé de cryptage d'une sauvegarde de volume.

Lorsque vous effectuez la rotation de la clé d'un volume en spécifiant une nouvelle clé de cryptage, toutes les ressources enfant créées avant la mise à jour de la clé continuent à utiliser l'ancienne clé de cryptage. Cela inclut les sauvegardes et les clones.

Modification de la clé de cryptage d'un volume

Vous pouvez remplacer la clé affectée à un volume par une autre clé gérée par le client. Le remplacement de la clé de cryptage ne recrypte pas le contenu du volume. Elle recrypte simplement la clé de données.

  • Afin de spécifier une autre clé gérée par le client pour un volume à l'aide de l'interface de ligne de commande, exécutez la commande suivante :

    oci bv volume-kms-key update --volume-id=<volume_ID> --kms-key-id=<key_ID>
  • Afin de spécifier une autre clé gérée par le client pour un volume à l'aide de la console, reportez-vous à Mise à jour d'une clé vers un volume de blocs.

  • Pour spécifier une autre clé gérée par le client avec l'API, utilisez l'opération UpdateVolumeKmsKey.

Modification de la clé de cryptage d'une sauvegarde de volume

Vous pouvez remplacer la clé affectée à une sauvegarde de volume par une autre clé gérée par le client ou par une clé gérée par Oracle. La modification de la clé de cryptage ne recrypte pas la sauvegarde de volume. Elle recrypte simplement la clé de données.

  • Pour spécifier une autre clé pour une sauvegarde de volume à l'aide de l'interface de ligne de commande, exécutez la commande suivante :

    oci bv backup update --backup-id=<backup_ID> --kms-key-id=<key_ID>

    Pour indiquer que la sauvegarde de volume utilise une clé gérée par Oracle, indiquez une chaîne vide pour l'ID de clé, comme indiqué dans l'exemple suivant :

    oci bv backup update --backup-id=<backup_ID> --kms-key-id=''
  • Pour spécifier une autre clé gérée par le client pour une sauvegarde de volume à l'aide de la console, reportez-vous à Clés de cryptage de sauvegarde de volume.

  • Pour indiquer une autre clé gérée par le client avec l'API, utilisez l'opération UpdateVolumeBackup et indiquez l'OCID de clé de cryptage dans l'attribut kmsKeyId.

Accès croisé aux clés d'un compartiment de sécurité

La référence CIS Oracle Cloud Infrastructure Foundations recommande de créer un coffre pour vos clés gérées par le client dans un compartiment distinct et de limiter l'accès à ce dernier. Le schéma suivant montre comment organiser cela.

Schéma d'architecture montrant les clés gérées par le client stockées dans un compartiment distinct à accès restreint

Les stratégies suivantes sont requises afin d'utiliser les clés dans un compartiment de sécurité distinct à accès restreint pour le cryptage des volumes d'initialisation, des volumes de blocs et des ressources associées.

Allow service blockstorage to use keys in compartment security-compartment where target.key.id = <key_ID>
Allow group projx-admin-group to use key-delegate in compartment security-compartment where target.key.id = <key_ID>

Clés de cryptage de sauvegardes de volume

Le service Oracle Cloud Infrastructure Block Volume crypte toujours tous les volumes de blocs, les volumes d'initialisation et les sauvegardes de volume au repos à l'aide de l'algorithme AES (Advanced Encryption Standard) avec un cryptage de 256 bits.

Le service Oracle Cloud Infrastructure Vault permet d'ajouter et de gérer vos propres clés à utiliser pour le cryptage des volumes et de leurs sauvegardes. Lorsque vous créez une sauvegarde de volume, la clé de cryptage utilisée pour le volume l'est également pour la sauvegarde de volume.

Vous pouvez remplacer la clé affectée à une sauvegarde de volume par une autre clé gérée par le client ou par une clé gérée par Oracle. Le remplacement de la clé de cryptage ne recrypte pas le contenu du volume. Elle recrypte simplement la clé de données.

Utilisation de l'interface de ligne de commande

Pour spécifier une autre clé pour une sauvegarde de volume à l'aide de l'interface de ligne de commande, exécutez la commande suivante :

oci bv backup update --backup-id=<backup_ID> --kms-key-id=<key_ID>

Pour indiquer que la sauvegarde de volume utilise une clé gérée par Oracle, indiquez une chaîne vide pour l'ID de clé, comme indiqué dans l'exemple suivant :

oci bv backup update --backup-id=<backup_ID> --kms-key-id=''

Utilisation de la console

  1. Ouvrez le menu de navigation et cliquez sur Stockage. Sous Stockage de blocs, cliquez sur Sauvegardes de volume de blocs.
  2. Sous Portée de la liste, dans la liste Compartiment, choisissez le compartiment contenant la sauvegarde de volume pour laquelle mettre à jour la clé.
  3. Dans la liste des sauvegardes de volume, cliquez sur la sauvegarde qui vous intéresse.
  4. Effectuez ensuite l'une des opérations suivantes :

    • Si une clé est déjà affectée à la sauvegarde de volume, en regard de Clé de cryptage, cliquez sur Modifier pour en affecter une autre.
    • Si aucune clé n'est affectée à la sauvegarde de volume, en regard de Clé de cryptage, cliquez sur Affecter.
  5. Choisissez le compartiment de coffre, le coffre, le compartiment de clé et la clé.

  6. Lorsque vous avez terminé, cliquez sur Affecter ou sur Mettre à jour, selon le cas.

Utilisation de l'API

Pour indiquer une autre clé gérée par le client avec l'API, utilisez l'opération UpdateVolumeBackup et indiquez l'OCID de clé de cryptage dans l'attribut kmsKeyId.

Plus de ressources