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-galaxy install honzamach.certified