Я прочитал документы, но, похоже, IP-адрес не указан.
Это более или менее правильно.Документация подробно описывает интерфейс и ожидания для исполняемых файлов политики .Имя сертификата предоставляется в качестве аргумента программы, а CSR в форме PEM предоставляется на стандартном вводе программы.Puppet больше ничего не предоставляет и не делает доступным для Puppet, поскольку запрос сертификата обычно является самым первым взаимодействием между агентом и мастером.
Существуют ли обходные пути для получения IP-адресазапрашивающий клиент?
Если вы используете имя хоста в качестве имени сертификата (по умолчанию) или у вас есть какой-то другой способ получить имя хоста, тогда вы можете попытаться выполнить поиск DNS.В некоторых случаях вы можете получить информацию с DHCP-сервера, NIS-сервера или другой аналогичной системы.В качестве альтернативы вы можете использовать другое свойство в качестве имени сертификата, для которого вы можете выполнить соответствующий поиск - например, номер актива.
Кроме того, вы должны иметь возможность заставить клиента включатьего IP-номер в виде расширения сертификата , который исполняемый файл политики затем сможет извлечь из CSR.Но хорошо помните, что если CSR подписывается, этот конкретный IP-адрес постоянно включается в получающийся сертификат, независимо от того, нужен ли он вам для каких-либо других целей и независимо от любого последующего изменения номера IP.