Spec-Zone.ru › Ansible 2.11

community.crypto.openssl_pkcs12 – Генерация архива OpenSSL PKCS#12

Примечание

Этот плагин входит в коллекцию community.crypto (версия 1.4.0).

Для его установки используйте: ansible-galaxy collection install community.crypto.

Для использования в плейбуке укажите: community.crypto.openssl_pkcs12.

  • Обзор
  • Требования
  • Параметры
  • См. также
  • Примеры
  • Возвращаемые значения

Обзор

  • Этот модуль позволяет (пере-)генерировать PKCS#12.

Требования

Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.

  • python-pyOpenSSL

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
action
строка
    Варианты:
  • export ←
  • parse
export или parse PKCS#12.
attributes
строка
добавлен в 2.3 ansible.builtin
Атрибуты, которые должен иметь результирующий файл или директория.
Для получения поддерживаемых флагов обратитесь к справке man для chattr на целевой системе.
Эта строка должна содержать атрибуты в том же порядке, что и отображается lsattr.
Оператор = принимается по умолчанию, в противном случае операторы + или - должны быть включены в строку.

псевдонимы: attr
backup
логическое
    Варианты:
  • нет ←
  • да
Создать резервную копию файла, включая отметку времени, чтобы вы могли вернуть исходный выходной файл, если случайно его перезаписали новым.
certificate_path
путь
Путь для чтения сертификатов и закрытых ключей.
Должен быть в формате PEM.
force
логическое
    Варианты:
  • нет ←
  • да
Необходимо ли перегенерировать файл, даже если он уже существует.
friendly_name
строка
Указывает имя дружественного пользователя для сертификата и закрытого ключа.

псевдонимы: name
group
строка
Имя группы, которая должна владеть файлом/каталогом, как если бы это было передано в chown.
iter_size
целое число
По умолчанию:
2048
Количество повторений шага шифрования.
maciter_size
целое число
По умолчанию:
1
Количество повторений шага MAC.
mode
сырой
Разрешения, которые должен иметь результирующий файл или директория.
Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую нуль, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777) либо заключить его в кавычки (например, '644' или '1777') , чтобы Ansible получил строку и мог выполнить свое преобразование из строки в число.
Если вы передадите Ansible число без выполнения одного из этих правил, в результате получится десятичное число, что приведет к неожиданным результатам.
Начиная с Ansible 1.8, режим может быть задан как символический режим (например, u+rwx или u=rw,g=r,o=r).
Если mode не указан, и целевой файл не существует, по умолчанию будет использоваться значение umask на системе при установке режима для вновь созданного файла.
Если mode не указан, и целевой файл существует, будет использоваться режим существующего файла.
Указание mode является лучшим способом гарантировать, что файлы создаются с правильными разрешениями. См. CVE-2020-1736 для получения дополнительной информации.
other_certificates
список / элементы=путь
Список других сертификатов для включения. До Ansible 2.8 этот параметр назывался ca_certificates.
Предполагается, что на файл приходится один сертификат в формате PEM. Если файл содержит несколько сертификатов PEM, установите other_certificates_parse_all в true.

псевдонимы: ca_certificates
other_certificates_parse_all
логическое
добавлен в 1.4.0 community.crypto
    Варианты:
  • нет ←
  • да
Если установить в true, предполагается, что файлы, упомянутые в other_certificates, могут содержать более одного сертификата на файл (или даже ни одного на файл).
owner
строка
Имя пользователя, который должен владеть файлом/каталогом, как если бы это было передано в chown.
passphrase
строка
Пароль PKCS#12.
path
путь / обязательно
Имя файла для записи файла PKCS#12.
privatekey_passphrase
строка
Источник пароля для расшифровки любых входных закрытых ключей.
privatekey_path
путь
Файл для чтения закрытого ключа.
return_content
логическое
добавлен в 1.0.0 community.crypto
    Варианты:
  • нет ←
  • да
Если установить в yes, будет возвращено содержимое (текущее или сгенерированное) PKCS#12 в виде pkcs12.
selevel
строка
Часть контекста файла SELinux, отвечающая за уровень.
Это атрибут MLS/MCS, иногда известный как range.
Если установить в _default, будет использоваться часть политики level при наличии.
serole
строка
Часть контекста файла SELinux, отвечающая за роль.
Если установить в _default, будет использоваться часть политики role при наличии.
setype
строка
Часть контекста файла SELinux, отвечающая за тип.
Если установить в _default, будет использоваться часть политики type при наличии.
seuser
строка
Часть контекста файла SELinux, отвечающая за пользователя.
По умолчанию используется политика system, где это применимо.
Если установить в _default, будет использоваться часть политики user при наличии.
src
путь
Путь к файлу PKCS#12 для обработки.
state
строка
    Варианты:
  • отсутствует
  • есть ←
