linux-system-roles.nbde_server

nbde_server

ansible-lint.yml ansible-test.yml codeql.yml markdownlint.yml python-unit-test.yml tft.yml tft_citest_bad.yml woke.yml

用于配置网络绑定磁盘加密服务器(例如 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(默认)或 stoppedstarted 意味着服务器正在接受连接,而 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_keysnbde_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

关于项目

Ansible role for configuring Network-Bound Disk Encryption servers (e.g. tang)

安装
ansible-galaxy install linux-system-roles.nbde_server
许可证
mit
下载
8.4k