Модуль community.crypto.luks_device – Управление зашифрованными устройствами (LUKS)
Примечание
Этот модуль входит в коллекцию community.crypto (версия 2.22.1).
Эта коллекция возможно уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.crypto. Для использования этого модуля необходимы дополнительные требования, см. Требования для подробностей.
Для использования в playbook, укажите: community.crypto.luks_device.
Описание
- Модуль управляет LUKS на заданном устройстве. Поддерживает создание, уничтожение, открытие и закрытие контейнера LUKS, а также добавление или удаление новых ключей и паролей.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
Параметры
Параметр | Комментарии |
|---|---|
allow_discards boolean added in community.crypto 2.17.0 | Разрешить запросы discards (также известные как TRIM) для устройства. Будет использоваться только при открытии контейнеров. Варианты:
|
cipher string added in community.crypto 1.1.0 | Эта опция позволяет пользователю определить строку спецификации шифра для контейнера LUKS. Будет использоваться только при создании контейнера. Для ядер до 2.6.10 используйте |
device string | Устройство для работы (например, |
force_remove_last_key boolean | Если установлено в ВНИМАНИЕ: когда последний ключ удален из контейнера, контейнер больше нельзя открыть! Варианты:
|
hash string added in community.crypto 1.1.0 | Эта опция позволяет пользователю указать хэш-функцию, используемую в схеме настройки ключа LUKS и дайджесте ключа тома. Будет использоваться только при создании контейнера. |
keyfile path | Используется для разблокировки контейнера. Для большинства операций необходим либо ВНИМАНИЕ: работа с файлами ключей в открытом тексте опасна. Убедитесь, что они защищены. |
keysize integer added in community.crypto 1.0.0 | Устанавливает размер ключа только если контейнер LUKS не существует. |
keyslot integer added in community.crypto 2.16.0 | Добавляет Примечание: устройство |
label string added in community.crypto 1.0.0 | |
name string | Устанавливает имя контейнера когда |
new_keyfile path | Добавляет дополнительный ключ к данному контейнеру на ОБРАТИТЕ ВНИМАНИЕ, что добавление дополнительных ключей является идемпотентным только начиная с community.crypto 1.4.0. Для более старых версий будет использоваться новый слот ключей, даже если другой слот ключей уже существует для этого файла ключей. ВНИМАНИЕ: работа с файлами ключей в открытом тексте опасна. Убедитесь, что они защищены. |
new_keyslot integer added in community.crypto 2.16.0 | Добавляет дополнительный Примечание: устройство |
new_passphrase string added in community.crypto 1.0.0 | Добавляет дополнительную парольную фразу к данному контейнеру на ОБРАТИТЕ ВНИМАНИЕ, что добавление дополнительной парольной фразы является идемпотентным только начиная с community.crypto 1.4.0. Для более старых версий будет использоваться новый слот ключей, даже если другой слот ключей уже существует для этой парольной фразы. |
passphrase string added in community.crypto 1.0.0 | Используется для разблокировки контейнера. Для большинства операций необходим либо |
pbkdf dictionary added in community.crypto 1.4.0 | Эта опция позволяет пользователю настроить используемую функцию вывода ключа на основе пароля (PBKDF). Будет использоваться только при создании контейнера и при добавлении ключей в существующий контейнер. |
|
algorithm string |
Используемый алгоритм. Доступно только для формата LUKS 2. Варианты:
|
|
iteration_count целое число |
Укажите количество итераций, используемых для PBKDF. Взаимоисключающее с |
|
iteration_time вещественное число |
Укажите время итераций, используемых для PBKDF. Обратите внимание, что это в секундах, а не в миллисекундах, как в командной строке. Взаимоисключающее с |
|
memory целое число |
Предельное значение затрачиваемой памяти в килобайтах для PBKDF. Не используется для PBKDF2, а только для Argon PBKDF. |
|
parallel целое число |
Параллельная стоимость для PBKDF. Это число потоков, которые выполняются параллельно. Не используется для PBKDF2, а только для Argon PBKDF. |
perf_no_read_workqueue булево добавлен в community.crypto 2.3.0 | Позволяет пользователю пропустить внутреннюю очередь задач dm-crypt и обработать запросы чтения синхронно. Будет использоваться только при открытии контейнеров. Варианты:
|
perf_no_write_workqueue булево добавлен в community.crypto 2.3.0 | Позволяет пользователю пропустить внутреннюю очередь задач dm-crypt и обработать запросы записи синхронно. Будет использоваться только при открытии контейнеров. Варианты:
|
perf_same_cpu_crypt булево добавлен в community.crypto 2.3.0 | Позволяет пользователю выполнять шифрование с использованием того же процессора, на котором был отправлен ввод/вывод. По умолчанию используется неограниченная очередь задач, чтобы работа шифрования автоматически распределялась между доступными процессорами. Будет использоваться только при открытии контейнеров. Варианты:
|
perf_submit_from_crypt_cpus булево добавлен в community.crypto 2.3.0 | Позволяет пользователю отключить перенос операций записи на отдельный поток после шифрования. В некоторых ситуациях перенос операций записи блочного ввода/вывода из потоков шифрования в один поток значительно снижает производительность. По умолчанию операции записи блочного ввода/вывода переносятся в тот же поток. Будет использоваться только при открытии контейнеров. Варианты:
|
persistent булево добавлен в community.crypto 2.3.0 | Позволяет пользователю сохранять параметры в метаданных контейнера постоянно и автоматически использовать их в следующий раз. Только Будет работать только с контейнерами LUKS2. Будет использоваться только при открытии контейнеров. Варианты:
|
remove_keyfile путь | Удаляет указанный ключ из контейнера при Обратите внимание, что удаление ключей идемпотентно только с версии community.crypto 1.4.0. Для более старых версий попытка удалить несуществующий ключ приводит к ошибке. Обратите внимание, что для удаления последнего ключа из контейнера LUKS необходимо установить параметр Будьте осторожны, работа с файлами ключей в открытом виде небезопасна. Убедитесь, что они защищены. |
remove_keyslot целое число добавлен в community.crypto 2.16.0 | Удаляет ключ в заданном слоте при Примечание, что устройство Примечание, что указанный |
remove_passphrase строка добавлен в community.crypto 1.0.0 | Удаляет указанный пароль из контейнера при Обратите внимание, что удаление паролей идемпотентно только с версии community.crypto 1.4.0. Для более старых версий попытка удалить несуществующий пароль приводит к ошибке. Обратите внимание, что для удаления последнего ключа из контейнера LUKS необходимо установить параметр |
sector_size целое число добавлен в community.crypto 1.5.0 | Этот параметр позволяет пользователю указать размер сектора (в байтах), используемый для контейнеров LUKS2. Будет использоваться только при создании контейнера. |
state string | Желаемое состояние контейнера LUKS. В зависимости от его значения создаёт, уничтожает, открывает или закрывает контейнер LUKS на указанном устройстве.
Варианты:
|
type string добавлено в community.crypto 1.0.0 | Этот параметр позволяет пользователю явно определить формат контейнера LUKS, с которым он хочет работать. Доступные варианты: Варианты:
|
uuid string добавлено в community.crypto 1.0.0 |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: отсутствует | Возвращает подробности о том, что изменилось (или, возможно, требует изменения в |
Примеры
- name: Create LUKS container (remains unchanged if it already exists)
community.crypto.luks_device:
device: "/dev/loop0"
state: "present"
keyfile: "/vault/keyfile"
- name: Create LUKS container with a passphrase
community.crypto.luks_device:
device: "/dev/loop0"
state: "present"
passphrase: "foo"
- name: Create LUKS container with specific encryption
community.crypto.luks_device:
device: "/dev/loop0"
state: "present"
cipher: "aes"
hash: "sha256"
- name: (Create and) open the LUKS container; name it "mycrypt"
community.crypto.luks_device:
device: "/dev/loop0"
state: "opened"
name: "mycrypt"
keyfile: "/vault/keyfile"
- name: Close the existing LUKS container "mycrypt"
community.crypto.luks_device:
state: "closed"
name: "mycrypt"
- name: Make sure LUKS container exists and is closed
community.crypto.luks_device:
device: "/dev/loop0"
state: "closed"
keyfile: "/vault/keyfile"
- name: Create container if it does not exist and add new key to it
community.crypto.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)
community.crypto.luks_device:
device: "/dev/loop0"
keyfile: "/vault/keyfile"
new_keyfile: "/vault/keyfile2"
- name: Add new passphrase to the LUKS container
community.crypto.luks_device:
device: "/dev/loop0"
keyfile: "/vault/keyfile"
new_passphrase: "foo"
- name: Remove existing keyfile from the LUKS container
community.crypto.luks_device:
device: "/dev/loop0"
remove_keyfile: "/vault/keyfile2"
- name: Remove existing passphrase from the LUKS container
community.crypto.luks_device:
device: "/dev/loop0"
remove_passphrase: "foo"
- name: Completely remove the LUKS container and its contents
community.crypto.luks_device:
device: "/dev/loop0"
state: "absent"
- name: Create a container with label
community.crypto.luks_device:
device: "/dev/loop0"
state: "present"
keyfile: "/vault/keyfile"
label: personalLabelName
- name: Open the LUKS container based on label without device; name it "mycrypt"
community.crypto.luks_device:
label: "personalLabelName"
state: "opened"
name: "mycrypt"
keyfile: "/vault/keyfile"
- name: Close container based on UUID
community.crypto.luks_device:
uuid: 03ecd578-fad4-4e6c-9348-842e3e8fa340
state: "closed"
name: "mycrypt"
- name: Create a container using luks2 format
community.crypto.luks_device:
device: "/dev/loop0"
state: "present"
keyfile: "/vault/keyfile"
type: luks2
- name: Create a container with key in slot 4
community.crypto.luks_device:
device: "/dev/loop0"
state: "present"
keyfile: "/vault/keyfile"
keyslot: 4
- name: Add a new key in slot 5
community.crypto.luks_device:
device: "/dev/loop0"
keyfile: "/vault/keyfile"
new_keyfile: "/vault/keyfile"
new_keyslot: 5
- name: Remove the key from slot 4 (given keyfile must not be slot 4)
community.crypto.luks_device:
device: "/dev/loop0"
keyfile: "/vault/keyfile"
remove_keyslot: 4
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
name string | Когда Возвращается: success Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/crypto/luks_device_module.html