Spec-Zone.ru › Ansible

Модуль community.hashi_vault.vault_pki_generate_certificate — создание нового набора учётных данных (закрытого ключа и сертификата) с помощью HashiCorp Vault PKI

Примечание

Этот модуль входит в коллекцию community.hashi_vault (версия 7.1.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.hashi_vault. Для использования этого модуля необходимы дополнительные требования; подробнее см. в разделе Требования.

Чтобы использовать его в плейбуке, укажите: community.hashi_vault.vault_pki_generate_certificate.

Добавлен в community.hashi_vault 2.3.0

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • См. также
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Создаёт новый набор учётных данных (закрытого ключа и сертификата) на основе роли Vault PKI.

Требования

Перечисленные ниже требования необходимы на хосте, на котором выполняется этот модуль.

  • hvac (библиотека Python) версии 0.9.1 или выше
  • Подробные сведения о требованиях см. на странице требований к коллекции.

Параметры

Параметр

Комментарии

alt_names

list / elements=string

Указывает запрошенные альтернативные имена субъекта.

Это могут быть имена хостов или адреса электронной почты; они будут разобраны и помещены в соответствующие поля.

Если какие-либо запрошенные имена не соответствуют политике роли, весь запрос будет отклонён.

По умолчанию: []

auth_method

string

Метод аутентификации.

Метод аутентификации none добавлен в версию коллекции 1.2.0.

Метод аутентификации cert добавлен в версию коллекции 1.4.0.

aws_iam_login переименован в aws_iam в версии коллекции 2.1.0 и удалён в 3.0.0.

Метод аутентификации azure добавлен в версию коллекции 3.2.0.

Метод аутентификации gcp добавлен в версию коллекции 7.1.0.

Варианты:

  • "token" ← (по умолчанию)
  • "userpass"
  • "ldap"
  • "approle"
  • "aws_iam"
  • "azure"
  • "jwt"
  • "cert"
  • "gcp"
  • "none"

aws_access_key

псевдонимы: aws_access_key_id

string

Ключ доступа AWS.

aws_iam_server_id

string

добавлено в community.hashi_vault 0.2.0

Если указано, задаёт значение для заголовка X-Vault-AWS-IAM-Server-ID в составе запроса GetCallerIdentity.

aws_profile

псевдонимы: boto_profile

string

Профиль AWS

aws_secret_key

псевдонимы: aws_secret_access_key

string

Секретный ключ AWS, соответствующий ключу доступа.

aws_security_token

string

Токен безопасности AWS при использовании временных ключей доступа и секретных ключей.

azure_client_id

string

добавлено в community.hashi_vault 3.2.0

Идентификатор клиента (также известный как идентификатор приложения) субъекта-службы Azure AD или управляемого удостоверения. Должен быть UUID.

Если не указан, будет использоваться назначенное системой управляемое удостоверение.

azure_client_secret

string

добавлено в community.hashi_vault 3.2.0

Секрет клиента субъекта-службы Azure AD.

azure_resource

string

добавлено в community.hashi_vault 3.2.0

URL-адрес ресурса для приложения, зарегистрированного в Azure Active Directory. Обычно не следует менять значение по умолчанию.

По умолчанию: "https://management.azure.com/"

azure_tenant_id

string

добавлено в community.hashi_vault 3.2.0

Идентификатор клиента Azure Active Directory (также известный как идентификатор каталога) субъекта-службы. Должен быть UUID.

Обязателен при использовании субъекта-службы для аутентификации в Vault, например, когда указаны и azure_client_id, и azure_client_secret.

Необязателен при использовании управляемого удостоверения для аутентификации в Vault.

ca_cert

псевдонимы: cacert

string

Путь к сертификату, используемому для аутентификации.

Если значение не задано другими способами, будет использоваться переменная окружения VAULT_CACERT.

cert_auth_private_key

path

добавлено в community.hashi_vault 1.4.0

Для аутентификации cert: путь к файлу закрытого ключа в формате PEM.

cert_auth_public_key

path

добавлено в community.hashi_vault 1.4.0

Для аутентификации cert: путь к файлу сертификата в формате PEM.

common_name

string / обязательный

Указывает запрошенное общее имя (CN) сертификата.

Если CN разрешён политикой роли, он будет выдан.

engine_mount_point

string

Укажите точку монтирования, используемую движком PKI.

По умолчанию используется значение, заданное по умолчанию в hvac.

exclude_cn_from_sans

boolean

Если значение равно true, указанное common_name не будет включено в альтернативные имена субъекта DNS или электронной почты (в зависимости от типа).

Полезно, если CN — это не имя хоста или адрес электронной почты, а понятный человеку идентификатор.

Варианты:

  • false ← (по умолчанию)
  • true

format

string

Указывает формат возвращаемых данных.

Может быть pem, der или pem_bundle.

Если указано der, результат кодируется в base64.

Если указано pem_bundle, поле certificate будет содержать закрытый ключ и сертификат, объединённые вместе. Если выпускающий ЦС не является самоподписанным корневым сертификатом, созданным Vault, он также будет включён.

Варианты:

  • "pem" ← (по умолчанию)
  • "der"
  • "pem_bundle"

ip_sans

list / elements=string

Указывает запрошенные IP-адреса в качестве альтернативных имён субъекта.

Допустимо, только если роль разрешает IP SAN (по умолчанию разрешены).

По умолчанию: []

jwt

string

JSON Web Token (JWT), используемый для аутентификации в Vault с помощью JWT.

mount_point

string

Точка монтирования Vault.

Если не указана, используется точка монтирования по умолчанию для данного метода аутентификации.

Не применяется при аутентификации с помощью токена.

namespace

string

Пространство имён Vault, в котором находятся секреты. Для этого параметра требуются HVAC 0.7.0+ и Vault 0.11+.

Этого также можно добиться, добавив пространство имён в начало точки монтирования аутентификации и/или пути к секрету (например, mynamespace/secret/mysecret).

Если задана переменная окружения VAULT_NAMESPACE, её значение будет иметь наивысший приоритет среди всех способов указания namespace.

other_sans

list / elements=string

Указывает пользовательские SAN с OID и строками UTF-8.

Они должны соответствовать значениям, указанным для роли в allowed_other_sans.

Формат совпадает с форматом OpenSSL: <oid>;<type>:<value>, где единственный допустимый на данный момент тип — UTF8.

По умолчанию: []

password

string

Пароль для аутентификации.

private_key_format

string

Указывает формат сериализации закрытого ключа.

По умолчанию используется der: в зависимости от значения format ключ будет возвращён в виде DER, закодированного в base64, или DER в формате PEM.

Другой вариант — pkcs8, при котором ключ будет сериализован как PKCS8 в формате PEM.

Варианты:

  • "der" ← (по умолчанию)
  • "pkcs8"

proxies

any

добавлено в community.hashi_vault 1.1.0

URL-адреса прокси-серверов, используемых для доступа к службе Vault.

Значение может быть строкой или словарём.

Если указано значение-словарь, используйте схему (например, http или https) в качестве ключа, а URL-адрес — в качестве значения.

Если указана строка, задайте один URL-адрес, который будет использоваться в качестве прокси для схем http и https.

Строка, которую можно интерпретировать как словарь, будет преобразована в словарь (см. примеры).

Можно указать разные прокси-серверы для ресурсов HTTP и HTTPS.

Если значение не указано, используются переменные окружения библиотеки Requests.

region

string

Регион AWS, для которого создаётся подключение.

retries

any

добавлено в community.hashi_vault 1.3.0

Позволяет повторять запросы при ошибках на основе класса Retry библиотеки urllib3.

В этой коллекции заданы рекомендуемые значения по умолчанию для повторных подключений к Vault.

Для этого параметра можно указать положительное число (целое) или словарь.

Если параметр не задан или число равно 0, повторные попытки отключены.

Число задаёт общее количество повторных попыток; для остальных параметров используются значения коллекции по умолчанию.

Значение-словарь напрямую используется для инициализации класса Retry, что позволяет полностью настроить повторные попытки.

Подробные сведения о повторных попытках см. в руководстве пользователя коллекции.

retry_action

string

добавлено в community.hashi_vault 1.3.0

Определяет, нужно ли выводить сообщения при повторных попытках и каким образом.

Не влияет на запросы, которые не повторяются.

Варианты:

  • "ignore"
  • "warn" ← (по умолчанию)

role_id

string

Идентификатор или имя роли Vault. Используется в методах аутентификации approle, aws_iam, azure и cert.

При аутентификации cert, если role_id не задан, по умолчанию предпринимается попытка использовать все роли сертификатов и возвращается любая подходящая роль.

Для аутентификации azure параметр role_id обязателен.

role_name

string / обязательный

Указывает имя роли, для которой создаётся сертификат.

secret_id

string

Идентификатор секрета для аутентификации в Vault с помощью AppRole.

timeout

integer

добавлено в community.hashi_vault 1.3.0

Задаёт время ожидания подключения в секундах.

Если значение не задано, используется значение по умолчанию библиотеки hvac.

token

string

Токен Vault. Токен можно указать явно, с помощью перечисленных переменных [env], а также через переменную окружения VAULT_TOKEN.

Если токен не задан явно или через переменные окружения, плагин проверит наличие файла токена, путь к которому определяется параметрами token_path и token_file.

Порядок загрузки токена (используется первое найденное значение): token param -> ansible var -> ANSIBLE_HASHI_VAULT_TOKEN -> VAULT_TOKEN -> token file.

token_file

string

Если токен не указан, будет предпринята попытка прочитать его из этого файла в каталоге token_path.

По умолчанию: ".vault-token"

token_path

string

Если токен не указан, будет предпринята попытка прочитать файл token_file по этому пути.

token_validate

boolean

добавлено в community.hashi_vault 0.2.0

При аутентификации с помощью токена перед его использованием выполняется операция lookup-self для проверки действительности токена.

Отключите эту проверку, если у токена нет возможности lookup-self.

Варианты:

  • false ← (по умолчанию)
  • true

ttl

string

Указывает запрошенное время жизни.

Не может превышать значение max_ttl роли.

Если значение не задано, используется значение ttl роли.

Обратите внимание, что если значения роли явно не заданы, используются системные значения по умолчанию.

uri_sans

list / elements=string

Указывает запрошенные URI в качестве альтернативных имён субъекта.

По умолчанию: []

url

string

URL-адрес службы Vault.

Если значение не задано другими способами, будет использоваться значение переменной окружения VAULT_ADDR.

Если также не задана переменная VAULT_ADDR, будет выдана ошибка.

username

string

Имя пользователя для аутентификации.

validate_certs

boolean

Управляет проверкой и подтверждением подлинности SSL-сертификатов; обычно отключать проверку следует только для самоподписанных сертификатов.

Если задан параметр VAULT_SKIP_VERIFY, а validate_certs явно не указан, значение будет противоположным значению этого параметра.

Если не заданы ни validate_certs, ни VAULT_SKIP_VERIFY, по умолчанию используется true.

Варианты:

  • false
  • true

Атрибуты

Атрибут

Поддержка

Описание

action_group

Группа действий: community.hashi_vault.vault

Используйте group/community.hashi_vault.vault в module_defaults, чтобы задать значения по умолчанию для этого модуля.

check_mode

Поддержка: частичная

В режиме проверки этот модуль не будет обращаться к Vault и вернёт пустое поле data и статус changed.

Может работать в режиме check_mode и возвращать прогноз статуса изменений, не изменяя целевой объект.

См. также

См. также

API движка секретов PKI HashiCorp Vault

Документация API движка секретов PKI HashiCorp Vault.

Справочник библиотеки HVAC

Справочник библиотеки HVAC по движку PKI.

Примеры

- name: Login and use the resulting token
  community.hashi_vault.vault_login:
    url: https://localhost:8200
    auth_method: ldap
    username: "john.doe"
    password: "{{ user_passwd }}"
  register: login_data

- name: Generate a certificate with an existing token
  community.hashi_vault.vault_pki_generate_certificate:
    role_name: test.example.org
    common_name: test.example.org
    ttl: 8760h
    alt_names:
      - test2.example.org
      - test3.example.org
    url: https://vault:8201
    auth_method: token
    token: "{{ login_data.login.auth.client_token }}"
  register: cert_data

- name: Display generated certificate
  debug:
    msg: "{{ cert_data.data.data.certificate }}"

Возвращаемые значения

Общие возвращаемые значения описаны здесь, ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

data

complex

Информация о недавно созданном сертификате

Возвращается: при успехе

data

complex

Полезная нагрузка

Возвращается: при успехе

ca_chain

list / elements=string

Связанный список сертификатов центра сертификации.

Возвращается: при успехе

Пример: ["-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----"]

certificate

string

Созданный сертификат.

Возвращается: при успехе

Пример: "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----"

issuing_ca

string

Сертификат центра сертификации.

Возвращается: при успехе

Пример: "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----"

private_key

string

Закрытый ключ, использованный для создания сертификата.

Возвращается: при успехе

Пример: "-----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY-----"

private_key_type

string

Алгоритм закрытого ключа.

Возвращается: при успехе

Пример: "rsa"

serial_number

string

Серийный номер сертификата.

Возвращается: при успехе

Пример: "39:dd:2e:90:b7:23:1f:8d:d3:7d:31:c5:1b:da:84:d0:5b:65:31:58"

lease_duration

integer

Срок действия аренды Vault.

Возвращается: при успехе

Пример: 21600

lease_id

string

Аренда Vault, связанная с сертификатом.

Возвращается: при успехе

Пример: "pki/issue/test/7ad6cfa5-f04f-c62a-d477-f33210475d05"

renewable

boolean

Значение True, если сертификат можно продлить.

Возвращается: при успехе

Пример: false

warning

string

Предупреждения, возвращенные Vault во время генерации.

Возвращается: при успехе

Авторы

  • Florent David (@Ripolin)

Ссылки на коллекцию

  • Отслеживание ошибок
  • Репозиторий (исходный код)
  • Обсуждения, вопросы и ответы, устранение неполадок
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/hashi_vault/vault_pki_generate_certificate_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API