luks_device – Управление зашифрованными (LUKS) устройствами
Новое в версии 2.8.
Обзор
- Модуль управляет LUKS на заданном устройстве. Поддерживает создание, уничтожение, открытие и закрытие контейнера LUKS, а также добавление или удаление новых ключей.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- cryptsetup
- wipefs
- lsblk
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| device строка | Устройство для работы (например, /dev/sda1). Необходимо в большинстве случаев. Можно опустить только при state=closed вместе с name. | |
| force_remove_last_key логическое |
| Если установлено в yes, разрешает удаление последнего ключа из контейнера.ОСТОРОЖНО, удаление последнего ключа из контейнера делает его больше недоступным для открытия! |
| keyfile путь | Используется для разблокировки контейнера и необходим для большинства операций. Значение параметра - путь к файлу ключа с паролем. ОСТОРОЖНО, работа с файлами ключей в открытом виде опасна. Убедитесь, что они защищены. | |
| name строка | Устанавливает имя контейнера при state=opened. Может использоваться вместо device при закрытии существующего контейнера (т.е. при state=closed). | |
| new_keyfile путь | Добавляет дополнительный ключ к заданному контейнеру на device. Требует параметра keyfile для авторизации. Контейнер LUKS поддерживает до 8 ключей. Значение параметра - путь к файлу ключа с паролем. ЗАМЕЧАНИЕ, добавление дополнительных ключей не является идемпотентным. Будет использован новый слот для ключа, даже если такой слот для данного файла ключа уже существует. ОСТОРОЖНО, работа с файлами ключей в открытом виде опасна. Убедитесь, что они защищены. | |
| remove_keyfile путь | Удаляет заданный ключ из контейнера на device. Не удаляет файл ключа из файловой системы. Значение параметра - путь к файлу ключа с паролем. ЗАМЕЧАНИЕ, удаление ключей не является идемпотентным. Попытка удалить несуществующий ключ приводит к ошибке. ЗАМЕЧАНИЕ, чтобы удалить последний ключ из контейнера LUKS, параметр force_remove_last_key должен быть установлен в yes. ОСТОРОЖНО, работа с файлами ключей в открытом виде опасна. Убедитесь, что они защищены. | |
| state строка |
| Желаемое состояние контейнера LUKS. В зависимости от значения создает, уничтожает, открывает или закрывает контейнер LUKS на заданном устройстве.
наличие создаст контейнер LUKS, если он еще не существует. Требует параметров device и keyfile.
отсутствие удалит существующий контейнер LUKS, если он существует. Требует указания device или name.
открыто разблокирует контейнер LUKS. Если он не существует, он будет создан в первую очередь. Требует параметров device и keyfile. Используйте параметр name для установки имени открытого контейнера. В противном случае имя будет сгенерировано автоматически и возвращено в качестве части результата.
закрыто заблокирует контейнер LUKS. Однако, если контейнер не существует, он будет создан. Требует параметров device и keyfile. Если контейнер уже существует, достаточно device или name. |
Примеры
- name: create LUKS container (remains unchanged if it already exists)
luks_device:
device: "/dev/loop0"
state: "present"
keyfile: "/vault/keyfile"
- name: (create and) open the LUKS container; name it "mycrypt"
luks_device:
device: "/dev/loop0"
state: "opened"
name: "mycrypt"
keyfile: "/vault/keyfile"
- name: close the existing LUKS container "mycrypt"
luks_device:
state: "closed"
name: "mycrypt"
- name: make sure LUKS container exists and is closed
luks_device:
device: "/dev/loop0"
state: "closed"
keyfile: "/vault/keyfile"
- name: create container if it does not exist and add new key to it
luks_device:
device: "/dev/loop0"
state: "present"
keyfile: "/vault/keyfile"
new_keyfile: "/vault/keyfile2"
- name: add new key to the LUKS container (container has to exist)
luks_device:
device: "/dev/loop0"
keyfile: "/vault/keyfile"
new_keyfile: "/vault/keyfile2"
- name: remove existing key from the LUKS container
luks_device:
device: "/dev/loop0"
remove_keyfile: "/vault/keyfile2"
- name: completely remove the LUKS container and its contents
luks_device:
device: "/dev/loop0"
state: "absent"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| name строка | успех | При state=opened возвращает (сгенерированное или заданное) имя контейнера LUKS. Возвращает None, если имя не предоставлено. Пример: luks-c1da9a58-2fde-4256-9d9f-6ab008b4dd1b |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Jan Pokorny (@japokorn)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете редактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/luks_device_module.html