Поделиться через


Настройка инфраструктуры сертификатов OPC UA для соединителя для OPC UA

В этой статье вы узнаете, как настроить инфраструктуру сертификатов OPC UA для соединителя для OPC UA. Эта конфигурация позволяет определить, с какими серверами OPC UA вы доверяете безопасное создание сеанса.

На основе спецификации OPC UA соединитель для OPC UA выступает в качестве единого приложения OPC UA, когда он устанавливает безопасный обмен данными с серверами OPC UA. Соединитель для OPC UA использует один и тот же сертификат экземпляра приложения для всех безопасных каналов, которые он открывается на серверах OPC UA.

Соединитель для OPC UA должен доверять серверам OPC UA, к которым он подключается. Соединитель поддерживает список доверенных сертификатов. Дополнительные сведения см. на следующих ресурсах:

Предпосылки

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

Настройка самозаверяющего сертификата экземпляра приложения для соединителя для OPC UA

Развертывание соединителя по умолчанию для OPC UA устанавливает все ресурсы, необходимые cert-manager для создания самозаверяющего сертификата OPC UA. Этот сертификат хранится в секрете aio-opc-opcuabroker-default-application-cert . Этот секрет сопоставляется со всеми соединителями для модулей pod OPC UA и выступает в качестве сертификата экземпляра клиентского приложения OPC UA. cert-manager обрабатывает автоматическое продление сертификата экземпляра приложения.

Эта конфигурация обычно достаточно для обеспечения соответствия требованиям и безопасного взаимодействия между серверами OPC UA и соединителем для OPC UA в демонстрационной или исследовательской среде. Для рабочей среды используйте сертификаты экземпляра приложения корпоративного уровня в вашем развертывании.

Настройка списка доверенных сертификатов

Чтобы подключиться к серверу OPC UA, сначала необходимо установить взаимное доверие проверки подлинности приложения. Чтобы настроить список доверенных сертификатов серверов, к которым подключится соединитель OPC UA:

Чтобы использовать веб-интерфейс операций для управления списком доверенных сертификатов, выполните следующие действия.

  1. Получите сертификат экземпляра сервера OPC UA в виде файла. Эти файлы обычно имеют расширение .der или .crt. Этот файл содержит только открытый ключ.

    Подсказка

    Как правило, сервер OPC UA имеет интерфейс, который позволяет экспортировать сертификат экземпляра приложения. Этот интерфейс не стандартизирован. Для серверов, таких как KEPServerEx, существует пользовательский интерфейс конфигурации на основе Windows для управления сертификатами. Другие серверы могут иметь веб-интерфейс или использовать папки операционной системы для хранения сертификатов. Чтобы узнать, как экспортировать сертификат экземпляра приложения, ознакомьтесь с руководством пользователя сервера. После получения сертификата убедитесь, что он закодирован как DER, так и PEM. Эти сертификаты обычно хранятся в файлах с расширением .der или .crt. Если сертификат не входит в один из этих форматов файлов, используйте средство, например openssl , чтобы преобразовать сертификат в требуемый формат.

  2. Вы можете добавить сертификат непосредственно в Azure Key Vault в качестве секрета и импортировать из него или передать сертификат в список доверенных сертификатов с помощью интерфейса операций.

    Замечание

    Соединитель для OPC UA использует собственный секрет Kubernetes с именем aio-opc-ua-broker-trust-list для хранения списка доверенных сертификатов. Этот секрет создается при развертывании операций Интернета вещей Azure.

  3. Перейдите на страницу "Устройства" в веб-интерфейсе пользователя операционной среды.

  4. Чтобы просмотреть список доверенных сертификатов, выберите "Управление сертификатами и секретами" , а затем " Сертификаты:

    Снимок экрана операционного интерфейса, показывающего страницу загрузки сертификата для списка доверенных сертификатов.

  5. Вы можете отправить файл сертификата с локального компьютера или добавить его, который вы ранее добавили в качестве секрета в Azure Key Vault:

    Снимок экрана: опыт работы с успешно отправленным сертификатом.

  6. Выберите Применить, чтобы сохранить изменения. Теперь сертификат добавляется в список доверенных сертификатов. Если вы отправляете сертификат, он автоматически добавляется в Azure Key Vault в качестве секрета.

