第 19 章 使用 RHEL 系统角色配置 NBDE
您可以使用 nbde_client
和 nbde_server
RHEL 系统角色使用 Clevis 和 Tang 自动部署基于策略的解密(PBD)解决方案。rhel-system-roles
包中包含了这些系统角色、相关的例子以及参考文档。
19.1. 使用 nbde_server
RHEL 系统角色设置多个 Tang 服务器
通过使用 nbde_server
系统角色,您可以部署和管理 Tang 服务器作为自动磁盘加密解决方案的一部分。此角色支持以下功能:
- 轮转 Tang 密钥
- 部署和备份 Tang 密钥
先决条件
- 您已准备好控制节点和受管节点。
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。
流程
创建一个包含以下内容的 playbook 文件,如
~/playbook.yml
:--- - name: Deploy a Tang server - hosts: tang.server.example.com - tasks: - name: Install and configure periodic key rotation ansible.builtin.include_role: name: rhel-system-roles.nbde_server vars: nbde_server_rotate_keys: yes nbde_server_manage_firewall: true nbde_server_manage_selinux: true
此示例 playbook 确保部署 Tang 服务器和密钥轮转。
示例 playbook 中指定的设置包括以下内容:
nbde_server_manage_firewall: true
-
使用
firewall
系统角色管理nbde_server
角色使用的端口。 nbde_server_manage_selinux: true
使用
selinux
系统角色管理nbde_server
角色使用的端口。有关 playbook 中使用的所有变量的详情,请查看控制节点上的
/usr/share/ansible/roles/rhel-system-roles.nbde_server/README.md
文件。
验证 playbook 语法:
$ ansible-playbook --syntax-check ~/playbook.yml
请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 playbook:
$ ansible-playbook ~/playbook.yml
验证
在您的 NBDE 客户端上,使用以下命令验证您的 Tang 服务器是否正常工作。该命令必须返回您传递的与加密和解密相同的消息:
# ansible managed-node-01.example.com -m command -a 'echo test | clevis encrypt tang '{"url":"<tang.server.example.com>"}' -y | clevis decrypt' test
其他资源
-
/usr/share/ansible/roles/rhel-system-roles.nbde_server/README.md
文件 -
/usr/share/doc/rhel-system-roles/nbde_server/
目录