reallyenglish.x509-certificate
ansible-role-x509-certificate
Gère les clés secrètes X509 et/ou les clés publiques. Ce rôle suppose que vous avez déjà une clé secrète valide ou une clé publique signée. Le rôle ne crée pas ni ne gère la CSR (demande de signature de certificat).
Exigences
Aucune
Variables du rôle
Variable | Description | Par défaut |
---|---|---|
x509_certificate_dir |
chemin vers le répertoire par défaut pour conserver les certificats et les clés | {{ __x509_certificate_dir }} |
x509_certificate_packages |
liste des paquets à installer pour gérer les clés, c'est-à-dire valider les certificats | {{ __x509_certificate_packages }} |
x509_certificate_default_owner |
propriétaire par défaut des clés | {{ __x509_certificate_default_owner }} |
x509_certificate_default_group |
groupe par défaut des clés | {{ __x509_certificate_default_group }} |
x509_certificate_additional_packages |
liste des paquets supplémentaires à installer. Ils sont installés avant la gestion des certificats et des clés. Utile lorsque le propriétaire des fichiers n'existe pas, mais doit être créé par un autre rôle ou tâche plus tard. L'utilisation de cette variable doit être faite avec précaution. Lorsqu'un paquet est installé par ce rôle, la tâche d'installation du paquet après ce rôle ne sera pas déclenchée, ce qui peut entraîner des effets inattendus. Dans ce cas, créez vous-même l'utilisateur et le groupe | [] |
x509_certificate_validate_command |
commande pour valider le certificat et les clés. La commande doit être définie dans x509_certificate_validate_command_secret et x509_certificate_validate_command_public comme clé |
openssl |
x509_certificate_validate_command_secret |
dictionnaire de commande pour valider la clé secrète (voir ci-dessous) | {"openssl"=>"openssl rsa -check -in %s"} |
x509_certificate_validate_command_public |
dictionnaire de commande pour valider la clé publique (voir ci-dessous) | {"openssl"=>"openssl x509 -noout -in %s"} |
x509_certificate |
clés à gérer (voir ci-dessous) | [] |
x509_certificate_debug_log |
activer la journalisation des données sensibles pendant le jeu si oui . Notez que le journal affichera la valeur de x509_certificate , y compris la clé secrète, si oui |
non |
x509_certificate_validate_command_secret
Cette variable est un dictionnaire. La clé est le nom de la commande et la valeur est utilisée pour valider les fichiers de clé secrète lors de leur création.
x509_certificate_validate_command_public
Cette variable est un dictionnaire. La clé est le nom de la commande et la valeur est utilisée pour valider les fichiers de certificat public lors de leur création.
x509_certificate
Cette variable est une liste de dictionnaires. Les clés et valeurs sont expliquées ci-dessous.
Clé | Valeur | Obligatoire ? |
---|---|---|
name |
Nom descriptif des clés | oui |
state |
l'un de present ou absent . Le rôle crée la clé lors de present et supprime la clé lors de absent |
oui |
public |
un dictionnaire qui représente un certificat public | non |
secret |
un dictionnaire qui représente une clé secrète | non |
public
et secret
dans x509_certificate
public
et secret
doivent contenir un dictionnaire. Le dictionnaire est expliqué ci-dessous.
Clé | Valeur | Obligatoire ? |
---|---|---|
path |
chemin vers le fichier. Si non défini, le fichier sera créé sous x509_certificate_dir , avec $name.pem |
non |
owner |
propriétaire du fichier (par défaut x509_certificate_default_owner ) |
non |
group |
groupe du fichier (par défaut x509_certificate_default_group ) |
non |
mode |
permission du fichier (par défaut 0444 pour les certificats publics, 0400 pour la clé secrète) |
non |
key |
le contenu de la clé | non |
Debian
Variable | Par défaut |
---|---|
__x509_certificate_dir |
/etc/ssl |
__x509_certificate_packages |
["openssl"] |
__x509_certificate_default_owner |
root |
__x509_certificate_default_group |
root |
FreeBSD
Variable | Par défaut |
---|---|
__x509_certificate_dir |
/usr/local/etc/ssl |
__x509_certificate_packages |
[] |
__x509_certificate_default_owner |
root |
__x509_certificate_default_group |
wheel |
OpenBSD
Variable | Par défaut |
---|---|
__x509_certificate_dir |
/etc/ssl |
__x509_certificate_packages |
[] |
__x509_certificate_default_owner |
root |
__x509_certificate_default_group |
wheel |
RedHat
Variable | Par défaut |
---|---|
__x509_certificate_dir |
/etc/ssl |
__x509_certificate_packages |
["openssl"] |
__x509_certificate_default_owner |
root |
__x509_certificate_default_group |
root |
Dépendances
Aucune
Exemple de Playbook
- hosts: localhost
roles:
- ansible-role-x509-certificate
vars:
# XXX NE JAMAIS définir cette variable à `oui` à moins que vous sachiez ce que vous faites.
x509_certificate_debug_log: oui
x509_certificate_additional_packages:
- quagga
x509_certificate:
- name: foo
state: present
public:
key: |
-----BEGIN CERTIFICATE-----
MIIDOjCCAiICCQDaGChPypIR9jANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJB
VTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0
cyBQdHkgTHRkMRgwFgYDVQQDDA9mb28uZXhhbXBsZS5vcmcwHhcNMTcwNzE4MDUx
OTAxWhcNMTcwODE3MDUxOTAxWjBfMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29t
ZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRgwFgYD
VQQDDA9mb28uZXhhbXBsZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQDZ9nd1isoGGeH4OFbQ6mpzlldo428LqEYSH4G7fhzLMKdYsIqkMRVl1J3s
lXtsMQUUP3dcpnwFwKGzUvuImLHx8McycJKwOp96+5XD4QAoTKtbl59ZRFb3zIjk
Owd94Wp1lWvptz+vFTZ1Hr+pEYZUFBkrvGtV9BoGRn87OrX/3JI9eThEpksr6bFz
QvcGPrGXWShDJV/hTkWxwRicMMVZVSG6niPusYz2wucSsitPXIrqXPEBKL1J8Ipl
8dirQLsH02ZZKcxGctEjlVgnpt6EI+VL6fs5P6A45oJqWmfym+uKztXBXCx+aP7b
YUHwn+HV4qzZQld80PSTk6SS3hMXAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAKgf
x3K9GHDK99vsWN8Ej10kwhMlBWBGuM0wkhY0fbxJ0gW3sflK8z42xMc2dhizoYsY
sLfN0aylpN/omocl+XcYugLHnW2q8QdsavWYKXqUN0neIMr/V6d1zXqxbn/VKdGr
CD4rJwewBattCIL4+S2z+PKr9oCrxjN4i3nujPhKv/yijhrtV+USw1VwuFqsYaqx
iScC13F0nGIJiUVs9bbBwBKn1c6GWUHHiFCZY9VJ15SzilWAY/TULsRsHR53L+FY
mGfQZBL1nwloDMJcgBFKKbG01tdmrpTTP3dTNL4u25+Ns4nrnorc9+Y/wtPYZ9fs
7IVZsbStnhJrawX31DQ=
-----END CERTIFICATE-----
- name: bar
state: present
public:
path: /usr/local/etc/ssl/bar/bar.pub
owner: "{% if ansible_os_family == 'FreeBSD' or ansible_os_family == 'OpenBSD' %}www{% elif ansible_os_family == 'RedHat' %}ftp{% else %}www-data{% endif %}"
group: "{% if ansible_os_family == 'FreeBSD' or ansible_os_family == 'OpenBSD' %}www{% elif ansible_os_family == 'RedHat' %}ftp{% else %}www-data{% endif %}"
mode: "0644"
key: |
-----BEGIN CERTIFICATE-----
MIIDOjCCAiICCQDaGChPypIR9jANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJB
VTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0
cyBQdHkgTHRkMRgwFgYDVQQDDA9mb28uZXhhbXBsZS5vcmcwHhcNMTcwNzE4MDUx
OTAxWhcNMTcwODE3MDUxOTAxWjBfMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29t
ZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRgwFgYD
VQQDDA9mb28uZXhhbXBsZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQDZ9nd1isoGGeH4OFbQ6mpzlldo428LqEYSH4G7fhzLMKdYsIqkMRVl1J3s
lXtsMQUUP3dcpnwFwKGzUvuImLHx8McycJKwOp96+5XD4QAoTKtbl59ZRFb3zIjk
Owd94Wp1lWvptz+vFTZ1Hr+pEYZUFBkrvGtV9BoGRn87OrX/3JI9eThEpksr6bFz
QvcGPrGXWShDJV/hTkWxwRicMMVZVSG6niPusYz2wucSsitPXIrqXPEBKL1J8Ipl
8dirQLsH02ZZKcxGctEjlVgnpt6EI+VL6fs5P6A45oJqWmfym+uKztXBXCx+aP7b
YUHwn+HV4qzZQld80PSTk6SS3hMXAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAKgf
x3K9GHDK99vsWN8Ej10kwhMlBWBGuM0wkhY0fbxJ0gW3sflK8z42xMc2dhizoYsY
sLfN0aylpN/omocl+XcYugLHnW2q8QdsavWYKXqUN0neIMr/V6d1zXqxbn/VKdGr
CD4rJwewBattCIL4+S2z+PKr9oCrxjN4i3nujPhKv/yijhrtV+USw1VwuFqsYaqx
iScC13F0nGIJiUVs9bbBwBKn1c6GWUHHiFCZY9VJ15SzilWAY/TULsRsHR53L+FY
mGfQZBL1nwloDMJcgBFKKbG01tdmrpTTP3dTNL4u25+Ns4nrnorc9+Y/wtPYZ9fs
7IVZsbStnhJrawX31DQ=
-----END CERTIFICATE-----
secret:
path: /usr/local/etc/ssl/bar/bar.key
owner: "{% if ansible_os_family == 'FreeBSD' or ansible_os_family == 'OpenBSD' %}www{% elif ansible_os_family == 'RedHat' %}ftp{% else %}www-data{% endif %}"
group: "{% if ansible_os_family == 'FreeBSD' or ansible_os_family == 'OpenBSD' %}www{% elif ansible_os_family == 'RedHat' %}ftp{% else %}www-data{% endif %}"
key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA2fZ3dYrKBhnh+DhW0Opqc5ZXaONvC6hGEh+Bu34cyzCnWLCK
pDEVZdSd7JV7bDEFFD93XKZ8BcChs1L7iJix8fDHMnCSsDqfevuVw+EAKEyrW5ef
WURW98yI5DsHfeFqdZVr6bc/rxU2dR6/qRGGVBQZK7xrVfQaBkZ/Ozq1/9ySPXk4
RKZLK+mxc0L3Bj6xl1koQyVf4U5FscEYnDDFWVUhup4j7rGM9sLnErIrT1yK6lzx
ASi9SfCKZfHYq0C7B9NmWSnMRnLRI5VYJ6behCPlS+n7OT+gOOaCalpn8pvris7V
wVwsfmj+22FB8J/h1eKs2UJXfND0k5Okkt4TFwIDAQABAoIBAHmXVOztj+X3amfe
hg/ltZzlsb2BouEN7okNqoG9yLJRYgnH8o/GEfnMsozYlxG0BvFUtnGpLmbHH226
TTfWdu5RM86fnjVRfsZMsy+ixUO2AaIG444Y4as7HuKzS2qd5ZXS1XB8GbrCSq7r
iF/4tscQrzoG0poQorP9f9y60+z3R45OX3QMVZxP4ZzxXAulHGnECERjLHM5QzTX
ALV9PHkTRNd1tm9FSJWWGNO5j4CGxFsPL1kdMyvrC7TkYiIiCQ/dd2CIfQyWwyKc
8cHBKnzon0ugr0xlf2B0C7RTXrGAcuBC0yyaLuQTFkocUofgDIFghItH8O8xvvAG
j8HYOwECgYEA9uMLtm2C8SiWFuafrF/pPWvhkBtEHA2g22M29CANrVv1jCEVMti/
7r53fd328/nVxtashnSFz7a3l3s9d9pTR/rk/rNpVS2i7JGvCXXE3DeoD6Zf4utD
MLEs2bI0KabdamIywc77CkVj9WUKd53tlcdcn7AsHwESU4Zjk08ie0kCgYEA4gIa
R+a9jmKEk9l5Gn7jroxDJdI0gEfuA7It5hshEDcSvjF+Fs5+1tVgfBI1Mx4/0Eaj
6E57Ln3WFKPJKuG0HwLNanZcqLFgiC/7ANbyKxfONPVrqC2TClImBhkQ74BLafZg
yY8/N/g/5RIMpYvQ9snBRsah9G2cBfuPTHjku18CgYBHylPQk12dJJEoTZ2msSkQ
jDtF/Te79JaO1PXY3S08+N2ZBtG0PGTrVoVGm3HBFif8rtXyLxXuBZKzQMnp/Rl0
d9d43NDHTQLwSZidZpp88s4y5s1BHeom0Y5aK0CR0AzYb3+U7cv/+5eKdvwpNkos
4JDleoQJ6/TZRt3TqxI6yQKBgA8sdPc+1psooh4LC8Zrnn2pjRiM9FloeuJkpBA+
4glkqS17xSti0cE6si+iSVAVR9OD6p0+J6cHa8gW9vqaDK3IUmJDcBUjU4fRMNjt
lXSvNHj5wTCZXrXirgraw/hQdL+4eucNZwEq+Z83hwHWUUFAammGDHmMol0Edqp7
s1+hAoGBAKCGZpDqBHZ0gGLresidH5resn2DOvbnW1l6b3wgSDQnY8HZtTfAC9jH
DZERGGX2hN9r7xahxZwnIguKQzBr6CTYBSWGvGYCHJKSLKn9Yb6OAJEN1epmXdlx
kPF7nY8Cs8V8LYiuuDp9UMLRc90AmF87rqUrY5YP2zw6iNNvUBKs
-----END RSA PRIVATE KEY-----
Licence
Copyright (c) 2017 Tomoyuki Sakurai <[email protected]>
La permission d'utiliser, copier, modifier et distribuer ce logiciel pour tout
but, avec ou sans frais, est par la présente accordée, à condition que l'avis de droit d'auteur ci-dessus et cet avis de permission apparaissent dans toutes les copies.
LE LOGICIEL EST FOURNI "TEL QUEL" ET L'AUTEUR DÉCLINE TOUTES GARANTIES
CONCERNANT CE LOGICIEL, Y COMPRIS TOUTES GARANTIES IMPLICITES DE
COMMERCIALITÉ ET D'ADÉQUATION. EN AUCUN CAS, L'AUTEUR NE POURRA ÊTRE TENU RESPONSABLE DES DOMMAGES SPÉCIAUX, DIRECTS, INDIRECTS OU CONSÉCUTIFS OU DE TOUT DOMMAGE
PLAINT AU SUJET DE LA PERTE D'UTILISATION, DE DONNÉES OU DE PROFITS, QUE CE SOIT DANS LE CADRE D'UN
ACTION CONTRACTUELLE, DE NÉGLIGENCE OU AUTRE ACTION DÉLICTUELLE, DÉCOULANT DE OU EN LIEN AVEC L'UTILISATION OU LA PERFORMANCE DE CE LOGICIEL.
Informations sur l'auteur
Tomoyuki Sakurai tomoyukis@reallyenglish.com
Ce README a été créé par qansible
ansible-galaxy install reallyenglish.x509-certificate