Если сервер OPC UA использует сертификат, выданный центром сертификации (ЦС), вы можете доверять ЦС, добавив его сертификат открытого ключа в список доверенных сертификатов. Соединитель для OPC UA теперь автоматически доверяет всем серверам, используюющим действительный сертификат, выданный ЦС. Поэтому не нужно явно добавлять сертификат сервера OPC UA в соединитель для списка доверенных сертификатов OPC UA. В настоящее время вы не можете использовать опыт работы с операциями для добавления списка отзыва сертификатов в список доверенных сертификатов.

Подсказка

Чтобы добавить новый сертификат в опыт работы с операциями, необходимо, чтобы вам была назначена роль офицера секретов Key Vault для Azure Key Vault.

Это важно

Если вы добавляете сертификат из Azure Key Vault, он должен храниться как секрет, а не как сертификат.

Настройка списка сертификатов издателя

Если сервер OPC UA использует сертификат, выданный ЦС, но вы не хотите доверять всем сертификатам, выданным ЦС, настройте список сертификатов издателя:

Прежде чем настроить список сертификатов издателя с промежуточными сертификатами, необходимо добавить сертификат ЦС в список доверенных сертификатов. Соединитель для OPC UA использует сертификат ЦС для проверки цепочки издателей сертификата сервера OPC UA.

Чтобы использовать веб-интерфейс интерфейса операций для управления списком сертификатов издателя, выполните следующие действия.

  1. Получите сертификат издателя, который использовался для подписи сертификатов экземпляра сервера в виде файла. Эти файлы обычно имеют расширение .der или .crt. Этот файл содержит только открытый ключ. У вас также может быть CRL-файл (список отзыва сертификатов) для сертификата издателя.

  2. Вы можете добавить сертификат издателя непосредственно в Azure Key Vault в качестве секрета и импортировать из него, или вы можете загрузить сертификат и список отзыва сертификатов (.crl-файл) в список сертификатов издателя, используя интерфейс операций.

    Замечание

    Соединитель для OPC UA использует собственный секрет Kubernetes с именем aio-opc-ua-broker-issuer-list для хранения списка сертификатов издателя. Этот секрет создается при развертывании операций Интернета вещей Azure.

  3. Перейдите на страницу "Устройства" в веб-интерфейсе операционной среды.

  4. Чтобы просмотреть список сертификатов издателя, выберите "Управление сертификатами и секретами " и " Сертификаты". Поле фильтра позволяет просматривать различные списки сертификатов:

    Скриншот операционного интерфейса, отображающий страницу загрузки сертификатов для списка сертификатов издателя.

  5. Вы можете отправить файл сертификата издателя с локального компьютера или добавить его, который вы ранее добавили в качестве секрета в Azure Key Vault:

    Снимок экрана операций, показывающий успешно загруженный сертификат издателя.

  6. Выберите Применить, чтобы сохранить изменения. Теперь сертификат добавляется в список сертификатов издателя. Если вы отправляете сертификат, он автоматически добавляется в Azure Key Vault в качестве секрета.

Вы также можете использовать интерфейс операций для добавления списка отзыва сертификатов (CRL-файл) в список доверенных сертификатов.

Подсказка

Чтобы добавить новый сертификат в опыт работы с операциями, необходимо, чтобы вам была назначена роль офицера секретов Key Vault для Azure Key Vault.

Это важно

Если вы добавляете сертификат из Azure Key Vault, он должен храниться как секрет, а не как сертификат.

Настройка сервера OPC UA

