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

Rôle Ansible pour configurer les clients de chiffrement de disque liés au réseau (par exemple, clevis).

Ce rôle prend actuellement en charge clevis comme fournisseur et l'utilise pour des opérations comme le chiffrement et le déchiffrement.

Distributions Prises en Charge

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

Limitations

Ce rôle peut actuellement créer des liaisons tang. TPM2 n'est pas pris en charge pour le moment.

Variables du Rôle

Voici les variables qui peuvent être passées au rôle :

Variable Valeur par Défaut/Choix Description
nbde_client_provider clevis identifie le fournisseur pour le rôle nbde_client. Actuellement, nous supportons clevis.
nbde_client_bindings une liste contenant des configurations de liaison, incluant par exemple les dispositifs et emplacements.
nbde_client_early_boot true par défaut, le nbde_client configurera l'initrd pour déverrouiller le volume. Cela peut devoir être désactivé si l'hôte géré utilise une adresse IP statique, ou si le volume doit être déverrouillé par clevis-luks-askpass.

nbde_client_bindings

nbde_client_bindings est une liste de dictionnaires qui supportent les clés suivantes :

Nom Valeur par Défaut/Choix Description
device spécifie le chemin de l'appareil de support d'un appareil chiffré sur l'hôte géré. Cet appareil doit déjà être configuré comme appareil LUKS avant d'utiliser le rôle (REQUISE).
encryption_password un mot de passe ou une phrase de passe valide pour ouvrir/déverrouiller l'appareil spécifié. Il est recommandé de chiffrer la valeur avec Vault. Voir https://docs.ansible.com/ansible/latest/user_guide/vault.html
encryption_key_src soit le chemin absolu soit relatif, sur le nœud de contrôle, d'un fichier contenant une clé de chiffrement valide pour ouvrir/déverrouiller l'appareil spécifié. Le rôle copiera ce fichier sur le(s) nœud(s) géré(s).
state present / absent spécifie si une liaison avec la configuration décrite doit être ajoutée ou supprimée. Mettre l'état à présent (la valeur par défaut) signifie qu'une liaison sera ajoutée ; mettre l'état à absent signifie qu'une liaison sera supprimée de l'appareil/emplacement.
slot 1 spécifie l'emplacement à utiliser pour la liaison.
servers spécifie une liste de serveurs à lier. Pour activer la disponibilité élevée, indiquez plus d'un serveur ici.
threshold 1 spécifie le seuil pour le schéma de partage secret de Shamir (SSS) qui est mis en place lors de l'utilisation de plusieurs serveurs. Lors de l'utilisation de plusieurs serveurs, le seuil indique combien de ces serveurs doivent réussir, en termes de déchiffrement, pour compléter le processus de récupération de la phrase de passe LUKS pour ouvrir l'appareil.
password_temporary false Si true, le mot de passe ou la phrase de passe fournie via les arguments encryption_password ou encryption_key sera utilisé pour déverrouiller l'appareil et ensuite sera supprimé de l'appareil LUKS après que l'opération de liaison soit terminée, c'est-à-dire qu'il ne sera plus valide. À utiliser si l'appareil a été auparavant créé avec un mot de passe ou une phrase de passe exemple (par exemple par une installation automatisée comme kickstart qui a défini un "mot de passe" par défaut), que le rôle doit remplacer par un plus fort.

Exemple :

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

Exemples de Playbooks

Exemple 1 : haute disponibilité

---
- hosts: all
  vars:
    nbde_client_bindings:
      - device: /dev/sda1
        # il est recommandé de chiffrer avec Vault le encryption_password
        # voir 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

Exemple 2 : supprimer une liaison de l'emplacement 2 dans /dev/sda1

---
- hosts: all
  vars:
    nbde_client_bindings:
      - device: /dev/sda1
        # il est recommandé de chiffrer avec Vault le encryption_password
        # voir https://docs.ansible.com/ansible/latest/user_guide/vault.html
        encryption_password: password
        slot: 2
        state: absent
  roles:
    - linux-system-roles.nbde_client

Licence

MIT

À propos du projet

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

Installer
ansible-galaxy install linux-system-roles.nbde_client
Licence
mit
Téléchargements
10.5k
Propriétaire