Файл должен существовать или нет. Все параметры, кроме path, игнорируются, когда состояние равно absent.
unsafe_writes
логическое
добавлен в 2.2 ansible.builtin
    Варианты:
  • нет ←
  • да
Влияет на то, когда использовать атомарную операцию, чтобы предотвратить повреждение данных или несогласованные чтения из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или просто сломаны таким образом, что это невозможно. Одним из примеров являются файлы, смонтированные в docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции завершаются неудачно (однако, он не заставляет Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены проблемам гонок и могут привести к повреждению данных.

См. также

См. также

community.crypto.x509_certificate

Официальная документация модуля community.crypto.x509_certificate.

community.crypto.openssl_csr

Официальная документация модуля community.crypto.openssl_csr.

community.crypto.openssl_dhparam

Официальная документация модуля community.crypto.openssl_dhparam.

community.crypto.openssl_privatekey

Официальная документация модуля community.crypto.openssl_privatekey.

community.crypto.openssl_publickey

Официальная документация модуля community.crypto.openssl_publickey.

Примеры

- name: Generate PKCS#12 file
  community.crypto.openssl_pkcs12:
    action: export
    path: /opt/certs/ansible.p12
    friendly_name: raclette
    privatekey_path: /opt/certs/keys/key.pem
    certificate_path: /opt/certs/cert.pem
    other_certificates: /opt/certs/ca.pem
    # Note that if /opt/certs/ca.pem contains multiple certificates,
    # only the first one will be used. See the other_certificates_parse_all
    # option for changing this behavior.
    state: present

- name: Generate PKCS#12 file
  community.crypto.openssl_pkcs12:
    action: export
    path: /opt/certs/ansible.p12
    friendly_name: raclette
    privatekey_path: /opt/certs/keys/key.pem
    certificate_path: /opt/certs/cert.pem
    other_certificates_parse_all: true
    other_certificates:
      - /opt/certs/ca_bundle.pem
        # Since we set other_certificates_parse_all to true, all
        # certificates in the CA bundle are included and not just
        # the first one.
      - /opt/certs/intermediate.pem
        # In case this file has multiple certificates in it,
        # all will be included as well.
    state: present

- name: Change PKCS#12 file permission
  community.crypto.openssl_pkcs12:
    action: export
    path: /opt/certs/ansible.p12
    friendly_name: raclette
    privatekey_path: /opt/certs/keys/key.pem
    certificate_path: /opt/certs/cert.pem
    other_certificates: /opt/certs/ca.pem
    state: present
    mode: '0600'

- name: Regen PKCS#12 file
  community.crypto.openssl_pkcs12:
    action: export
    src: /opt/certs/ansible.p12
    path: /opt/certs/ansible.p12
    friendly_name: raclette
    privatekey_path: /opt/certs/keys/key.pem
    certificate_path: /opt/certs/cert.pem
    other_certificates: /opt/certs/ca.pem
    state: present
    mode: '0600'
    force: yes

- name: Dump/Parse PKCS#12 file
  community.crypto.openssl_pkcs12:
    action: parse
    src: /opt/certs/ansible.p12
    path: /opt/certs/ansible.pem
    state: present

- name: Remove PKCS#12 file
  community.crypto.openssl_pkcs12:
    path: /opt/certs/ansible.p12
    state: absent

Значения возврата

Общие значения возврата описаны здесь, следующие — поля, уникальные для данного модуля:

Ключ Возвращенное значение Описание
backup_file
string
изменённое, если backup yes
Имя созданного файла резервной копии.

Пример:
/path/to/ansible.com.pem.2019-03-09@11:22~
filename
string
изменённое или успешно
Путь к сгенерированному файлу PKCS#12.

Пример:
/opt/certs/ansible.p12
pkcs12
string
добавлено в 1.0.0 community.crypto
если state present и return_content yes
Содержание (текущего или сгенерированного) PKCS#12, закодированное в Base64.

privatekey
string
изменённое или успешно
Путь к закрытому ключу TLS/SSL, из которого был сгенерирован открытый ключ.

Пример:
/etc/ssl/private/ansible.com.pem


Авторы

  • Guillaume Delpierre (@gdelpierre)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/crypto/openssl_pkcs12_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API