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

O projekcie

Manages X509 public and secret keys

Zainstaluj
ansible-galaxy install reallyenglish.x509-certificate
Licencja
isc
Pobrania
200
Właściciel