Tous les produits
Search
Centre de documentation

ApsaraDB RDS:Utiliser le chiffrement des sauvegardes

Dernière mise à jour :Aug 08, 2026

Le chiffrement des sauvegardes protège vos fichiers de sauvegarde ApsaraDB RDS for MySQL au repos. Le processus de chiffrement est géré par l'utilitaire Percona XtraBackup, sans nécessiter de modification de vos applications. Lors d'une restauration des données depuis la console ApsaraDB RDS, le backend déchiffre automatiquement la sauvegarde. Si vous téléchargez un fichier de sauvegarde vers un environnement auto-géré, vous devez le déchiffrer manuellement avant la restauration.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Une instance RDS exécutant MySQL 8.0, MySQL 5.7 ou MySQL 5.6

  • Une instance RDS utilisant l'édition Haute disponibilité (High-availability Edition)

  • Une instance RDS utilisant des disques SSD locaux Premium (Premium Local SSDs)

  • Le service Key Management Service (KMS) activé. Pour plus de détails, consultez Acheter une instance KMS dédiée

Fonctionnement

KMS crée et gère la clé de chiffrement. ApsaraDB RDS ne fournit ni clés ni certificats. Lorsque vous activez le chiffrement des sauvegardes, vous choisissez l'un des deux types de clés suivants :

Type de clé description Cas d'utilisation
Automatically generated key Alibaba Cloud génère et gère la clé. Choix par défaut pour la plupart des cas d'utilisation.
Clé personnalisée (CMK) Une clé que vous créez et contrôlez dans KMS. À utiliser lorsque votre organisation exige un contrôle total sur le cycle de vie de la clé, y compris les plannings de rotation, les politiques d'accès et la possibilité de révoquer l'accès en désactivant la clé. Requis pour les scénarios de conformité impliquant la séparation des rôles de gardien de clé.

Pour utiliser une clé personnalisée, ApsaraDB RDS crée un rôle lié au service (backupencryption.rds.aliyuncs.com) afin de récupérer les métadonnées de la clé depuis KMS. La console affiche ensuite les clés personnalisées disponibles ainsi que leurs détails de chiffrement.

Limitations

  • Le chiffrement des sauvegardes ne peut pas être désactivé une fois activé.

  • La clé de chiffrement ne peut pas être modifiée après sa sélection.

  • Seuls les fichiers de sauvegarde créés après l'activation de la fonctionnalité sont chiffrés. Les fichiers de sauvegarde existants restent non chiffrés.

  • Si une clé personnalisée devient indisponible (désactivée, programmée pour suppression ou si son matériel de clé est supprimé), toute opération dépendant d'une sauvegarde chiffrée avec cette clé échouera. Cela inclut la restauration des données et les opérations d'O&M, ce qui peut réduire la disponibilité de l'instance.

Autorisations requises pour les clés personnalisées

Si vous utilisez une clé personnalisée, votre compte Alibaba Cloud ou utilisateur RAM doit disposer des permissions suivantes :

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ram:CreateServiceLinkedRole"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Condition": {
                "StringEquals": {
                    "ram:ServiceName": "backupencryption.rds.aliyuncs.com"
                }
            }
        },
        {
            "Action": [
                "kms:ListResourceTags",
                "kms:TagResource"
            ],
            "Effect": "Allow",
            "Resource": [
                "acs:kms:*:*:*"
            ]
        }
    ]
}

Pour accorder ces permissions à un utilisateur RAM, consultez Autoriser un utilisateur RAM à gérer les instances ApsaraDB RDS.

Activer le chiffrement des sauvegardes

  1. Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région où se trouve votre instance RDS, puis cliquez sur l'ID de l'instance.

  2. Dans le volet de navigation de gauche, cliquez sur Backup and Restoration.

  3. Cliquez sur l'onglet Backup Strategy.

  4. Dans la section Backup Encryption Settings, cliquez sur Edit et activez Backup Encryption Status.

  5. Dans la boîte de dialogue Backup Set Encryption Information, sélectionnez une option pour Backup Master Key et cliquez sur OK :

    • Use Automatically Generated Key — Alibaba Cloud génère la clé.

    • Use Existing Custom Key — utilise une clé que vous avez créée dans KMS. Si aucune clé n'existe encore, créez-en une au préalable. Pour plus de détails, consultez Créer une CMK.

    Remarque

    S'il s'agit de votre première utilisation d'une clé KMS personnalisée, suivez les invites d'autorisation à l'écran pour accorder les permissions requises.

