apt_key#
Модуль ansible.bultin.apt_key позволяет управлять ключами менеджера APT.
Эти ключи используются для проверки целостности пакетов, загружаемых из репозиториев в дистрибутивах Linux на базе Debian, в том числе Astra Linux Special Edition.
Важно
Используемая модулем команда apt-key считается устаревшей.
Подробности см. в Debian Wiki.
Модуль ansible.builtin.apt_key оставлен с целью обеспечения обратной совместимости с системами, использующими apt-key как основной способ управления ключами репозиториев.
Особенности работы#
Для корректной работы модуля на управляемом узле должна быть доступна утилита gpg.
Если ключ загружается с удаленного сервера, его идентификатор с целью проверки сравнивается с указанным в параметрах модуля.
Если state=present и заданы значения параметров id и url, модуль при необходимости выполнит загрузку или проверку ключа.
Добавление ключа требует обновления списка доступных пакетов, например, с помощью настройки update_cache модуля ansible.builtin.apt.
Параметры#
Модуль принимает следующие параметры:
- data#
Ключ цифровой подписи.
- file#
Путь к файлу с ключом цифровой подписи на сервере ключей.
- id#
Идентификатор ключа.
Если параметру задано значение, режим проверки корректно отображает изменения при их наличии.
При указании идентификатора подключа утилита
apt-keyне может определить какой из установленных ключей нужно удалить. Поэтому вместо идентификатора подключа всегда указывайте идентификатор самого ключа.Этот параметр обязателен для заполнения, если значение
state=absent.Используйте полный идентификатор ключа (40 символов), чтобы избежать возможных коллизий. Для получения полных идентификаторов загруженных ключей выполните команду:
apt-key adv \ --list-public-keys \ --with-fingerprints \ --with-colons
- keyring#
Путь к файлу, в который должен быть установлен ключ в файловой системе управляемого узла.
По умолчанию файлы ключа устанавливаются в каталог
/etc/apt/trusted.gpg.d/.
- keyserver#
Сервер ключей.
- state#
Состояние ключа.
Возможные значения:
absent– удален;present– установлен.
Значение по умолчанию:
present.
- url#
URL для получения ключа.
- validate_certs#
Проверка сертификата TLS при загрузке ключа с сервера.
Возможные значения:
true– включена;false– выключена.Предупреждение
Используйте это значение только в случае загрузки ключа с собственного сервера, использующего самоподписанный сертификат.
Значение по умолчанию:
true.
Возвращаемые значения#
В этом списке указаны только возвращаемые значения, специфичные для модуля ansible.builtin.apt_key.
after– список идентификаторов или отпечатков ключей после их изменения.Условия: изменение установленных ключей.
before– список идентификаторов или отпечатков ключей перед их изменением.Условия: значение возвращается всегда.
fp– отпечаток импортированного ключа.Условия: значение возвращается всегда.
id– идентификатор ключа, полученный из источника.Условия: значение возвращается всегда.
key_id– вычисленный идентификатор ключа.Значение должно совпадать со значением параметра
id, но фактически может отличаться.Условия: значение возвращается всегда.
short_id– вычисленный сокращенный идентификатор ключа.Условия: значение возвращается всегда.
Атрибуты#
Атрибуты определяют функции Ansible, которые может использовать модуль.
Атрибут |
Описание |
|---|---|
|
Модуль работает в режиме проверки ( |
|
Модуль не отображает подробные сведения об изменениях, которые могут произойти. |
|
Модуль поддерживает только дистрибутивы Linux на базе Debian. |
Примеры#
Для изучения возможностей модуля ознакомьтесь с приведенными ниже примерами.
Загрузка ключа с сервера#
Следующий пример описывает загрузку ключа с идентификатором 36A1D7869245C8950F966E92D8576A8BA88D21E9 с сервера keyserver.ubuntu.com:
---
- name: Add key from server
ansible.builtin.apt_key:
keyserver: keyserver.ubuntu.com
id: 36A1D7869245C8950F966E92D8576A8BA88D21E9
Загрузка ключа по ссылке#
Следующий пример описывает безусловную загрузку ключа репозитория PostgreSQL из интернета:
---
- name: Download PostgreSQL key always
ansible.builtin.apt_key:
url: https://www.postgresql.org/media/keys/ACCC4CF8.asc
state: present
Загрузка ключа по необходимости#
Следующий пример описывает загрузку ключа репозитория PostgreSQL только в случае его отсутствия в системе:
---
- name: Download PostgreSQL key only when empty
ansible.builtin.apt_key:
url: https://www.postgresql.org/media/keys/ACCC4CF8.asc
state: present
id: B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8
Удаление ключа#
Следующий пример описывает удаление ключа репозитория:
---
- name: Remove APT key
ansible.builtin.apt_key:
id: 0xB97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8
state: absent
Установка ключа из файла#
Следующий пример описывает установку защищенного (armored) ключа из файла, размещенного в каталоге проекта Ansible:
---
- name: Add key from managed node
ansible.builtin.apt_key:
data: "{{ lookup('ansible.builtin.file', 'apt.asc') }}"
state: present
Установка ключа в указанный каталог#
Следующий пример описывает загрузку ключа по ссылке и его установку в файл /etc/apt/keyrings/pgdg.asc:
---
- name: Install key file to /etc/apt/keyrings/pgdg.asc
ansible.builtin.apt_key:
id: 0xB97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8
url: https://www.postgresql.org/media/keys/ACCC4CF8.asc
keyring: /etc/apt/keyrings/pgdg.asc