日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

備份加密

備份加密是利用備份工具(Xtrabackup)的加密能力對RDS MySQL實例備份進行加密,開發人員無需更改任何應用程序。如果需要使用加密的備份,需要先下載備份,然后在解壓縮時進行解密。

前提條件

  • RDS MySQL實例需滿足如下要求:

    • 大版本:8.0、5.7、5.6

    • 系列:高可用系列

    • 存儲類型:本地SSD盤

  • 開通密鑰管理服務

背景信息

加密使用的密鑰由密鑰管理服務(KMS)產生和管理,RDS不提供加密所需的密鑰和證書。您不僅可以使用阿里云自動生成的密鑰,也可以使用自定義密鑰。

如果您需要使用自定義密鑰進行備份加密,首先需要創建一個服務關聯角色,RDS服務通過該角色獲取KMS密鑰列表、密鑰屬性以及別名后,才能在控制臺給您展示加密密鑰列表,并且在備份加密之后展示加密的相關信息。

開通加密服務的操作中,RDS服務會標記您選擇的密鑰,然后備份系統通過服務關聯角色使用密鑰進行備份加密。

注意事項

重要

備份加密功能開通后不可關閉。

  • 備份加密開通后無法修改密鑰。

  • 備份加密開通后新增的備份才會加密,存量備份不會加密。

  • 備份加密開通后,您如果要恢復數據到本地,請在下載后解密數據

    說明

    在控制臺使用備份直接恢復數據,不需要您手動解密,后端會自動解密后執行恢復操作。

  • 使用已有自定義密鑰時,需要注意:

    • 禁用密鑰、設置密鑰刪除計劃或者刪除密鑰材料都會造成密鑰不可用,從而使基于該密鑰加密備份的實例運維操作失敗,可能會影響實例的可用性。基于該加密備份的恢復操作也會失敗。

    • 需要使用阿里云主賬號或者具有如下權限的RAM賬號(子賬號):

      {
          "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:*:*:*"
                  ]
              }
          ]
      }
      說明

      您可以在訪問控制控制臺配置權限并授權賬號,詳情請參見RAM授權訪問RDS實例

開通備份加密

  1. 訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID。
  2. 在左側導航欄中單擊備份恢復

  3. 備份恢復頁面中選擇備份策略頁簽。

  4. 單擊備份加密設置區域后的編輯,開啟備份加密狀態

  5. 備份加密設置對話框中,選擇備份主密鑰,然后單擊確定

    • 使用阿里云自動生成的密鑰

      阿里云自動生成密鑰供您使用。

    • 使用已有自定義密鑰

      選擇密鑰管理服務(KMS)中已創建的密鑰。如還未創建,請參見創建密鑰

      說明

      首次使用自定義密鑰需要授權,您可以根據頁面提示進行操作。

開通成功后,您的備份就會被加密,在阿里云上使用備份時不需要您手動解密,后端會自動解密后執行相關操作(例如恢復數據),但是如果下載加密的備份到本地,您需要手動解密才能使用備份。解密數據,請參見解密數據

解密數據

本文以Ubuntu 16.04系統為例,演示解密數據的全過程。

前提條件

操作步驟

  1. 獲取RDS加密備份數據的密文和加密算法。

    1. 訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID。

    2. 在左側導航欄中單擊備份恢復

    3. 備份恢復頁面中選擇基礎備份列表 > 數據備份

    4. 單擊目標備份集操作列下的1 > 查看加密信息,即可獲取加密備份數據的密文加密算法

  2. 調用Decrypt接口,在CiphertextBlob參數中傳入步驟1中獲取的密文,獲取base64編碼的二進制串Plaintext。

    plaintext

  3. 通過base64對Plaintext進行解碼,并將各個二進制轉換為對應的十六進制獲取解密密碼。本文通過Python(版本為Python 3)代碼實現這一操作。

    1. 在命令行中執行vi decrypt.py打開vi編輯器。

    2. 按下鍵盤上的i鍵開啟編輯模式,輸入如下內容后按下ESC鍵,輸入:wq保存并退出。

      import base64
      import binascii
      plaintext = 'S14dTbl6i4Qo**********'  # 單引號('')中輸入上一步驟中獲取的Plaintext。
      password = binascii.b2a_hex(base64.b64decode(plaintext))   # 獲取解密密碼并將密碼賦值給password。
      print(str(password, 'utf-8'))   # 以字符串的形式將密碼打印在屏幕上。
      
    3. 在命令行中執行python decrypt.py命令后,屏幕上會打印出解密密碼。示例如下:

      4b5e1d4db97a********************
  4. 下載加密備份數據并解密該數據。

    1. 下載備份數據到本地

    2. 在命令行中執行如下命令創建一個目錄(例如/home/mysql/data)用來存放備份數據。

      mkdir /home/mysql/data
    3. 解壓壓縮包。根據壓縮包的后綴選擇解壓命令。

      備份文件類型

      解壓命令

      tar 壓縮包 (.tar.gz 后綴)

      tar -izxvf test1.tar.gz -C /home/mysql/data

      xbstream 壓縮包 (.xb.gz 后綴)

      gzip -d -c test1.xb.gz | xbstream -x -v -C /home/mysql/data

      xbstream 文件包(_qp.xb 后綴)

      ## 先解包
      cat test1_qp.xb | xbstream -x -v -C /home/mysql/data
      
      ## 然后解壓
      ### 對于MySQL 5.6/5.7
      innobackupex --decompress --remove-original /home/mysql/data
      ### 對于MySQL 8.0
      xtrabackup --decompress --remove-original --target-dir=/home/mysql/data

      xbstream qpress壓縮包(_xb.qp后綴)

      qpress -do  test1_xb.qp  | xbstream -x -v -C /home/mysql/data

      解壓后會發現,基本上所有數據的后綴都為.xbcrypt,表示數據被加密。數據被加密

    4. 在命令行中執行如下命令解密數據。

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

      上述命令中的主要參數說明如下:

      • decrypt步驟1中獲取的加密算法,本示例中為AES256

      • encrypt-key步驟3中獲取的解密密碼。

      • target-dir:備份文件所在的目錄。

      執行后,數據的.xbcrypt后綴消失,數據解密成功。數據解密成功