第 7 章 使用 Clevis 和 Tang 系统角色
7.1. Clevis 和 Tang 系统角色介绍
RHEL 系统角色是 Ansible 角色和模块的集合,可为远程管理多个 RHEL 系统提供一致的配置界面。
RHEL 8.3 引入了 Ansible 角色,用于使用 Clevis 和 Tang 自动部署基于策略解密(PBD)解决方案。rhel-system-roles
软件包包含这些系统角色、相关示例以及参考文档。
nbde_client
系统角色可让您自动部署多个 Clevis 客户端。请注意,nbde_client
角色只支持 Tang 绑定,您目前不能在 TPM2 绑定中使用它。
通过 nbde_server
角色,您可以部署和管理 Tang 服务器作为自动磁盘加密解决方案的一部分。此角色支持以下功能:
- 轮转 Tang 密钥
- 部署和备份 Tang 密钥
其它资源
-
有关 Network-Bound Disk Encryption(NBDE)角色变量的详细参考,安装
rhel-system-roles
软件包,查看README.md
/usr/share/doc/rhel-system-roles/nbde_client/
和README.html
/usr/share/doc/rhel-system-roles/nbde_server/
目录里的文件。 -
例如 system-roles playbook,安装
rhel-system-roles
软件包并查看/usr/share/ansible/roles/rhel-system-roles.nbde_server/examples/
目录。 - 有关 RHEL 系统角色的更多信息,请参阅 RHEL 系统角色简介
7.2. 使用 nbde_server 系统角色设置多个 Tang 服务器
按照以下步骤准备并应用包含您的 Tang-server 设置的 Ansible playbook。
先决条件
- 您的 Red Hat Ansible Engine 订阅已附加到系统。如需更多信息,请参阅如何下载和安装 Red Hat Ansible Engine 文章。
流程
启用 RHEL Ansible 存储库,例如:
# subscription-manager repos --enable ansible-2-for-rhel-8-x86_64-rpms
安装 Ansible Engine:
# yum install ansible
安装 RHEL 系统角色:
# yum install rhel-system-roles
准备包含 Tang 服务器设置的 playbook。您可以从头开始,或使用
/usr/share/ansible/roles/rhel-system-roles.nbde_server/examples/
目录中的示例 playbook。# cp /usr/share/ansible/roles/rhel-system-roles.nbde_server/examples/simple_deploy.yml ./my-tang-playbook.yml
在您选择的文本编辑器中编辑 playbook,例如:
# vi my-tang-playbook.yml
添加所需参数。以下示例 playbook 可确保部署 Tang 服务器和密钥轮转:
--- - hosts: all vars: nbde_server_rotate_keys: yes roles: - linux-system-roles.nbde_server
应用完成的 playbook:
# ansible-playbook -i host1,host2,host3 my-tang-playbook.yml
其它资源
-
如需更多信息,请安装
rhel-system-roles
软件包并查看usr/share/ansible/roles/rhel-system-roles.nbde_server/
目录和/usr/share/doc/rhel-system-roles/nbde_server/
目录。
7.3. 使用 nbde_client 系统角色设置多个 Clevis 客户端
按照以下步骤准备并应用包含 Clevis-client 设置的 Ansible playbook。
nbde_client
系统角色只支持 Tang 绑定。这意味着您目前无法将其用于 TPM2 绑定。
先决条件
- 您的 Red Hat Ansible Engine 订阅已附加到系统。如需更多信息,请参阅如何下载和安装 Red Hat Ansible Engine 文章。
流程
启用 RHEL Ansible 存储库,例如:
# subscription-manager repos --enable ansible-2-for-rhel-8-x86_64-rpms
安装 Ansible Engine:
# yum install ansible
安装 RHEL 系统角色:
# yum install rhel-system-roles
准备包含 Clevis 客户端设置的 playbook。您可以从头开始,或使用
/usr/share/ansible/roles/rhel-system-roles.nbde_client/examples/
目录中的示例 playbook。# cp /usr/share/ansible/roles/rhel-system-roles.nbde_client/examples/high_availability.yml ./my-clevis-playbook.yml
在您选择的文本编辑器中编辑 playbook,例如:
# vi my-clevis-playbook.yml
添加所需参数。以下示例 playbook 配置 Clevis 客户端,以便在两个 Tang 服务器中至少有一个可用时自动解锁两个 LUKS 加密卷:
--- - hosts: all vars: nbde_client_bindings: - device: /dev/rhel/root key_file: /etc/luks/keyfile servers: - http://server1.example.com - http://server2.example.com - device: /dev/rhel/swap key_file: /etc/luks/keyfile servers: - http://server1.example.com - http://server2.example.com roles: - linux-system-roles.nbde_client
应用完成的 playbook:
# ansible-playbook -i host1,host2,host3 my-clevis-playbook.yml
其它资源
-
如需了解有关该角色的参数和附加信息
nbde_client
,安装rhel-system-roles
软件包并查看/usr/share/doc/rhel-system-roles/nbde_client/
/usr/share/ansible/roles/rhel-system-roles.nbde_client/
目录的详情。
为了尽快向用户提供最新的信息,本文档可能会包括由机器自动从英文原文翻译的内容。如需更多信息,请参阅此说明。