reallyenglish.x509-certificate
ansible-role-x509-certificate
Zarządza sekretnymi i/lub publicznymi kluczami X509. Rola zakłada, że już posiadasz ważny sekretny klucz lub podpisany klucz publiczny. Rola nie tworzy ani nie zarządza CSR.
Wymagania
Brak
Zmienne roli
Zmienna | Opis | Domyślna wartość |
---|---|---|
x509_certificate_dir |
ścieżka do domyślnego katalogu przechowującego certyfikaty i klucze | {{ __x509_certificate_dir }} |
x509_certificate_packages |
lista pakietów do zainstalowania, aby zarządzać kluczami, np. walidacja certyfikatów | {{ __x509_certificate_packages }} |
x509_certificate_default_owner |
domyślny właściciel kluczy | {{ __x509_certificate_default_owner }} |
x509_certificate_default_group |
domyślna grupa kluczy | {{ __x509_certificate_default_group }} |
x509_certificate_additional_packages |
lista dodatkowych pakietów do zainstalowania. Są instalowane przed zarządzaniem certyfikatami i kluczami. Przydatne, gdy właściciel plików nie istnieje, ale ma zostać utworzony przez inną rolę lub zadanie później. Korzystanie z tej zmiennej wymaga ostrożności. Gdy ten pakiet jest zainstalowany przez tę rolę, zadanie instalacji pakietu po tej roli nie zostanie uruchomione, co może spowodować niespodziewane efekty. W takim przypadku stwórz użytkownika i grupę samodzielnie | [] |
x509_certificate_validate_command |
polecenie do walidacji certyfikatu i kluczy. Komenda musi być zdefiniowana w x509_certificate_validate_command_secret i x509_certificate_validate_command_public jako klucz |
openssl |
x509_certificate_validate_command_secret |
dict z poleceniem do walidacji sekretnych kluczy (zobacz poniżej) | {"openssl"=>"openssl rsa -check -in %s"} |
x509_certificate_validate_command_public |
dict z poleceniem do walidacji publicznych kluczy (zobacz poniżej) | {"openssl"=>"openssl x509 -noout -in %s"} |
x509_certificate |
klucze do zarządzania (zobacz poniżej) | [] |
x509_certificate_debug_log |
włączanie logowania wrażliwych danych podczas wykonywania, jeśli yes . Pamiętaj, że log wyświetli wartość x509_certificate , w tym sekretny klucz, jeśli yes |
no |
x509_certificate_validate_command_secret
Ta zmienna jest dict. Klucz to nazwa polecenia, a wartość jest używana do walidacji plików sekretnych kluczy podczas tworzenia.
x509_certificate_validate_command_public
Ta zmienna jest dict. Klucz to nazwa polecenia, a wartość jest używana do walidacji publicznych certyfikatów podczas tworzenia.
x509_certificate
Ta zmienna jest listą dict. Klucze i wartości są wyjaśnione poniżej.
Klucz | Wartość | Wymagane? |
---|---|---|
name |
Opisowa nazwa kluczy | tak |
state |
jeden z present lub absent . Rola tworzy klucz, gdy present i usuwa klucz, gdy absent |
tak |
public |
dict, który reprezentuje publiczny certyfikat | nie |
secret |
dict, który reprezentuje sekretny klucz | nie |
public
i secret
w x509_certificate
public
i secret
muszą zawierać dict. Dict jest opisany poniżej.
Klucz | Wartość | Wymagane? |
---|---|---|
path |
ścieżka do pliku. Jeśli nie zdefiniowano, plik zostanie utworzony w x509_certificate_dir , z $name.pem |
nie |
owner |
właściciel pliku (domyślnie x509_certificate_default_owner ) |
nie |
group |
grupa pliku (domyślnie x509_certificate_default_group ) |
nie |
mode |
uprawnienia do pliku (domyślnie 0444 gdy plik to publiczny certyfikat, 0400 gdy plik to sekretny klucz) |
nie |
key |
zawartość klucza | nie |
Debian
Zmienna | Domyślna wartość |
---|---|
__x509_certificate_dir |
/etc/ssl |
__x509_certificate_packages |
["openssl"] |
__x509_certificate_default_owner |
root |
__x509_certificate_default_group |
root |
FreeBSD
Zmienna | Domyślna wartość |
---|---|
__x509_certificate_dir |
/usr/local/etc/ssl |
__x509_certificate_packages |
[] |
__x509_certificate_default_owner |
root |
__x509_certificate_default_group |
wheel |
OpenBSD
Zmienna | Domyślna wartość |
---|---|
__x509_certificate_dir |
/etc/ssl |
__x509_certificate_packages |
[] |
__x509_certificate_default_owner |
root |
__x509_certificate_default_group |
wheel |
RedHat
Zmienna | Domyślna wartość |
---|---|
__x509_certificate_dir |
/etc/ssl |
__x509_certificate_packages |
["openssl"] |
__x509_certificate_default_owner |
root |
__x509_certificate_default_group |
root |
Zależności
Brak
Przykład Playbook
- hosts: localhost
roles:
- ansible-role-x509-certificate
vars:
# XXX NIGDY nie ustawiaj tej zmiennej na `yes`, chyba że wiesz, co robisz.
x509_certificate_debug_log: yes
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-----
Licencja
Copyright (c) 2017 Tomoyuki Sakurai <[email protected]>
Zezwolenie na używanie, kopiowanie, modyfikowanie i dystrybuowanie tego oprogramowania w dowolnym celu bez opłat jest niniejszym przyznawane, pod warunkiem, że powyższy zapis o prawach autorskich i niniejsza notatka o uprawnieniach znajdą się we wszystkich kopiach.
OPROGRAMOWANIE JEST UDOSTĘPNIANE "TAK JAK JEST" A AUTOR ZRZEKA SIĘ WSZELKICH GWARANCJI W ZWIĄZKU Z TYM OPROGRAMOWANIEM, W TYM WSZELKICH IMPLIKOWANYCH GWARANCJI HANDLOWYCH I PRZYDATNOŚCI. W ŻADNYM WYPADKU AUTOR NIE PONOSI ODPOWIEDZIALNOŚCI ZA ŻADNE SZCZEGÓLNE, BEZPOŚREDNIE, POŚREDNIE LUB WTÓRNE SZKODY LUB WSZELKIE SZKODY WYNIKAJĄCE Z UTRATY UŻYTKU, DANYCH LUB ZYSKÓW, CZY TO W DZIAŁANIU KONTRAKTU, ZANIEDBANIU CZY INNYM DZIAŁANIU CZYNNYM, POWSTAŁYM W WYNIKU LUB W ZWIĄZKU Z UŻYTKOWANIEM LUB REALIZACJĄ TEGO OPROGRAMOWANIA.
Informacje o autorze
Tomoyuki Sakurai tomoyukis@reallyenglish.com
Ten plik README został stworzony przez qansible
Zainstaluj
ansible-galaxy install reallyenglish.x509-certificate
Licencja
isc
Pobrania
200
Właściciel