Чтобы завершить настройку взаимного доверия проверки подлинности приложения, необходимо настроить сервер OPC UA для доверия соединителю для сертификата экземпляра приложения OPC UA:

  1. Чтобы извлечь соединитель для сертификата OPC UA в opcuabroker.crt файл, выполните следующую команду:

    kubectl -n azure-iot-operations get secret aio-opc-opcuabroker-default-application-cert -o jsonpath='{.data.tls\.crt}' | base64 -d > opcuabroker.crt
    
    kubectl -n azure-iot-operations get secret aio-opc-opcuabroker-default-application-cert -o jsonpath='{.data.tls\.crt}' | %{ [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($_)) } > opcuabroker.crt
    
  2. Многие серверы OPC UA поддерживают только сертификаты в формате DER. При необходимости используйте следующую команду, чтобы преобразовать сертификат opcuabroker.crt в opcuabroker.der:

    openssl x509 -outform der -in opcuabroker.crt -out opcuabroker.der
    
  3. Ознакомьтесь с документацией сервера OPC UA, чтобы узнать, как добавить opcuabroker.crt файл сертификата или opcuabroker.der файл сертификата в список доверенных сертификатов сервера.

Настройка сертификата экземпляра приложения корпоративного уровня

В рабочих средах соединитель для OPC UA можно настроить для использования сертификата экземпляра приложения корпоративного уровня. Как правило, корпоративный ЦС выдает этот сертификат и требуется сертификат ЦС в конфигурации. Часто в конфигурацию необходимо добавить полную цепочку проверки ЦС.

Следующий пример ссылается на следующие элементы:

Товар Описание
opcuabroker-certificate.der Файл, содержащий открытый ключ сертификата экземпляра приложения корпоративного уровня.
opcuabroker-certificate.pem Файл, содержащий закрытый ключ сертификата экземпляра приложения корпоративного класса.
subjectName Строка имени субъекта, внедренная в сертификат экземпляра приложения.
applicationUri URI экземпляра приложения, внедренный в экземпляр приложения.
enterprise-grade-ca-1.der Файл, содержащий открытый ключ сертификата ЦС корпоративного уровня.
enterprise-grade-ca-1.crl CRL-файл ЦС.

Как и в предыдущих примерах, вы используете выделенный секрет Kubernetes для хранения сертификатов и crls. Чтобы настроить сертификат экземпляра приложения корпоративного уровня, выполните следующие действия.

  1. Сохраните сертификаты и список отзыва сертификатов в секрете сертификата aio-opc-ua-broker-client-certificate с помощью следующей команды:

    # Create aio-opc-ua-broker-client-certificate secret
    # Upload OPC UA public key certificate as an entry to the secret
    # Upload OPC UA private key certificate as an entry to the secret
    az iot ops connector opcua client add \
        --instance <your instance name> \
        -g <your resource group> \
        --public-key-file "./opcuabroker-certificate.der" \
        --private-key-file "./opcuabroker-certificate.pem" \
        --subject-name <subject name from the public key cert> \
        --application-uri <application uri from the public key cert>
    
  2. Если вы используете ЦС для выдачи сертификатов для брокера OPC UA, настройте секрет aio-opc-ua-broker-issuer-list . Используйте клиент Kubernetes, например для kubectl настройки секретов enterprise-grade-ca-1.der и enterprise-grade-ca-1.crl:

    # Append CA certificate to the issuer list secret as a new entry
    az iot ops connector opcua issuer add --instance <your instance name> --resource-group <your resource group> --certificate-file "./enterprise-grade-ca-1.der"
    
    # Append the CRL to the issuer list secret as a new entry
    az iot ops connector opcua issuer add --instance <your instance name> --resource-group <your resource group> --certificate-file "./enterprise-grade-ca-1.crl"
    

Теперь, когда соединитель для OPC UA использует корпоративный сертификат, не забудьте добавить открытый ключ нового сертификата в списки доверенных сертификатов всех серверов OPC UA, к которым он должен подключиться.