linux-system-roles.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

Rola Ansible do konfigurowania klientów szyfrowania dysków powiązanych z siecią (np. clevis).

Ta rola obecnie obsługuje clevis jako dostawcę i używa go do operacji, takich jak szyfrowanie i deszyfrowanie.

Obsługiwane dystrybucje

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

Ograniczenia

Ta rola może obecnie tworzyć powiązania tang. TPM2 nie jest obecnie obsługiwany.

Zmienne roli

To są zmienne, które można przekazać do roli:

Zmienna Domyślna/Wybory Opis
nbde_client_provider clevis identyfikuje dostawcę dla roli nbde_client. Obecnie obsługujemy clevis.
nbde_client_bindings lista zawierająca konfiguracje powiązań, które obejmują np. urządzenia i sloty.
nbde_client_early_boot true domyślnie nbde_client skonfiguruje initrd do odblokowania wolumenu. Może to wymagać wyłączenia, jeśli zarządzany host używa statycznych adresów IP lub jeśli wolumen powinien być odblokowany przez clevis-luks-askpass.

nbde_client_bindings

nbde_client_bindings jest listą słowników, które obsługują następujące klucze:

Nazwa Domyślna/Wybory Opis
device określa ścieżkę do urządzenia bazowego dla zaszyfrowanego urządzenia na zarządzanym hoście. To urządzenie musi być już skonfigurowane jako urządzenie LUKS przed użyciem roli (WYMAGANE).
encryption_password ważne hasło lub fraza do otwarcia/odblokowania określonego urządzenia. Zaleca się szyfrowanie wartości za pomocą skarbca. Zobacz https://docs.ansible.com/ansible/latest/user_guide/vault.html
encryption_key_src albo absolutna, albo względna ścieżka, na węźle kontrolnym, do pliku zawierającego klucz szyfrowania ważny do otwarcia/odblokowania określonego urządzenia. Rola skopiuje ten plik do zarządzanego węzła.
state present / absent określa, czy powiązanie z opisanej konfiguracji powinno zostać dodane lub usunięte. Ustawienie stanu na present (domyślnie) oznacza, że powiązanie zostanie dodane; ustawienie stanu na absent oznacza, że powiązanie zostanie usunięte z urządzenia/slotu.
slot 1 określa slot używany do powiązania.
servers określa listę serwerów do powiązania. Aby umożliwić wysoką dostępność, należy tutaj określić więcej niż jeden serwer.
threshold 1 określa próg dla schematu Shamir Secret Sharing (SSS), który jest wprowadzany przy użyciu więcej niż jednego serwera. Przy użyciu wielu serwerów próg wskazuje, ile z tych serwerów musi odnieść sukces w zakresie deszyfrowania, aby zakończyć proces odzyskiwania hasła LUKS do otwarcia urządzenia.
password_temporary false Jeśli true, hasło lub fraza podana za pomocą encryption_password lub encryption_key zostanie użyta do odblokowania urządzenia, a następnie zostanie usunięta z urządzenia LUKS po zakończeniu operacji powiązania, tj. nie będzie już ważna. Należy używać, jeśli urządzenie zostało wcześniej stworzone z przykładowym hasłem lub frazą (na przykład przez zautomatyzowaną instalację, taką jak kickstart, która ustawiła jakiegoś rodzaju "domyślne" hasło), które rola powinna zastąpić silniejszym.

Przykład:

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

Przykłady skryptów Ansible

Przykład 1: wysoka dostępność

---
- hosts: all
  vars:
    nbde_client_bindings:
      - device: /dev/sda1
        # zaleca się szyfrowanie hasła za pomocą skarbca
        # zobacz 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

Przykład 2: usunięcie powiązania ze slotu 2 w /dev/sda1

---
- hosts: all
  vars:
    nbde_client_bindings:
      - device: /dev/sda1
        # zaleca się szyfrowanie hasła za pomocą skarbca
        # zobacz https://docs.ansible.com/ansible/latest/user_guide/vault.html
        encryption_password: password
        slot: 2
        state: absent
  roles:
    - linux-system-roles.nbde_client

Licencja

MIT

O projekcie

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

Zainstaluj
ansible-galaxy install linux-system-roles.nbde_client
Licencja
mit
Pobrania
10.5k
Właściciel