Модуль community.crypto.ecs_certificate – Запрос SSL/TLS сертификатов с помощью API Entrust Certificate Services (ECS)
Примечание
Этот модуль входит в состав коллекции community.crypto (версия 2.22.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.crypto. Для использования этого модуля необходимы дополнительные требования, см. Требования для получения подробностей.
Чтобы использовать его в плейбуке, укажите: community.crypto.ecs_certificate.
Описание
- Создание, повторное выдача и продление сертификатов с помощью API Entrust Certificate Services (ECS).
- Требуются учетные данные для API Entrust Certificate Services (ECS).
- Для запроса сертификата домен и организация, используемые в запросе на подписание сертификата, должны быть уже проверены в системе ECS. Этот модуль не отвечает за выполнение этих шагов.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- PyYAML >= 3.11
- cryptography >= 1.6
Параметры
Параметр | Комментарии |
|---|---|
additional_emails list / elements=string | Список дополнительных адресов электронной почты для получения уведомления о доставке и уведомления о истечении срока действия сертификата. |
backup boolean | |
cert_expiry string | Дата истечения срока действия сертификата в формате даты или даты и времени, совместимом с RFC3339. Например,
Перевыпущенный сертификат всегда будет иметь тот же срок действия, что и исходный сертификат. Обратите внимание, что для указания даты истечения срока действия поддерживается только дата (день, месяц, год). Если вы решите указать время истечения срока действия вместе с датой истечения срока действия, время будет скорректировано до восточного стандартного времени (EST). Это может привести к непреднамеренному перемещению даты истечения срока действия на предыдущий день. Применяется только к учетным записям с моделью инвентаризации пула. Можно указать только один из параметров |
cert_lifetime string | Срок действия сертификата. Применяется ко всем сертификатам для учетных записей с непуловой моделью инвентаризации.
Применяется к сертификатам
Можно указать только один из параметров Варианты:
|
cert_type string | Укажите тип запрашиваемого сертификата. Если сертификат перевыпускается или обновляется, этот параметр игнорируется, и используется Варианты:
|
client_id integer | Идентификатор клиента для отправки запроса на подпись сертификата. Если идентификатор клиента не указан, сертификат будет отправлен основному клиенту с идентификатором 1. При использовании клиента, отличного от основного, параметр Выпущенный сертификат будет иметь значение организации в отличительном имени субъекта, представленное клиентом. Значение по умолчанию: |
csr string | Запрос на подпись сертификата (CSR), закодированный в Base-64. Если Если указан Если указан Если указан Поле организации «O=» из CSR использоваться не будет. Оно будет заменено в выпущенном сертификате на |
ct_log boolean | В соответствии с требованиями браузера этот сертификат может быть размещен в журналах прозрачности сертификатов (CT). Это метод, соответствующий лучшим практикам, который помогает владельцам доменов отслеживать сертификаты, выпущенные для их доменов. Обратите внимание, что не все сертификаты подходят для ведения журнала CT. Если Если указан Если Варианты:
|
custom_fields dictionary | Сопоставление пользовательских полей, которые необходимо связать с запросом на сертификат и сертификатом. Поддерживается только в том случае, если пользовательские поля включены для вашей учетной записи. Каждое указанное пользовательское поле должно быть пользовательским полем, которое вы определили для своей учетной записи. |
|
date1 string |
Пользовательское поле даты. |
|
date2 string |
Пользовательское поле даты. |
|
date3 string |
Пользовательское поле даты. |
|
date4 string |
Пользовательское поле даты. |
|
date5 string |
Пользовательское поле даты. |
|
dropdown1 string |
Настраиваемое выпадающее поле. |
|
dropdown2 string |
Настраиваемое выпадающее поле. |
|
dropdown3 string |
Настраиваемое выпадающее поле. |
|
dropdown4 string |
Настраиваемое выпадающее поле. |
|
dropdown5 string |
Настраиваемое выпадающее поле. |
|
email1 string |
Настраиваемое поле электронной почты. |
|
email2 string |
Настраиваемое поле электронной почты. |
|
email3 string |
Настраиваемое поле электронной почты. |
|
email4 string |
Настраиваемое поле электронной почты. |
|
email5 string |
Настраиваемое поле электронной почты. |
|
number1 float |
Настраиваемое числовое поле. |
|
number2 float |
Настраиваемое числовое поле. |
|
number3 float |
Настраиваемое числовое поле. |
|
number4 float |
Настраиваемое числовое поле. |
|
number5 float |
Настраиваемое числовое поле. |
|
text1 string |
Настраиваемое текстовое поле (максимум 500 символов) |
|
text10 string |
Настраиваемое текстовое поле (максимум 500 символов) |
|
text11 string |
Настраиваемое текстовое поле (максимум 500 символов) |
|
text12 string |
Настраиваемое текстовое поле (максимум 500 символов) |
|
text13 string |
Настраиваемое текстовое поле (максимум 500 символов) |
|
text14 string |
Настраиваемое текстовое поле (максимум 500 символов) |
|
text15 string |
Настраиваемое текстовое поле (максимум 500 символов) |
|
text2 string |
Настраиваемое текстовое поле (максимум 500 символов) |
|
text3 string |
Настраиваемое текстовое поле (максимум 500 символов) |
|
text4 string |
Настраиваемое текстовое поле (максимум 500 символов) |
|
text5 string |
Настраиваемое текстовое поле (максимум 500 символов) |
|
text6 string |
Настраиваемое текстовое поле (максимум 500 символов) |
|
text7 string |
Настраиваемое текстовое поле (максимум 500 символов) |
|
text8 string |
Настраиваемое текстовое поле (максимум 500 символов) |
|
text9 string |
Пользовательское текстовое поле (максимум 500 символов) |
eku string | Если указано, переопределяет использование ключа в Варианты:
|
end_user_key_storage_agreement boolean | Конечный пользователь сертификата Code Signing должен сгенерировать и хранить закрытый ключ для этого запроса на криптографически защищенном оборудовании, чтобы соответствовать соглашению Entrust CSP и подписки. При запросе сертификата типа Применимо только к Варианты:
|
entrust_api_client_cert_key_path path / обязательно | Путь к ключу для клиентского сертификата, используемого для аутентификации в API Entrust Certificate Services (ECS). |
entrust_api_client_cert_path path / обязательно | Путь к клиентскому сертификату, используемому для аутентификации в API Entrust Certificate Services (ECS). |
entrust_api_key string / обязательно | Ключ (пароль) для аутентификации в API Entrust Certificate Services (ECS). |
entrust_api_specification_path path | Путь к файлу спецификации, определяющему конфигурацию API Entrust Certificate Services (ECS). Можно использовать для хранения локальной копии спецификации, чтобы избежать ее загрузки каждый раз при использовании модуля. По умолчанию: |
entrust_api_user string / обязательно | Имя пользователя для аутентификации в API Entrust Certificate Services (ECS). |
force boolean | Если force используется, запрос сертификата выполняется независимо от того, указывает ли Если Варианты:
|
full_chain_path path | Путь назначения для полного цепочки сертификатов, включая промежуточные и корневые сертификаты. |
org string | Организация «O=» для включения в сертификат. Если Если |
ou list / elements=string | Организационная единица «OU=» для включения в сертификат. Поведение Если оба Если ни Недействительная организационная единица из Для текущих продуктов может быть указана максимум одна организационная единица. Несколько организационных единиц зарезервированы для будущих продуктов. |
path path / обязательно | Путь назначения для сгенерированного сертификата в формате PEM. Если сертификат в этом месте не выпущен Entrust, всегда будет запрашиваться новый сертификат, даже если текущий сертификат технически действителен. Если в этом месте уже есть сертификат Entrust, то его замена зависит от расчета Если существующий сертификат заменяется (см. |
remaining_days целое число | Количество оставшихся дней действия сертификата. Если Если Например, если вы запрашиваете сертификаты с сроком действия 90 дней, не устанавливайте Параметр По умолчанию: |
request_type string | Операция, выполняемая, если Указание Указание Указание Указание Если сертификат был выпущен в течение последних 30 дней, операция Обратите внимание, что операция check_mode поддерживается только если Например, установка Выбора:
|
requester_email string / обязательно | Электронная почта заявителя для ассоциации с информацией о отслеживании сертификата и получения уведомлений о доставке и истечении срока действия сертификата. |
requester_name string / обязательно | Имя заявителя для ассоциации с информацией о отслеживании сертификата. |
requester_phone string / обязательно | Номер телефона заявителя для ассоциации с информацией о отслеживании сертификата. |
subject_alt_name list / элементы=string | Идентификаторы альтернативного имени субъекта, как массив значений (применимо к Если запрашивается новый SSL-сертификат, и вы передаёте параметр См. В случае сертификатов типа |
tracking_id integer | Идентификатор отслеживания сертификата для повторного выпуска или продления.
Если сертификат присутствует в Если сертификат не присутствует в Если сертификат не присутствует в Это может быть использовано, когда известный сертификат отсутствует на сервере, но вы хотите продлить или повторно выпустить его для управления с помощью playbook ansible. Например, если вы укажете |
tracking_info string | Свободная информация для отслеживания, прикреплённая к записи сертификата. |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: частичная Режим проверки поддерживается только если | Может выполняться в |
diff_mode | Поддержка: нет | Возвращает подробную информацию о том, что изменилось (или, возможно, нужно изменить в |
safe_file_operations | Поддержка: полная | Использует строгие функции Ansible для работы с файлами, чтобы обеспечить правильные разрешения и предотвратить повреждение данных. |
Примечания
Примечание
-
pathдолжен быть указан в качестве места вывода сертификата.
См. также
См. также
- community.crypto.openssl_privatekey
-
Может быть использован для создания закрытых ключей (как для сертификатов, так и для счетов).
- community.crypto.openssl_csr
-
Может быть использован для создания запроса на подпись сертификата (CSR).
- community.crypto.to_serial плагин фильтра
-
Преобразование целого числа в список шестнадцатеричных чисел, разделённых двоеточием.
Примеры
- name: Request a new certificate from Entrust with bare minimum parameters.
Will request a new certificate if current one is valid but within 30
days of expiry. If replacing an existing file in path, will back it up.
community.crypto.ecs_certificate:
backup: true
path: /etc/ssl/crt/ansible.com.crt
full_chain_path: /etc/ssl/crt/ansible.com.chain.crt
csr: /etc/ssl/csr/ansible.com.csr
cert_type: EV_SSL
requester_name: Jo Doe
requester_email: jdoe@ansible.com
requester_phone: 555-555-5555
entrust_api_user: apiusername
entrust_api_key: a^lv*32!cd9LnT
entrust_api_client_cert_path: /etc/ssl/entrust/ecs-client.crt
entrust_api_client_cert_key_path: /etc/ssl/entrust/ecs-client.key
- name: If there is no certificate present in path, request a new certificate
of type EV_SSL. Otherwise, if there is an Entrust managed certificate
in path and it is within 63 days of expiration, request a renew of that
certificate.
community.crypto.ecs_certificate:
path: /etc/ssl/crt/ansible.com.crt
csr: /etc/ssl/csr/ansible.com.csr
cert_type: EV_SSL
cert_expiry: '2020-08-20'
request_type: renew
remaining_days: 63
requester_name: Jo Doe
requester_email: jdoe@ansible.com
requester_phone: 555-555-5555
entrust_api_user: apiusername
entrust_api_key: a^lv*32!cd9LnT
entrust_api_client_cert_path: /etc/ssl/entrust/ecs-client.crt
entrust_api_client_cert_key_path: /etc/ssl/entrust/ecs-client.key
- name: If there is no certificate present in path, download certificate
specified by tracking_id if it is still valid. Otherwise, if the
certificate is within 79 days of expiration, request a renew of that
certificate and save it in path. This can be used to "migrate" a
certificate to be Ansible managed.
community.crypto.ecs_certificate:
path: /etc/ssl/crt/ansible.com.crt
csr: /etc/ssl/csr/ansible.com.csr
tracking_id: 2378915
request_type: renew
remaining_days: 79
entrust_api_user: apiusername
entrust_api_key: a^lv*32!cd9LnT
entrust_api_client_cert_path: /etc/ssl/entrust/ecs-client.crt
entrust_api_client_cert_key_path: /etc/ssl/entrust/ecs-client.key
- name: Force a reissue of the certificate specified by tracking_id.
community.crypto.ecs_certificate:
path: /etc/ssl/crt/ansible.com.crt
force: true
tracking_id: 2378915
request_type: reissue
entrust_api_user: apiusername
entrust_api_key: a^lv*32!cd9LnT
entrust_api_client_cert_path: /etc/ssl/entrust/ecs-client.crt
entrust_api_client_cert_key_path: /etc/ssl/entrust/ecs-client.key
- name: Request a new certificate with an alternative client. Note that the
issued certificate will have it's Subject Distinguished Name use the
organization details associated with that client, rather than what is
in the CSR.
community.crypto.ecs_certificate:
path: /etc/ssl/crt/ansible.com.crt
csr: /etc/ssl/csr/ansible.com.csr
client_id: 2
requester_name: Jo Doe
requester_email: jdoe@ansible.com
requester_phone: 555-555-5555
entrust_api_user: apiusername
entrust_api_key: a^lv*32!cd9LnT
entrust_api_client_cert_path: /etc/ssl/entrust/ecs-client.crt
entrust_api_client_cert_key_path: /etc/ssl/entrust/ecs-client.key
- name: Request a new certificate with a number of CSR parameters overridden
and tracking information
community.crypto.ecs_certificate:
path: /etc/ssl/crt/ansible.com.crt
full_chain_path: /etc/ssl/crt/ansible.com.chain.crt
csr: /etc/ssl/csr/ansible.com.csr
subject_alt_name:
- ansible.testcertificates.com
- www.testcertificates.com
eku: SERVER_AND_CLIENT_AUTH
ct_log: true
org: Test Organization Inc.
ou:
- Administration
tracking_info: "Submitted via Ansible"
additional_emails:
- itsupport@testcertificates.com
- jsmith@ansible.com
custom_fields:
text1: Admin
text2: Invoice 25
number1: 342
date1: '2018-01-01'
email1: sales@ansible.testcertificates.com
dropdown1: red
cert_expiry: '2020-08-15'
requester_name: Jo Doe
requester_email: jdoe@ansible.com
requester_phone: 555-555-5555
entrust_api_user: apiusername
entrust_api_key: a^lv*32!cd9LnT
entrust_api_client_cert_path: /etc/ssl/entrust/ecs-client.crt
entrust_api_client_cert_key_path: /etc/ssl/entrust/ecs-client.key
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для данного модуля:
Ключ | Описание |
|---|---|
backup_file строка | Имя файла резервной копии, созданного для сертификата. Возвращается: изменено и если Пример: |
backup_full_chain_file строка | Имя файла резервной копии, созданного для цепочки сертификатов. Возвращается: изменено и если Пример: |
cert_days целое число | Количество дней, в течение которых сертификат остается действительным. Возвращается: успешно Пример: |
cert_details словарь | Полный ответ JSON от вызова Get Certificate API ECS. Хотя содержимое ответа гарантированно будет совместимо с новыми выпусками API ECS, Entrust рекомендует не создавать плейбуки, выполняющие действия на основе содержимого этого поля. Однако оно может быть полезным для отладки, ведения журнала или аудита. Возвращается: успешно |
cert_status строка | Статус сертификата в ECS. Текущие возможные значения (которые могут быть расширены в будущем): Возвращается: успешно Пример: |
filename строка | Путь назначения для сгенерированного сертификата. Возвращается: изменено или успешно Пример: |
serial_number целое число | Серийный номер выпущенного сертификата. Это значение возврата является целым числом. Если вам нужны серийные номера в виде строки в шестнадцатеричном формате, разделенные двоеточием, например Возвращается: успешно Пример: |
tracking_id целое число | Идентификатор отслеживания для ссылки и отслеживания сертификата в ECS. Возвращается: успешно Пример: |
Ссылки на коллекции
© 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/crypto/ecs_certificate_module.html