Cette rubrique décrit comment utiliser la fonctionnalité Transparent Data Encryption (TDE). Une fois activée, la fonctionnalité TDE ne peut pas être désactivée. Agissez avec prudence.
Informations générales
ApsaraDB for OceanBase propose la fonctionnalité TDE pour le stockage et les appels de procédure distante (RPC).
Le chiffrement du stockage protège les données sur les disques.
Le chiffrement RPC protège les communications entre les nœuds OBServer.
La fonctionnalité TDE est disponible dans les versions V3.2.3, V3.2.4 et V4.2.1 d'ApsaraDB for OceanBase.
Actuellement, le service TDE prend en charge les clés de service et les clés personnalisées.
Clés de service
Une clé de service est générée et gérée par ApsaraDB for OceanBase.
Clés personnalisées
Une clé personnalisée est créée à l'aide du service Key Management Service (KMS) d'Alibaba Cloud. Après avoir souscrit à Alibaba Cloud KMS, vous pouvez créer vos clés personnalisées dans la console KMS. Pour plus d'informations, consultez la page Créer une CMK.
Limites
-
Limites relatives aux clés de service
Une fois activée, la fonctionnalité TDE ne peut pas être désactivée.
Les locataires Oracle prennent en charge les clés AES-256, AES-128, AES-192 et SM4-CBC, tandis que les locataires MySQL ne prennent en charge que les clés AES-256. Une fois le type de clé spécifié, il est impossible de le modifier ou de convertir une clé de ce type vers un autre type.
-
Limites relatives aux clés personnalisées
Une fois activée, la fonctionnalité TDE ne peut pas être désactivée.
Les locataires Oracle prennent en charge les clés AES-256, AES-128, AES-192 et SM4-CBC, tandis que les locataires MySQL ne prennent en charge que les clés AES-256. Une fois le type de clé spécifié, il est impossible de le modifier ou de convertir une clé de ce type vers un autre type.
Actuellement, les clés personnalisées sont prises en charge uniquement à partir de la version V2.2.77 d'ApsaraDB for OceanBase.
Un rôle de service unique est créé pour chaque produit cloud. Pour ApsaraDB for OceanBase, le rôle AliyunServiceRoleForOceanBase est créé afin de chiffrer les données dans ApsaraDB for OceanBase. Vous devez utiliser votre compte Alibaba Cloud ou un compte disposant de l'autorisation AliyunSTSAssumeRoleAccess.
Ne désactivez pas les clés, ne planifiez pas leur suppression et ne les supprimez pas depuis la console KMS. Sinon, l'activation du service TDE échouera.
Après avoir créé une clé dans la console KMS, ajoutez le tag
oceanbase:encryption: trueà cette clé.Vous devez sélectionner une version HSM pour le service KMS.
L'activation du service TDE n'affecte pas les performances des mises à jour, mais peut entraîner une légère dégradation des performances pour d'autres opérations. Pour plus de détails, consultez le rapport de test TDE.
Procédure
Dans le volet de navigation de gauche, cliquez sur Instances et sélectionnez l'instance de cluster cible pour accéder à la page Cluster Instance Workspace.
Dans le volet de navigation de gauche, cliquez sur Security Settings.
-
Sous l'onglet TDE, configurez les paramètres TDE.

-
Cliquez sur Enable TDE dans la colonne Actions.
RemarqueL'activation de la fonctionnalité TDE affecte les performances de la base de données et est irréversible. Agissez avec prudence.
-
Dans la boîte de dialogue qui s'affiche, cliquez sur OK pour spécifier le type de clé.
Les clés de service et les clés personnalisées sont prises en charge :
-
Une clé de service est générée et gérée par ApsaraDB for OceanBase.
RemarqueActuellement, les types de clés Aliyun_AES_256 et Aliyun_SM4 sont pris en charge. Une fois le type de clé spécifié, il est impossible de le modifier ou de convertir une clé de ce type vers un autre type.
-
-
Une clé personnalisée est créée à l'aide du service Alibaba Cloud KMS. Après avoir souscrit à Alibaba Cloud KMS, vous pouvez créer vos clés personnalisées dans la console KMS. Pour plus d'informations, consultez la page Créer une CMK.
RemarqueActuellement, les types de clés Aliyun_AES_256 et Aliyun_SM4 sont pris en charge. Une fois le type de clé spécifié, il est impossible de le modifier ou de convertir une clé de ce type vers un autre type.
Un rôle de service unique est créé pour chaque produit cloud. Pour ApsaraDB for OceanBase, le rôle AliyunServiceRoleForOceanBase est créé afin de chiffrer les données dans ApsaraDB for OceanBase.
-
Après avoir spécifié le type de clé, cliquez sur OK.
-
Créer un tablespace chiffré
Cliquez sur Create Tablespace dans la colonne Actions.
Dans la boîte de dialogue Create Tablespace, spécifiez les valeurs des champs Encrypted Tablespace Name et Encryption Algorithm.
Cliquez sur OK.
-
Une fois le tablespace chiffré créé, utilisez des outils de R&D de données ou d'autres outils CLI pour exécuter des opérations DDL permettant de créer des tables et de les assigner au tablespace chiffré spécifié. Voici quelques exemples :
-
Locataire Oracle
create table table_name (column1 int, column2 int) tablespace tablespace_name; -
Locataire MySQL
create table table_name (column1 int, column2 int) tablespace tablespace_name;
RemarquePour chiffrer les données, activez le service TDE, créez un tablespace sous l'onglet TDE, puis exécutez l'instruction DDL permettant de créer une table chiffrée. Exemple d'instruction DDL pour la création d'une table chiffrée :
obclient> CREATE TABLE t1 (id int,id2 int) TABLESPACE sectest_ts1;Après avoir ajouté une table de données historiques à un tablespace chiffré, effectuez une compaction majeure pour persister les données.
-
-
Pour afficher le nom du tablespace, l'algorithme de chiffrement et l'heure de création de tous les tablespaces chiffrés d'un locataire, cliquez sur le signe plus (+) situé devant le nom du locataire.

-
Cliquez sur le nom d'un tablespace chiffré pour consulter l'état et la progression du chiffrement des tables. La progression indique le pourcentage de blocs de données déjà chiffrés dans la table de données.

Effectuer une compaction complète pour une table de données historiques
Pour effectuer une compaction complète de la table de données historiques t1, procédez comme suit :
-
Définissez la valeur du paramètre
progressive_merge_numsur1.obclient> ALTER TABLE t1 set progressive_merge_num = 1; Sur la page Cluster Instance Workspace, lancez manuellement une compaction majeure. Pour plus d'informations, consultez la section Compaction majeure.
-
Une fois la compaction majeure terminée, définissez la valeur du paramètre
progressive_merge_numsur0.obclient> ALTER TABLE t1 set progressive_merge_num = 0;