honzamach.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:

安装

要从 Ansible Galaxy <https://galaxy.ansible.com/>__ 安装角色 honzamach.certified <https://galaxy.ansible.com/honzamach/certified>__,请使用以下命令的变体:

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]
your-server

[servers_certified]
your-server

角色剧本文件 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/[your-server]/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/[your-server]/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

主机证书目录路径。该目录将包含自定义服务器证书。为了软依赖机制正常工作,必须全局定义此项,否则此变量将未定义。

* *数据类型:* ``字符串``
* *默认值:* ``/etc/ssl/servercert``

.. envvar:: hm_certified__cert_ca_dir

CA 证书库的路径。

* *数据类型:* ``字符串``
* *默认值:* ``/etc/ssl/certs``

.. envvar:: hm_certified__cert_key_dir

私有证书密钥库的路径。

* *数据类型:* ``字符串``
* *默认值:* ``/etc/ssl/private``

.. envvar:: hm_certified__trustedcert_ca_dir

受信任的 CA 证书库的路径。这些证书可以是您在组织中使用和信任的任何证书,甚至是某些自签名证书,用于自定义内部应用程序。一个示例用例是 syslog-ng <https://www.syslog-ng.com/> 服务器的配置设置 `ca_dir() <https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.25/administration-guide/ca_dir>`__,通常您不会指向通用的 ``/etc/ssl/certs`` 目录,而是指向一个包含您日志服务器使用的部分证书颁发机构的目录。

* *数据类型:* ``字符串``
* *默认值:* ``/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:

作者和许可证

| 版权: 自 2019 年起 (C) 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.certified
许可证
mit
下载
122
拥有者