Une fois la fonctionnalité activée, tous les nouveaux fichiers de sauvegarde sont chiffrés. Les opérations de restauration dans la console ApsaraDB RDS ne nécessitent pas de déchiffrement manuel, car le backend s'en charge automatiquement. Pour les téléchargements vers un environnement auto-géré, suivez les étapes décrites dans la section Déchiffrer les fichiers de sauvegarde.

Déchiffrer les fichiers de sauvegarde

Cette section explique comment déchiffrer les fichiers de sauvegarde sur Ubuntu 16.04.

Prérequis

Avant de commencer, installez les outils suivants :

  • Percona XtraBackup — installez la version 2,4 ou la version 8,0 pour correspondre à votre version de MySQL.

  • qpress — exécutez les commandes suivantes pour l'installation :

    wget "http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/183466/cn_zh/1608011575185/qpress-11-linux-x64.tar"
    tar xvf qpress-11-linux-x64.tar
    chmod 775 qpress
    cp qpress /usr/bin
  • Python 3

Étape 1 : Obtenir le texte chiffré et l'algorithme de chiffrement

  1. Accédez à la page Instances. Sélectionnez votre région et cliquez sur l'ID de l'instance.

  2. Dans le volet de navigation de gauche, cliquez sur Backup and Restoration.

  3. Cliquez sur l'onglet Base Backups, puis sur l'onglet Data Backup.

  4. Dans la colonne Actions du jeu de sauvegarde, cliquez sur l'icône 1 et sélectionnez View Encryption Information.

  5. Notez les valeurs ciphertext et encryption algorithm ; vous en aurez besoin lors des étapes suivantes.

Étape 2 : Déduire le mot de passe de déchiffrement

Appelez l'API KMS Decrypt en définissant CiphertextBlob sur le texte chiffré obtenu à l'étape 1. L'API renvoie une valeur Plaintext , qui correspond à une chaîne binaire encodée en Base64.

plaintext

Décodez Plaintext pour obtenir le mot de passe de déchiffrement :

  1. Créez un script Python :

    vi decrypt.py
  2. Appuyez sur i pour passer en mode insertion, collez le code suivant, puis appuyez sur Esc et tapez :wq pour enregistrer :

    import base64
    import binascii
    plaintext = 'S14dTbl6i4Qo**********'  # Replace with the Plaintext value from the KMS API response.
    password = binascii.b2a_hex(base64.b64decode(plaintext))   # Derive the decryption password.
    print(str(password, 'utf-8'))   # Print the password.
  3. Exécutez le script :

    python decrypt.py

    Le mot de passe s'affiche à l'écran. Exemple :

    4b5e1d4db97a********************

Étape 3 : Télécharger et déchiffrer les données de sauvegarde

  1. Téléchargez le fichier de sauvegarde sur votre machine locale. Pour plus de détails, consultez Restaurer les données d'une instance ApsaraDB RDS for MySQL depuis un fichier de sauvegarde physique vers une base de données MySQL auto-gérée.

  2. Créez un répertoire pour stocker les données de sauvegarde :

    mkdir /home/mysql/data
  3. Décompressez le package de sauvegarde. La commande dépend de l'extension du fichier :

    Type de fichier Commande de décompression
    .tar.gz tar -izxvf test1.tar.gz -C /home/mysql/data
    .xb.gz `gzip -d -c test1.xb.gz

    xbstream -x -v -C /home/mysql/data`

    _qp.xb Voir les commandes ci-dessous
    _xb.qp `qpress -do test1_xb.qp

    xbstream -x -v -C /home/mysql/data`

    Pour les fichiers _qp.xb, exécutez les deux commandes suivantes dans l'ordre :

    # Extract the backup stream
    cat test1_qp.xb | xbstream -x -v -C /home/mysql/data
    
    # Decompress the extracted files
    # For MySQL 5.6 or MySQL 5.7:
    innobackupex --decompress --remove-original /home/mysql/data
    # For MySQL 8.0:
    xtrabackup --decompress --remove-original --target-dir=/home/mysql/data

    Après la décompression, tous les fichiers de données portent le suffixe .xbcrypt , indiquant qu'ils sont chiffrés.

    数据被加密

  4. Déchiffrez les données de sauvegarde :

    xtrabackup --decompress --remove-original --decrypt=AES256 --encrypt-key=4b5e1d4db97a******************** --target-dir=/home/mysql/data

    Remplacez les valeurs des paramètres par les vôtres :

    Paramètre description
    --decrypt L'algorithme de chiffrement obtenu à l'étape 1. Dans cet exemple : AES256.
    --encrypt-key Le mot de passe déduit à l'étape 2.
    --target-dir Le répertoire où sont stockés les fichiers de sauvegarde.

    Une fois la commande terminée, le suffixe .xbcrypt disparaît et les fichiers sont déchiffrés.

    数据解密成功

Étapes suivantes