Oracle® Solaris 11.2 での ZFS ファイルシステムの管理

印刷ビューの終了

更新: 2014 年 12 月
 
 

ZFS ファイルシステムを暗号化する例

使用例 5-1  生の鍵を使用して ZFS ファイルシステムを暗号化する

次の例では、pktool コマンドを使用して aes-256-ccm 暗号化鍵が生成され、/cindykey.file のファイルに書き込まれます。

# pktool genkey keystore=file outkey=/cindykey.file keytype=aes keylen=256

続いて、tank/home/cindy ファイルシステムが作成されるときに、/cindykey.file が指定されます。

# zfs create -o encryption=aes-256-ccm -o keysource=raw,file:///cindykey.file
tank/home/cindy
使用例 5-2  別の暗号化アルゴリズムで ZFS ファイルシステムを暗号化する

ZFS ストレージプールを作成し、そのストレージプール内のすべてのファイルシステムに暗号化アルゴリズムを継承させることができます。この例では、users プールが作成され、users/home ファイルシステムが作成され、パスフレーズを使用して暗号化されます。デフォルトの暗号化アルゴリズムは aes-128-ccm です。

続いて、users/home/mark ファイルシステムが作成され、aes-256-ccm 暗号化アルゴリズムを使用して暗号化されます。

# zpool create -O encryption=on users mirror c0t1d0 c1t1d0 mirror c2t1d0 c3t1d0
Enter passphrase for 'users': xxxxxxxx
Enter again: xxxxxxxx
# zfs create users/home
# zfs get encryption users/home
NAME        PROPERTY    VALUE        SOURCE
users/home  encryption  on           inherited from users
# zfs create -o encryption=aes-256-ccm users/home/mark
# zfs get encryption users/home/mark
NAME               PROPERTY    VALUE        SOURCE
users/home/mark    encryption  aes-256-ccm  local
使用例 5-3  暗号化した ZFS ファイルシステムのクローンを作成する

クローンファイルシステムが、元のスナップショットと同じファイルシステムの keysource プロパティーを継承する場合、新しい keysource は不要であり、keysource=passphrase,prompt の場合でも新しいパスフレーズの入力を要求されることはありません。クローンには同じ keysource が使用されます。例:

デフォルトでは、暗号化されたファイルシステムの子孫のクローンを作成するときに、鍵の入力を要求されません。

# zfs create -o encryption=on tank/ws
Enter passphrase for 'tank/ws': xxxxxxxx
Enter again: xxxxxxxx
# zfs create tank/ws/fs1
# zfs snapshot tank/ws/fs1@snap1
# zfs clone tank/ws/fs1@snap1 tank/ws/fs1clone

クローンファイルシステムの新しい鍵を作成する場合、zfs clone –K コマンドを使用します。

子孫の暗号化されたファイルシステムではなく、暗号化されたファイルシステムのクローンを作成する場合は、新しい鍵を入力するように要求されます。例:

# zfs create -o encryption=on tank/ws
Enter passphrase for 'tank/ws': xxxxxxxx
Enter again: xxxxxxxx
# zfs snapshot tank/ws@1
# zfs clone tank/ws@1 tank/ws1clone
Enter passphrase for 'tank/ws1clone': xxxxxxxx
Enter again: xxxxxxxx
使用例 5-4  暗号化された ZFS ファイルシステムを送受信する

次の例では、tank/home/darren@snap1 スナップショットが、暗号化された /tank/home/darren ファイルシステムから作成されます。続いて、暗号化プロパティーを有効にしてスナップショットが bpool/snaps に送信されます。このため、結果として受信されたデータは暗号化されています。ただし、送信プロセス中、tank/home/darren@snap1 ストリームは暗号化されていません。

# zfs get encryption tank/home/darren
NAME              PROPERTY    VALUE        SOURCE
tank/home/darren  encryption  on           local
# zfs snapshot tank/home/darren@snap1
# zfs get encryption bpool/snaps
NAME         PROPERTY    VALUE        SOURCE
bpool/snaps  encryption  on           inherited from bpool
# zfs send tank/home/darren@snap1 | zfs receive bpool/snaps/darren1012
# zfs get encryption bpool/snaps/darren1012
NAME                    PROPERTY    VALUE        SOURCE
bpool/snaps/darren1012  encryption  on           inherited from bpool

この場合、受信した暗号化されたファイルシステムに対して、新しい鍵が自動的に生成されます。