先前的工作建立加密的 ZFS 資料集 中,我們使用本機定義的 (原始) 金鑰檔案,此檔案必須直接儲存在檔案系統中。另一個金鑰儲存技術則利用密碼詞組保護的 PKCS#11 金鑰存放區,稱為 Sun Software PKCS#11 Softtoken。若要使用此方法,請執行本工作。
PKCS#11 金鑰存放區必須先手動解除鎖定,才能將金鑰提供給 ZFS 使用。這終究意味著需要管理員介入,才能掛載加密的 ZFS 資料集和啟動非全域區域 (若此區域也使用加密的 ZFS 資料集)。如需其他金鑰儲存策略的詳細資訊,請參閱 zfs_encrypt(1M) 線上手冊。
請參閱登入運算伺服器並變更預設密碼。
與新的 PKCS#11 金鑰存放區關聯的預設 PIN 為 changeme。在本範例的第一個提示中使用此密碼詞組。
# pktool setpin keystore=pkcs11 Enter token passphrase: Create new passphrase: Re-enter new passphrase:
PKCS#11 Softtoken 使用的金鑰資料預設會儲存在 /var/user/ ${USERNAME}/pkcs11_softtoken 目錄。您可以定義 ${SOFTTOKEN} 環境變數,將金鑰資料儲存在不同的位置。您可以使用此功能,為這個密碼詞組保護的金鑰資料啟用 SuperCluster 特定的存放區。
# export SOFTTOKEN=/<zfs_pool_name>/zfskeystore # pktool setpin keystore=pkcs11 Enter token passphrase: Create new passphrase: Re-enter new passphrase:
# pktool genkey keystore=pkcs11 keytype=aes keylen=256 label=zone_name_rpool Enter PIN for Sun Software PKCS#11 softtoken:
# zfs create -o encryption=aes-256-ccm -o keysource=raw,pkcs11:object=<zone_name>_rpool zfs_pool_name/zone_name Enter PKCS#11 token PIN for 'zfs_pool_name/zone_name’: