linux-system-roles.nbde_server
nbde_server
用于配置网络绑定磁盘加密服务器(例如 tang)的 Ansible 角色。
该角色当前支持 tang
作为提供者,并可以设置 tang 服务器。
支持的发行版
- RHEL-7+,CentOS-7+
- Fedora
需求
请见下面
集合需求
该角色需要在 meta/collection-requirements.yml
中指定的其他集合。这些集合不会自动安装。您必须这样安装它们:
ansible-galaxy install -vv -r meta/collection-requirements.yml
角色变量
这些是可以传递给角色的变量:
变量 | 默认值 | 描述 |
---|---|---|
nbde_server_provider |
tang |
确定 nbde_server 角色的提供者。我们目前支持 tang 作为 nbde_server 提供者,这意味着 nbde_server 角色可以配置/部署 tang 服务器。 |
nbde_server_service_state |
started |
指示 nbde_server 应该处于的状态。可以是 started (默认)或 stopped 。started 意味着服务器正在接受连接,而 stopped 意味着它不接受连接。 |
nbde_server_rotate_keys |
false |
指示是否应旋转现有密钥(如有),然后创建新密钥。默认行为(false )是创建新密钥(如果没有),如果存在则不处理密钥。如果设置为 true ,将旋转现有密钥并创建新密钥。 |
nbde_server_fetch_keys |
false |
指示是否应将密钥提取到控制节点,在这种情况下,它们将放置在 nbde_server_keys_dir 中。您 必须 设置 nbde_server_keys_dir 以使用 nbde_server_fetch_keys 。 |
nbde_server_deploy_keys |
false |
指示是否应将位于 nbde_server_keys_dir 目录中的密钥部署到远程主机。您 必须 设置 nbde_server_keys_dir 以使用 nbde_server_deploy_keys 。 |
nbde_server_keys_dir |
指定控制节点中包含要部署到远程主机的密钥的目录。位于顶级目录中的密钥将部署到每个远程主机,而位于按远程主机命名的子目录中的密钥(根据清单)将仅部署到这些特定主机。 nbde_server_keys_dir 必须 是绝对路径。您需要设置这个以使用 nbde_server_fetch_keys 和/或 nbde_server_deploy_keys 。 |
|
nbde_server_manage_firewall |
false |
如果设置为 true ,则使用 firewall 角色管理 nbde 服务器端口和区域。 |
nbde_server_manage_selinux |
false |
如果设置为 true ,则使用 selinux 角色管理 nbde 服务器端口。 |
nbde_server_port |
80 |
tangd 要监听的端口号。如果您希望角色管理该端口的 SELinux 标签,您 必须 设置 nbde_server_manage_selinux: true 。如果您希望角色管理该端口的防火墙,则 必须 设置 nbde_server_manage_firewall: true 。 |
nbde_server_firewall_zone |
public |
更改默认端口应打开的区域。如果要更改默认区域,您 必须 设置 nbde_server_manage_firewall: true 。 |
nbde_server_fetch_keys
和 nbde_server_deploy_keys
要使用这两个选项,您需要指定 nbde_server_keys_dir
,这是一个具有绝对路径的目录。
使用这些变量的行为如下所述:
当 nbde_server_fetch_keys
设置为 true
角色将以以下方式从主机提取密钥:
- 如果未设置
nbde_server_deploy_keys
,则从每个主机提取的密钥将放置在以主机命名的目录中,放在nbde_server_keys_dir
内 - 如果设置了
nbde_server_deploy_keys
,仅会从清单中的第一个主机提取密钥,并放入nbde_server_keys_dir
的顶级目录中
当 nbde_server_deploy_keys
设置为 true
角色将以以下方式部署 nbde_server_keys_dir
中可用的密钥:
- 放在
nbde_server_keys_dir
的顶级目录中的密钥将部署到每个主机 - 放在按远程主机命名的子目录中的密钥(在
nbde_server_keys_dir
内部),将部署到特定主机
示例剧本
示例 1:将 NBDE 服务器部署到清单中的每个主机
---
- name: 管理 nbde 服务器
hosts: all
roles:
- linux-system-roles.nbde_server
示例 2:从 NBDE 服务器安装获取密钥
从 /root/nbde_server/keys
获取每个 NBDE 服务器安装的密钥
---
- name: 从 /root/nbde_server/keys 管理 nbde 密钥
hosts: all
vars:
nbde_server_fetch_keys: true
nbde_server_keys_dir: /root/nbde_server/keys
roles:
- linux-system-roles.nbde_server
之后,您可以备份您的密钥,这些密钥将位于 /root/nbde_server/keys
中,按照主机名命名的子目录中。
示例 3:从示例 2 中备份重新部署密钥
要重新部署密钥,必须将其放置在按照要部署的主机命名的子目录中。使用示例 2 后的 /root/nbde_server/keys
,使用以下剧本将相同的密钥重新部署到相同的主机:
---
- name: 管理 nbde 并重新部署备份的密钥
hosts: all
vars:
nbde_server_deploy_keys: true
nbde_server_keys_dir: /root/nbde_server/keys
roles:
- linux-system-roles.nbde_server
示例 4:部署 NBDE 服务器并在每个主机上使用相同的密钥
注意:这不推荐,但支持。
---
- name: 在每个主机上使用相同的密钥管理 nbde
hosts: all
vars:
nbde_server_fetch_keys: true
nbde_server_deploy_keys: true
nbde_server_keys_dir: /root/nbde_server/keys
roles:
- linux-system-roles.nbde_server
示例 5:以自定义端口和区域部署 NBDE 服务器
---
- name: 使用自定义端口和区域管理 nbde
hosts: all
vars:
nbde_server_manage_firewall: true
nbde_server_manage_selinux: true
nbde_server_port: 7500
nbde_server_firewall_zone: dmz
roles:
- linux-system-roles.nbde_server
rpm-ostree
请参见 README-ostree.md
许可证
MIT