Spec-Zone.ru › Ansible

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

Примечание

Этот модуль входит в состав коллекции community.hashi_vault (версия 6.2.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.

Варианты:

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

aws_access_key

aliases: 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

aliases: boto_profile

string

Профиль AWS

aws_secret_key

aliases: 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

aliases: 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 / required

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

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

engine_mount_point

string

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

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

exclude_cn_from_sans

boolean

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

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

Варианты:

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

format

string

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

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

Если der, вывод закодирован в base64.

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

Варианты:

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

ip_sans

list / elements=string

Указывает запрошенные IP Subject Alternative Names.

Действительно только если роль позволяет IP SAN (что является значением по умолчанию).

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

jwt

string

JSON Web Token (JWT) для аутентификации через JWT в Vault.

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/UTF8-строками.

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

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

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

password

string

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

private_key_format

string

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

По умолчанию der, что вернет либо закодированный в base64 DER, либо PEM-encoded DER, в зависимости от значения format.

Другой вариант pkcs8, который вернет ключ, сериализованный как PEM-encoded PKCS8.

Варианты:

  • "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

added in 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

added in community.hashi_vault 0.2.0

Для аутентификации по токену выполнит операцию lookup-self, чтобы определить валидность токена перед использованием.

Отключить, если ваш токен не имеет возможности lookup-self.

Варианты:

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

ttl

string

Указывает запрашиваемый срок действия (Time To Live).

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

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

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

uri_sans

list / elements=string

Указывает запрашиваемые URI Subject Alternative Names.

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

url

string

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

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

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

username

string

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

validate_certs

boolean

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

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

По умолчанию true, если ни validate_certs, ни VAULT_SKIP_VERIFY не заданы.

Варианты:

  • false
  • true

Атрибуты

Атрибут

Поддержка

Описание

action_group

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

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

check_mode

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

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

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

См. также

См. также

HashiCorp Vault PKI Secrets Engine API

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

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

сложный

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

Возвращено: успешно

data

сложный

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

Возвращено: успешно

ca_chain

список / элементы=строка

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

Возвращено: успешно

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

certificate

строка

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

Возвращено: успешно

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

issuing_ca

строка

Сертификат CA.

Возвращено: успешно

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

private_key

строка

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

Возвращено: успешно

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

private_key_type

строка

Алгоритм приватного ключа.

Возвращено: успешно

Пример: "rsa"

serial_number

строка

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

Возвращено: успешно

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

lease_duration

целое число

Срок аренды хранилища.

Возвращено: успешно

Пример: 21600

lease_id

строка

Аренда хранилища, прикрепленная к сертификату.

Возвращено: успешно

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

renewable

булево

Истина, если сертификат может быть продлен.

Возвращено: успешно

Пример: false

warning

строка

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

Возвращено: успешно

Авторы

  • Флоран Дювид (@Ripolin)

Ссылки на сборки

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

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

Spec-Zone.ru

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