Клиентский сертификат Mosquitto: определить username, который получит ACL
Увеличить схему
Фотография конкретного исполнения не приложена.
Require_certificate требует от подключающегося клиента действительный сертификат. Дополнительные настройки могут использовать его CN либо полный subject как username для правил доступа. Это связывает сертификатную идентичность с MQTT-авторизацией, поэтому её нужно проектировать вместе с именами в ACL, а не только с установкой TLS.
При use_identity_as_username используется CN; use_subject_as_username относится к полному subject. Если включены оба, документированное преимущество имеет первый вариант. Изменение subject при перевыпуске сертификата способно изменить строку идентичности, на которую опирается доступ. Такая замена требует проверки соответствующей политики, даже если цепочка сертификата осталась доверенной.
В описанном режиме встроенный password_file для listener не используется. Нельзя автоматически ожидать от него дополнительного подтверждения паролем. Также учитывают область доверенных CA: они могут выпускать сертификаты, принимаемые для подключения, а окончательные разрешения topics должны соответствовать выбранной схеме идентичности и установленным плагинам.
В приёмке используют согласованные сертификаты с ожидаемым и отличающимся именем, затем проверяют доступные операции. Сверяют фактический username в политике. Успешный TLS-handshake не подтверждает правильность назначения роли или право устройства публиковать от имени конкретного источника.
Основание — Eclipse Mosquitto official unversioned documentation snapshot; Download index observed 2.1.2, разделы Authentication; require_certificate; use_identity_as_username; use_subject_as_username. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Реальный брокер, его сборка, плагины и сеть не испытывались. Изменения конфигурации, учётных записей и прав не выполнялись; поддержку параметров проверяют по установленной версии.
Запросы отправляются на наш e-mail из вашей почтовой программы.