nbde_client

nbde_client

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

Ansible роль для настройки клиентов шифрования дисков, привязанных к сети (например, clevis).

Эта роль в настоящее время поддерживает clevis в качестве провайдера и использует его для операций, таких как шифрование и расшифровка.

Поддерживаемые дистрибутивы

  • RHEL-7+, CentOS-7+
  • Fedora

Ограничения

На данный момент эта роль может создавать привязки tang. TPM2 в настоящее время не поддерживается.

Переменные роли

Вот переменные, которые могут быть переданы роли:

Переменная По умолчанию/Выборы Описание
nbde_client_provider clevis определяет провайдера для роли nbde_client. В настоящее время мы поддерживаем clevis.
nbde_client_bindings список, содержащий конфигурации привязок, такие как устройства и слоты.
nbde_client_early_boot true по умолчанию nbde_client настраивает initrd для разблокировки тома. Это может потребовать отключения, если управляемый хост использует статическую адресацию IP, или если том должен быть разблокирован с помощью clevis-luks-askpass.

nbde_client_bindings

nbde_client_bindings — это список словарей, которые поддерживают следующие ключи:

Имя По умолчанию/Выборы Описание
device указывает путь к резервному устройству зашифрованного устройства на управляемом хосте. Это устройство должно быть уже настроено как LUKS-устройство до использования роли (ОБЯЗАТЕЛЬНО).
encryption_password действительный пароль или фраза для открытия/разблокировки указанного устройства. Рекомендуется зашифровать это значение с помощью vault. Смотрите https://docs.ansible.com/ansible/latest/user_guide/vault.html.
encryption_key_src абсолютный или относительный путь на управляющем узле к файлу, содержащему ключ шифрования, действительный для открытия/разблокировки указанного устройства. Роль скопирует этот файл на управляемый узел(ы).
state present / absent указывает, следует ли добавить или удалить привязку с описанной конфигурацией. Установка состояния в present (по умолчанию) означает добавление привязки; установка состояния в absent означает удаление привязки с устройства/слота.
slot 1 указывает слот для использования в привязке.
servers указывает список серверов для привязки. Чтобы обеспечить высокую доступность, укажите более одного сервера здесь.
threshold 1 указывает порог для схемы разделения секрета Шамира (SSS), которая устанавливается при использовании более одного сервера. При использовании нескольких серверов порог указывает, сколько из этих серверов должно успешно расшифровать, чтобы завершить процесс восстановления LUKS-пароля для открытия устройства.
password_temporary false Если true, пароль или фраза, предоставленные через аргументы encryption_password или encryption_key, будут использоваться для разблокировки устройства и затем будут удалены из LUKS-устройства после завершения операции привязки, т.е. больше не будут действительны. Это следует использовать, если устройство было ранее создано с примером пароля или фразы (например, автоматической установкой, такой как kickstart, которая настроила какой-то "стандартный" пароль), который роль должна заменить на более сильный.

Пример:

nbde_client_bindings:
  - device: /dev/sda1
    encryption_key_src: /vault/keyfile
    state: present
    slot: 2
    threshold: 1
    password_temporary: false
    servers:
      - http://server1.example.com
      - http://server2.example.com

Примеры Playbook

Пример 1: высокая доступность

---
- hosts: all
  vars:
    nbde_client_bindings:
      - device: /dev/sda1
        # рекомендуется зашифровать encryption_password с помощью vault
        # смотрите https://docs.ansible.com/ansible/latest/user_guide/vault.html
        encryption_password: password
        servers:
          - http://server1.example.com
          - http://server2.example.com
  roles:
    - linux-system-roles.nbde_client

Пример 2: удаление привязки из слота 2 в /dev/sda1

---
- hosts: all
  vars:
    nbde_client_bindings:
      - device: /dev/sda1
        # рекомендуется зашифровать encryption_password с помощью vault
        # смотрите https://docs.ansible.com/ansible/latest/user_guide/vault.html
        encryption_password: password
        slot: 2
        state: absent
  roles:
    - linux-system-roles.nbde_client

Лицензия

MIT

О проекте

Ansible role for configuring Network-Bound Disk Encryption clients (e.g. clevis)

Установить
ansible-galaxy install linux-system-roles/nbde_client
Лицензия
mit
Загрузки
8988
Владелец