Documentation Home
MySQL Enterprise Backup ユーザーズガイド (バージョン 3.11)
Download this Manual
PDF (US Ltr) - 1.3Mb
PDF (A4) - 1.3Mb
HTML Download (TGZ) - 164.9Kb
HTML Download (Zip) - 191.2Kb


第 8 章 バックアップの暗号化

バックアップされたデータのセキュリティーを高めるため、バージョン 3.10, 以降、MySQL Enterprise Backup では単一ファイルバックアップの暗号化を提供しています。暗号化は、部分、圧縮、または増分単一ファイルバックアップを作成する場合、およびバックアップデータを別のデバイスやサーバーにストリーミングする場合にも適用できます。

暗号化は、ユーザーによって指定された 64 桁の 16 進数の鍵文字列を使用して、CBC モードの Advanced Encryption Standard (AES) ブロック暗号化によって実行されます。復号化は同じ鍵を使用して実行されます。鍵は、単に 64 個のランダムな 16 進バイトを組み合わせて手動で作成するか、または shasum (またはプラットフォームで機能するハッシュ計算用の類似のプログラム) にキーフレーズを指定して生成することができます。

$ echo -n "my secret passphrase" | shasum -a 256
a7e845b0854294da9aa743b807cb67b19647c1195ea8120369f3d12c70468f29  -

末尾の - は鍵に含まれず、無視すべきであることに注意してください。鍵を --key オプションで mysqlbackup に提供するか、鍵ファイルに鍵を張り付けて、ファイルのパス名を --key-file オプションで mysqlbackup に提供します。

鍵をランダムに生成するには、OpenSSL などのツールを使用できます。

$ openssl rand 32 -hex
8f3ca9b850ec6366f4a54feba99f2dc42fa79577158911fe8cd641ffff1e63d6

OpenSSL によって生成された鍵を鍵ファイルに入れるには、次を実行します。

$ openssl rand 32 -hex >keyfile
$ cat keyfile
6a1d325e6ef0577f3400b7cd624ae574f5186d0da2eeb946895de418297ed75b

暗号化機能では MySQL Enterprise Backup の独自の暗号化形式を使用しており、復号化は MySQL Enterprise Backup を使用することによってのみ可能です。Unix のようなオペレーティングシステムでは、暗号化されたバックアップファイルと暗号化されていないバックアップファイルを識別するために異なるマジック値が使用されます。たとえば、これらの行をオペレーティングシステムの /etc/magic ファイルに追加できます。

0   string  MBackuP\n   MySQL Enterprise Backup backup image
0   string  MebEncR\n   MySQL Enterprise Backup encrypted backup

その後、file コマンドを使用して、ファイルの種類を識別できます。

  $ file /backups/image1 /backups/image2
  /backups/image1: MySQL Enterprise Backup backup image
  /backups/image2: MySQL Enterprise Backup encrypted backup

暗号化および復号化に使用するコマンドオプションは --encrypt--decrypt--key、および --key-file です。これらのオプションは、バックアップイメージへのさまざまな操作で使用できます。詳細は、セクション5.1.14「暗号化オプション」を参照してください。

次は、暗号化バックアップを作成するためのサンプルコマンドです。

mysqlbackup --backup-image=/backups/image.enc --encrypt
   --key=23D987F3A047B475C900127148F9E0394857983645192874A2B3049570C12A34
   --backup-dir=/var/tmp/backup  backup-to-image

同じタスクに鍵ファイルを使用するには:

mysqlbackup --backup-image=/backups/image.enc --encrypt
   --key-file=/meb/key  --backup-dir=/var/tmp/backup  backup-to-image

バックアップを抽出時に復号化するには:

mysqlbackup --backup-image=/backups/image.enc --decrypt
   --key-file=/meb/key --backup-dir=/backups/extract-dir  extract

暗号化されたバックアップイメージを検証するには:

mysqlbackup --backup-image=/logs/encimage.bi --decrypt --key-file=/meb/enckey validate