3.2. 将 OpenStack Key Manager (barbican)与 Thales Luna Network HSM 集成
要将 PKCS#11 后端与 Thales Luna Network HSM 设备集成用于基于硬件的加密处理,请使用 Ansible 角色在控制器上下载并安装 Thales Luna 客户端软件,并创建一个 Key Manager 配置文件使其包含预定义的 HSM IP 和凭证。
前提条件
- 为 Thales Luna Network HSM 提供厂商软件的受密码保护的 HTTPS 服务器。
- 供应商在压缩的 zip 归档中提供了 Luna Network HSM 客户端软件。
流程
在 director 上安装
ansible-role-lunasa-hsm
角色:sudo dnf install ansible-role-lunasa-hsm
为 Key Manager (barbican)创建一个
configure-barbican.yaml
环境文件,并添加特定于您的环境的参数。parameter_defaults: BarbicanPkcs11CryptoMKEKLabel: "barbican_mkek_0" BarbicanPkcs11CryptoHMACLabel: "barbican_hmac_0" BarbicanPkcs11CryptoLogin: "$PKCS_11_USER_PIN" BarbicanPkcs11CryptoGlobalDefault: true LunasaVars: lunasa_client_tarball_name: 610-012382-014_SW_Client_HSM_6.2_RevA.tar.zip lunasa_client_tarball_location: https://user:$PASSWORD@http-server.example.com/luna_software/610-012382-014_SW_Client_HSM_6.2_RevA.tar.zip lunasa_client_installer_path: 610-012382-014_SW_Client_HSM_6.2_RevA/linux/64/install.sh lunasa_hsms: - hostname: luna-hsm.example.com admin_password: "$HSM_ADMIN_PASSWORD" partition: myPartition1 partition_serial: 123456789
表 3.3. Heat 参数 参数 值 BarbicanSimpleCryptoGlobalDefault
这是一个布尔值,用于确定 simplecrypto 是否为全局默认值。
BarbicanPkcs11GlobalDefault
这是一个布尔值,用于确定 PKCS#11 是否为全局默认值。
BarbicanPkcs11CryptoTokenLabel
如果您有一个 HSM,则参数的值是分区标签。如果您在两个或多个分区之间使用 HA,则这是您要提供给 HA 组的标签。
BarbicanPkcs11CryptoLogin
用于登录到 HSM 的 PKCS#11 密码,由 HSM 管理员提供。
LunasaVar
lunasa_client_tarball_name
Luna 软件 tarball 的名称。
lunasa_client_tarball_location
指定 Luna 软件 tarball 的 HTTPS 服务器位置的 URL。
lunasa_client_installer_path
到 zipped tarball 中的 install.sh 脚本的路径。
lunasa_client_rotate_cert
(可选)当设为 true 时,将生成新客户端证书来替换任何现有证书。默认:false
lunasa_client_working_dir
(可选) Controller 节点中的工作目录。Default: /tmp/lunasa_client_install
lunasa_hsms
指定 name, hostname, admin_password, partition, 和 partition 序列号的一个或多个 HSM 列表。当在这个列表中包含多个 HSM 时,B Barbican 配置 HSM 以实现高可用性。
在部署命令中包含自定义
configure-barbican.yaml
和 Thales 特定的barbican-backend-pkcs11-llunasa.yaml
环境文件,以及与部署相关的任何其他模板:$ openstack overcloud deploy --templates \ .... -e /usr/share/openstack-tripleo-heat-templates/environments/services/barbican.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/barbican-backend-pkcs11-lunasa.yaml \ -e /home/stack/templates/configure-barbican.yaml \ --log-file overcloud_deployment_with_luna.log