intégration de Key Protect
Les données que vous stockez dans IBM Cloud® Databases sont chiffrées par défaut à l'aide de clés générées de manière aléatoire. Pour contrôler les clés de chiffrement, vous pouvez utiliser votre propre clé (BYOK) via IBM Key Protect et utiliser l'une de vos propres clés pour chiffrer vos bases de données et vos sauvegardes.
Ce document traite de l'intégration de Key Protect avec Cloud Databases, qui comprend Databases for PostgreSQL, Databases for MongoDB, Databases for Redis, Databases for Elasticsearch IBM Cloud® Databases for MySQL,, et Messages for RabbitMQ.
Pour commencer, vous devez mettre à disposition Key Protect sur votre compte IBM Cloud.
Création ou ajout d'une clé dans Key Protect
Accédez à votre instance de Key Protect et générez ou entrez une clé.
Octroi d'une autorisation de service dans l'interface utilisateur
Autorisez Key Protect pour une utilisation avec des déploiements Cloud Databases :
- Ouvrez votre tableau de bord IBM Cloud.
- Dans la barre de menu, cliquez sur Gérer-> Accès (IAM).
- Dans la barre de navigation latérale, cliquez sur Autorisations.
- Cliquez sur Créer.
- Dans le menu Service source, sélectionnez le service du déploiement. Par exemple, Databases for PostgreSQL ou Messages for RabbitMQ
- Dans le menu Ressources du service Source, sélectionnez Toutes les ressources.
- Dans le menu Service cible, sélectionnez Key Protect.
- Sélectionnez ou conservez la valeur par défaut Compte comme groupe de ressources pour le service cible.
- Dans le menu ID instance du service cible, sélectionnez les instances de service à autoriser.
- Activez le rôle Lecteur.
- Pour utiliser "Apportez votre propre clé" (BYOK) pour les sauvegardes, cochez la case Autoriser la délégation des autorisations dans la section Autoriser les services dépendants.
- Cliquez sur Autoriser.
Si l'autorisation de service n'est pas présente avant la mise à disposition de votre déploiement avec une clé, la mise à disposition échoue.
Utilisation de la clé Key Protect
Une fois que vous avez accordé à vos déploiements Cloud Databases l'autorisation d'utiliser vos clés, fournissez le nom de clé ou un nom de ressource de cloud lorsque vous mettez à disposition un déploiement. Le déploiement utilise votre clé de chiffrement pour chiffrer vos données.
Utilisation de la touche Key Protect dans l'interface utilisateur
En cas de mise à disposition à partir de la page de catalogue, sélectionnez l'instance et la clé Key Protect dans les menus déroulants.
Utilisation de la clé de Key Protect dans l'interface de programmation
Dans l'interface de ligne de commande, utilisez le paramètre disk_encryption_key_crn dans l'objet JSON des paramètres.
ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE-NAME> standard us-south \
-p \ '{
"disk_encryption_key_crn": "crn:v1:<...>:key:<id>"
}'
La Key Protect clé doit être identifiée par son CRN complet, et non simplement par son ID. Un CRN Key Protect est au format crn:v1:<...>:key:<id>.
Utilisation de la clé Key Protect dans l'API
Dans l'API, utilisez le paramètre disk_encryption_key dans le corps de la demande.
curl -X POST \
https://resource-controller.cloud.ibm.com/v2/resource_instances \
-H 'Authorization: Bearer <>' \
-H 'Content-Type: application/json' \
-d '{
"name": "my-instance",
"target": "blue-us-south",
"resource_group": "5g9f447903254bb58972a2f3f5a4c711",
"resource_plan_id": "databases-for-x-standard",
"disk_encryption_key_crn": "crn:v1:<...>:key:<id>"
}'
La Key Protect clé doit être identifiée par son CRN complet, et non simplement par son ID. Un CRN Key Protect est au format crn:v1:<...>:key:<id>.
Rotation des clés
Key Protect propose des rotations de clé manuelles et automatiques et la rotation de clé est prise en charge par les déploiements de Cloud Databases. Lorsque vous effectuez la rotation d'une clé, le processus lance une tâche de synchronisation de l'état du KMS et votre déploiement est rechiffré avec la nouvelle clé. La tâche s'affiche sur la page Tâches de la Présentation de votre déploiement et les événements Key Protect et Cloud Databases associés sont envoyés à Activity Tracker.
Pour plus d'informations, voir Rotation manuelle ou automatique.
Suppression du déploiement
Si vous supprimez un déploiement protégé par une clé Key Protect, le déploiement reste enregistré sur la clé pendant la période de suppression provisoire (jusqu'à 9 jours). Pour effacer la touche pendant la période d'effacement progressif, forcer la suppression la touche. A l'issue de la période de suppression provisoire, la clé peut être supprimée définitivement. Pour déterminer quand vous pouvez supprimer la clé, vérifiez l'association entre la clé et votre déploiement.
Crypto-déchiquetage
Le déchiffrement cryptographique est une action destructrice. Lorsque la clé est supprimée, vos données sont irrécupérables.
Key Protect vous permet de lancer la suppression forcée d'une clé utilisée par les services IBM Cloud®, notamment vos déploiements Cloud Databases. Cette action est appelée déchiffrement
cryptographique. La suppression d'une clé en cours d'utilisation sur votre déploiement verrouille les disques contenant vos données et désactive votre déploiement. Vous pouvez toujours accéder à l'interface utilisateur et à certaines métadonnées,
telles que les paramètres de sécurité de l'interface utilisateur, de l'interface de ligne de commande et de l'API, mais vous ne pouvez pas accéder aux bases de données ou aux données qui y sont contenues. La suppression de clé est envoyée à Activity Tracker Event Routing en tant que kms.secrets.delete.
Apportez votre propre clé pour les sauvegardes
Si vous utilisez Key Protect, lorsque vous mettez à disposition une base de données, vous pouvez également désigner une clé pour chiffrer le disque Cloud Object Storage qui contient les sauvegardes de votre déploiement.
BYOK pour les sauvegardes n'est disponible que dans les régions américaines us-south et us-east, et eu-de.
Seules les clés dans us-south et eu-de sont résistantes aux défaillances régionales. Pour garantir la disponibilité de vos sauvegardes même en cas de défaillance régionale, vous devez utiliser une clé provenant de us-south ou eu-de, quel que soit l'emplacement de votre déploiement.
Octroi de l'autorisation de délégation
Pour permettre à votre déploiement d'utiliser la Key Protect clé, vous devez activer l'autorisation de délégation lors de l'octroi des autorisations de service. Si l'autorisation de délégation n'est pas présente avant la mise à disposition de votre déploiement avec une clé, la mise à disposition échoue.
Utilisation de la clé à disposition dans le CLI
Une fois que l'autorisation et la délégation appropriées sont accordées, vous fournissez le nom de clé ou CRN lorsque vous mettez à disposition un déploiement.
Dans l'interface de ligne de commande, utilisez le paramètre backup_encryption_key_crn dans l'objet JSON des paramètres.
ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE-NAME> standard us-south \
-p \ '{
"backup_encryption_key_crn": "crn:v1:<...>:key:<id>"
}'
Utilisation de la clé à disposition dans l'API
Dans l'API, utilisez le paramètre backup_encryption_key_crn dans le corps de la demande.
curl -X POST \
https://resource-controller.cloud.ibm.com/v2/resource_instances \
-H 'Authorization: Bearer <>' \
-H 'Content-Type: application/json' \
-d '{
"name": "my-instance",
"target": "blue-us-south",
"resource_group": "5g9f447903254bb58972a2f3f5a4c711",
"resource_plan_id": "databases-for-x-standard",
"backup_encryption_key_crn": "crn:v1:<...>:key:<id>"
}'
Une fois que vous avez activé la délégation et que vous avez mis à disposition votre déploiement, deux entrées apparaissent dans vos Autorisations dans IAM. L'une est l'entrée du déploiement qui répertorie son statut en tant que délégant. Elle est "créée par l'utilisateur".
| Rôle | Source | Cible | Type |
|---|---|---|---|
| Délégant d'autorisation, Lecteur | Service <cloud-databases> |
Service Key Protect | Défini par l'utilisateur |
L'autre entrée correspond au compartiment Cloud Object Storage pour ses sauvegardes, où le déploiement est l'initiateur.
| Rôle | Source | Cible | Type |
|---|---|---|---|
| Lecteur | Service Cloud Object Storage | Service Key Protect | Créé par <cloud-databases-crn> |
Suppression de clés
IAM/Key Protect ne vous empêche pas de supprimer la règle entre la clé et Cloud Object Storage (deuxième exemple), mais cette action peut rendre vos sauvegardes non restaurables. Pour éviter cela, si vous supprimez la règle Cloud Object Storage qui régit la capacité de Cloud Databases à utiliser la clé pour Cloud Object Storage, la règle est recréée pour poursuivre la sauvegarde de votre déploiement.
Soyez prudent lorsque vous supprimez des clés et des autorisations. Si plusieurs déploiements utilisent les mêmes clés, il est possible de détruire par inadvertance les sauvegardes sur tous ces déploiements en révoquant l'autorisation de délégation. Si possible, n'utilisez pas la même clé pour plusieurs sauvegardes de déploiement.
Si vous souhaitez supprimer les sauvegardes, vous pouvez supprimer la clé. Cloud Object Storage garantit que les opérations de lecture et d'écriture sont impossibles sur le stockage. Cependant, tout autre déploiement utilisant cette même clé pour les sauvegardes rencontre des échecs de sauvegarde ultérieurs.
Si vous avez besoin d'utiliser la même clé pour plusieurs sauvegardes d'un déploiement, la suppression des clés et des autorisations peut avoir les effets secondaires suivants.
- Si vous supprimez uniquement l'autorisation de Cloud Object Storage (comme le montre le tableau 2), non seulement le déploiement indiqué comme créateur est affecté, mais tous les déploiements qui utilisent la même clé sont également affectés. Ces déploiements peuvent rencontrer des échecs de sauvegarde temporaires jusqu'à ce que la règle soit automatiquement recréée. Il ne devrait pas y avoir d'effets durables, à l'exception des sauvegardes manquantes.
- Si vous supprimez uniquement l'autorisation Cloud Databases de délégation que vous avez créée (comme indiqué dans le tableau 1), rien ne se passe immédiatement, car la deuxième autorisation est toujours en place. Toutefois, si l'autorisation Cloud Object Storage est supprimée, elle ne peut pas être recréée et peut conduire à ce que plusieurs déploiements utilisant la même clé perdent la capacité de sauvegarde.
- Si vous supprimez à la fois l'autorisation Cloud Object Storage ET l'autorisation du délégant Cloud Databases, tous les déploiements utilisant la même clé n'auront pas immédiatement la possibilité de sauvegarder, et les autorisations correctes ne pourront pas être recréées, détruisant de fait les sauvegardes pour tous les déploiements qui utilisent cette clé.
Faites preuve de prudence si vous réutilisez des clés.