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 role for managing certificates on all target servers.

Установить
ansible-galaxy install honzamach/ansible-role-certified
Лицензия
mit
Загрузки
111
Владелец