La fonctionnalité de chiffrement des colonnes du service Data Security Center (DSC) chiffre des colonnes spécifiques dans les bases de données ApsaraDB RDS for MySQL, ApsaraDB RDS for PostgreSQL, PolarDB for MySQL, PolarDB for PostgreSQL, PolarDB for PostgreSQL (compatible Oracle) et PolarDB-X 2.0. Elle empêche les utilisateurs non autorisés d'accéder aux données sensibles en texte clair via les logiciels de la plateforme cloud ou les outils de connexion à la base de données, contribuant ainsi à atténuer les menaces de sécurité internes et externes.
Avantages
Aucune modification de l'application requise : le pilote client gère le chiffrement et le déchiffrement de manière transparente, sans nécessiter de modifications au niveau de l'application.
Faible surcharge de performances : les tests de référence TPC-C montrent que les performances atteignent plus de 93 % de celles des opérations en texte clair.
Protection cryptographique de bout en bout : les données sont toujours renvoyées sous forme chiffrée. Même si les identifiants de la base de données sont compromis, les données restent sécurisées.
Prise en charge complète du langage SQL : toutes les fonctions de requête SQL natives fonctionnent sur les données chiffrées sans limitation.
Gestion sécurisée des clés : spécifiez les clés à utiliser. Les clés sont immédiatement détruites lors de l'arrêt du service. La mise à jour et la rotation des clés sont prises en charge.
Concepts clés
Le chiffrement des colonnes dans DSC comporte deux volets : les paramètres de chiffrement et la gestion des autorisations des comptes. Les paramètres de chiffrement définissent l'algorithme, la méthode et l'étendue (instances, bases de données, tables et colonnes). La gestion des autorisations des comptes contrôle quels comptes de base de données peuvent accéder aux données chiffrées et leur niveau d'autorisation.
Algorithme de chiffrement : le chiffrement des colonnes utilise les algorithmes standards de l'industrie SM4-128-GCM, AES-128-GCM et AES-256-GCM pour chiffrer les données dans les colonnes spécifiées.
-
Méthode de chiffrement : le chiffrement des colonnes prend en charge deux méthodes pour gérer les clés de chiffrement des bases de données spécifiées : clé locale et clé KMS.
Clé locale : les clés de chiffrement sont générées et stockées dans votre environnement local.
Clé KMS (recommandée) : utilisez le service Key Management Service (KMS) pour héberger les clés de chiffrement de la base de données spécifiée. Le service DSC prend en charge l'utilisation d'une Customer Master Key que vous créez et gérez dans KMS. Pour plus d'informations, consultez la rubrique Types de clés.
-
Autorisations des comptes :
Les comptes correspondent aux comptes de base de données des instances autorisées auxquelles vous avez accordé l'accès au service DSC.
Autorisations disponibles :
Autorisation
Description
Ciphertext Permission (JDBC Decryption)
Par défaut, le compte peut accéder au texte chiffré des colonnes chiffrées. Utilisez un SDK avec le pilote client always-confidential pour déchiffrer les données à l'aide d'une clé locale ou d'une clé KMS.
Ciphertext Permission (No Decryption Permission)
Le compte ne peut accéder qu'au texte chiffré. Le déchiffrement est impossible par quelque moyen que ce soit.
Plaintext Permissions
Lorsque le chiffrement des colonnes est activé pour une base de données, le compte contourne le chiffrement et accède directement aux données en texte clair dans les colonnes chiffrées.
Quotas et limites
|
Type de base de données |
Version |
Algorithme de chiffrement |
Méthode de chiffrement |
Autorisation |
|
ApsaraDB RDS for MySQL |
La version majeure du moteur est MySQL 5.7 ou MySQL 8.0, et la version mineure du moteur est 20240731 ou ultérieure. |
|
|
|
|
ApsaraDB RDS for PostgreSQL |
La version majeure du moteur est PostgreSQL 16, et la version mineure du moteur doit être 20241230 ou ultérieure. |
AES-256-GCM. |
clé locale. |
|
|
PolarDB for MySQL |
La version majeure du moteur est MySQL 5.7 ou MySQL 8.0, et la version du proxy de base de données doit être 2.8.36 ou ultérieure. Important
Si vous configurez des politiques de chiffrement des colonnes pour un cluster PolarDB for MySQL, vous devez utiliser un endpoint de cluster en lecture/écriture. Les endpoints principaux ne prennent pas en charge les politiques de chiffrement des colonnes. Consultez les rubriques Configurer le proxy de base de données et Gérer les endpoints. |
AES-128-GCM. |
clé locale. |
|
|
PolarDB for PostgreSQL |
La version majeure du moteur est PostgreSQL 14, et la version de la base de données est 2,0.14.15.31.0 ou ultérieure. |
AES-256-GCM. |
clé locale. |
|
|
PolarDB for PostgreSQL (compatible Oracle) |
Seule la version compatible avec la syntaxe Oracle 2,0 est prise en charge. La version majeure du moteur est PostgreSQL 14, et la version de la base de données est 2,0.14.15.31.0 ou ultérieure. |
AES-256-GCM. |
clé locale. |
|
|
PolarDB-X 2.0 |
L'édition doit être Enterprise Edition. La version de la base de données doit être polardb-2.5.0_5.4.20-20250714 ou ultérieure. |
|
|
Facturation
DSC offre un quota gratuit pour une colonne chiffrée. Pour chiffrer davantage de colonnes, activez le service Column Encryption et achetez un number of encrypted columns suffisant (sur abonnement). Pour plus d'informations, consultez la rubrique Facturation.
Si vous définissez la encryption method sur KMS key, des frais KMS s'appliquent pour l'hébergement des clés. Pour plus d'informations, consultez la rubrique Facturation des produits.
Vue d'ensemble du processus
Flux de travail du chiffrement des colonnes
La figure suivante illustre le flux de travail du chiffrement des colonnes. Pour plus d'informations, consultez la rubrique Configurer le chiffrement des colonnes pour une base de données.
Accès aux données chiffrées
Une fois le chiffrement des colonnes configuré, les comptes disposant de l'autorisation de texte chiffré ne reçoivent que du texte chiffré lors de l'interrogation des colonnes chiffrées. Le déchiffrement côté client permet de récupérer le texte clair, garantissant que les données restent chiffrées pendant la transmission.
Utilisation du client
Alibaba Cloud fournit des pilotes clients always-confidential pour Java et Go. Utilisez un compte doté de l'autorisation Ciphertext Permission (JDBC Decryption) pour déchiffrer et accéder aux données en texte clair dans les colonnes chiffrées.
|
Langage |
Type de base de données |
Documentation |
|
Java |
|
Intégrer EncJDBC (prend en charge le déchiffrement avec une clé locale et une clé KMS) |
|
Go |
|
Intégrer le pilote GoLang (prend en charge le déchiffrement avec une clé locale uniquement) |