certified
Роль сертифицированная
Страница Ansible Galaxy <https://galaxy.ansible.com/honzamach/certified>
__Репозиторий GitHub <https://github.com/honzamach/ansible-role-certified>
__Страница Travis CI <https://travis-ci.org/honzamach/ansible-role-certified>
__
Основная цель данной роли - управление сертификатами серверов. Она выполняет следующие задачи:
- Управление пользовательским репозиторием сертификатов сервера и обработка изменений сертификатов.
- Управление репозиторием сертификатов CA по умолчанию.
- Управление репозиторием ключей сертификатов CA по умолчанию.
- Управление репозиторием доверенных сертификатов CA.
Содержание:
- :ref:
section-role-certified-installation
- :ref:
section-role-certified-dependencies
- :ref:
section-role-certified-usage
- :ref:
section-role-certified-variables
- :ref:
section-role-certified-files
- :ref:
section-role-certified-author
Эта роль является частью пакета MSMS <https://github.com/honzamach/msms>
__.
Некоторые общие функции описаны в его :ref:руководстве <section-manual>
.
.. _section-role-certified-installation:
Установка
Чтобы установить роль honzamach.certified <https://galaxy.ansible.com/honzamach/certified>
__
из Ansible Galaxy <https://galaxy.ansible.com/>
__, выполните следующую команду::
ansible-galaxy install honzamach.certified
Чтобы установить роль напрямую из GitHub <https://github.com>
, клонируйте
репозиторий ansible-role-certified <https://github.com/honzamach/ansible-role-certified>
,
выполнив следующую команду::
git clone https://github.com/honzamach/ansible-role-certified.git honzamach.certified
В настоящее время преимущество использования прямого клонирования Git в том, что это позволяет легко обновлять роль при выходе новой версии.
.. _section-role-certified-dependencies:
Зависимости
Эта роль не зависит от других ролей.
Следующие роли зависят от этой роли:
- :ref:
alchemist <section-role-alchemist>
- :ref:
griffin <section-role-griffin>
[НЕЖЕСТКАЯ] - :ref:
griffin_watchee <section-role-griffin-watchee>
[НЕЖЕСТКАЯ] - :ref:
logged <section-role-logged>
- :ref:
logserver <section-role-logserver>
- :ref:
postgresql <section-role-postgresql>
[НЕЖЕСТКАЯ]
.. _section-role-certified-usage:
Использование
Пример содержимого файла инвентаризации inventory
::
[servers]
ваш-сервер
[servers_certified]
ваш-сервер
Пример содержимого файла плейбука роли role_playbook.yml
::
- hosts: servers_certified
remote_user: root
roles:
- role: honzamach.certified
tags:
- role-certified
Пример использования::
# Запустить все:
ansible-playbook --ask-vault-pass --inventory inventory role_playbook.yml
Рекомендуется следовать этим принципам конфигурации:
Создайте или отредактируйте файл
inventory/group_vars/all/vars.yml
и определите разумные значения по умолчанию для всех ваших управляемых серверов::# Это обязательно для работы механизма мягкой зависимости. hm_certified__cert_host_dir: /etc/ssl/servercert hm_certified__cert_ca_dir: /etc/ssl/certs hm_certified__cert_key_dir: /etc/ssl/private hm_certified__trustedcert_ca_dir: /etc/ssl/trusted_ca
Используйте файлы
inventory/host_vars/[ваш-сервер]/vars.yml
для настройки параметров для конкретных серверов. Смотрите раздел :ref:section-role-certified-variables
для всех доступных опций.Используйте директорию
inventory/group_files/servers/honzamach.certified/ca_certs
для предоставления дополнительных сертификатов удостоверяющих центров, которые должны быть загружены на все серверы. Они окажутся в директориях :envvar:hm_certified__cert_ca_dir
и :envvar:hm_certified__trustedcert_ca_dir
.Используйте директорию
inventory/host_files/[ваш-сервер]/honzamach.certified/host_certs
для предоставления сертификатов, специфичных для определенного сервера. Они окажутся в :envvar:hm_certified__cert_host_dir
. Пожалуйста, не забудьте зашифровать как минимум ключи сертификатов с помощью :ref:ansible-vault <section-overview-vault>
.
.. _section-role-certified-variables:
Переменные конфигурации
Внутренние переменные роли
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. envvar:: hm_certified__cert_host_dir
Путь к директории сертификатов хоста. Эта директория будет содержать пользовательский
сертификат сервера. Для работы механизма мягкой зависимости это должно быть определено глобально,
в противном случае эта переменная будет неопределена.
* *Тип данных:* ``string``
* *По умолчанию:* ``/etc/ssl/servercert``
.. envvar:: hm_certified__cert_ca_dir
Путь к репозиторию сертификатов CA.
* *Тип данных:* ``string``
* *По умолчанию:* ``/etc/ssl/certs``
.. envvar:: hm_certified__cert_key_dir
Путь к репозиторию приватных ключей сертификатов.
* *Тип данных:* ``string``
* *По умолчанию:* ``/etc/ssl/private``
.. envvar:: hm_certified__trustedcert_ca_dir
Путь к репозиторию доверенных сертификатов CA. Эти сертификаты могут быть любыми,
которые вы используете и которым доверяете в вашей организации, даже самоподписанные сертификаты для некоторых
пользовательских внутренних приложений. Одним из примеров является настройка конфигурации
`ca_dir() <https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.25/administration-guide/ca_dir>`__
демона syslog-ng <https://www.syslog-ng.com/>, на который вы обычно не
указываете на общую директорию ``/etc/ssl/certs``, а на директорию, содержащую
подмножество удостоверяющих центров, используемых вашими серверами журналов.
* *Тип данных:* ``string``
* *По умолчанию:* ``/etc/ssl/trusted_ca``
.. _section-role-certified-files:
Управляемые файлы
Эта роль загружает сертификаты в удаленные директории в соответствии с конфигурацией
:ref:переменные <section-role-certified-variables>
. По умолчанию эти директории
состоят из следующих:
/etc/ssl/servercert
[КОПИРОВАТЬ]/etc/ssl/certs
[КОПИРОВАТЬ]/etc/ssl/trusted_ca
[КОПИРОВАТЬ]
.. _section-role-certified-author:
Автор и лицензия
| Авторские права: (C) с 2019 года Honza Mach honza.mach.ml@gmail.com | Автор: Honza Mach honza.mach.ml@gmail.com | Использование этой роли регулируется лицензией MIT, см. файл LICENSE. |
ansible-galaxy install honzamach/ansible-role-certified