你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 OPC UA 连接器的 OPC UA 证书基础结构

重要

Azure IoT 操作预览版(由 Azure Arc 启用)当前处于预览状态。 不应在生产环境中使用此预览版软件。

在正式发布版本推出后,你需要部署新的 Azure IoT 操作安装,无法升级预览版安装。

有关 beta 版本、预览版或尚未正式发布的版本的 Azure 功能所适用的法律条款,请参阅 Microsoft Azure 预览版的补充使用条款

OPC UA 连接器是一种 OPC UA 客户端应用程序,可用于安全地连接到 OPC UA 服务器。 在 OPC UA 中,安全性包括:

  • 应用程序身份验证
  • 消息签名
  • 数据加密
  • 用户身份验证和授权。

本文重点介绍应用程序身份验证,以及如何配置 OPC UA 连接器来安全地连接到边缘的 OPC UA 服务器。 在 OPC UA 中,每个应用程序实例都有一个 X.509 证书,用于与它通信的其他 OPC UA 应用程序建立信任。

若要了解 OPC UA 应用程序安全性,请参阅应用程序身份验证

OPC UA 连接器的应用程序实例证书

OPC UA 连接器是 OPC UA 客户端应用程序。 OPC UA 连接器对建立的所有会话使用单个 OPC UA 应用程序实例证书,以从 OPC UA 服务器收集遥测数据。 OPC UA 连接器的默认部署使用 cert-manager 来管理其应用程序实例证书:

  • 证书管理器生成自签名 OPC UA 兼容证书,并将其存储为 Kubernetes 本机机密。 此证书的默认名称为 aio-opc-opcuabroker-default-application-cert。
  • OPC UA 连接器映射此证书并将它用于所连接的所有 pod,以连接到 OPC UA 服务器。
  • 证书管理器会在证书过期之前自动续订证书。

默认情况下,OPC UA 连接器使用支持最高安全级别的终结点连接到 OPC UA 服务器。 因此,必须事先建立两个 OPC UA 应用程序之间的相互信任握手。 若要启用相互应用程序身份验证信任,需要:

  • 从 Kubernetes 机密存储库导出 OPC UA 连接器的应用程序实例证书的公钥,然后将其添加到 OPC UA 服务器的受信任证书列表。
  • 导出 OPC UA 服务器的应用程序实例的公钥,然后将其添加到 OPC UA 连接器的受信任证书列表。

现已实现 OPC UA 服务器和 OPC UA 连接器之间的相互信任验证。 现在可在操作体验 web UI 中为 OPC UA 服务器配置 AssetEndpointProfile 并开始使用它。

OPC UA 连接器的受信任证书列表

你需要维护一个受信任证书列表,其中包含 OPC UA 连接器信任的所有 OPC UA 服务器的证书。 若要使用 OPC UA 服务器创建会话,请执行以下操作:

  • OPC UA 连接器会发送其证书的公钥。
  • OPC UA 服务器根据其受信任的证书列表进行验证。
  • 在 OPC UA 连接器中发生 OPC UA 服务器证书的类似验证。

默认情况下,OPC UA 连接器将受信任的证书列表存储在 Azure Key Vault 中,并使用机密存储 CSI 驱动程序将受信任的证书投影到 OPC UA 连接器 Pod 中。 Azure Key Vault 存储以 DER 或 PEM 格式编码的证书。

当 OPC UA 连接器信任证书颁发机构时,它会自动信任具有由此证书颁发机构签名的有效应用程序实例证书的任何服务器。

若要将受信任的证书从 Azure Key Vault 投影到 Kubernetes 群集,必须配置 SecretProviderClass 自定义资源。 此自定义资源包含与受信任证书关联的所有机密引用的列表。 OPC UA 连接器使用自定义资源将受信任的证书映射到 OPC UA 连接器容器,并使它们可用于验证。 处理受信任证书列表的 SecretProviderClass 自定义资源的默认名称为 aio-opc-ua-broker-trust-list。

注意

将 Azure Key Vault 证书投影到群集所需的时间取决于配置的轮询间隔。

OPC UA 连接器颁发者证书列表

如果 OPC UA 服务器的应用程序实例证书由中间证书颁发机构签名,但你不希望自动信任证书颁发机构颁发的所有证书,那么你可以使用颁发者证书列表来管理信任关系。

颁发者证书列表会存储 OPC UA 连接器信任的证书颁发机构的证书。 如果 OPC UA 服务器的应用程序证书由中间证书颁发机构签名,则 OPC UA 连接器将验证证书颁发机构的完整链,直至根证书。 颁发者证书列表应包含链中所有证书颁发机构的证书,以确保 OPC UA 连接器可以验证 OPC UA 服务器。

以管理受信任的证书列表的方式管理颁发者证书列表。 处理颁发者证书列表的 SecretProviderClass 自定义资源的默认名称为 aio-opc-ua-broker-issuer-list。

支持的功能

下表显示了当前版本的 OPC UA 连接器中身份验证的功能支持级别:

功能 含义 符号
配置 OPC UA 自签名应用程序实例证书 支持
处理 OPC UA 受信任证书列表 支持
处理 OPC UA 颁发者证书列表 支持
配置 OPC UA 企业级应用程序实例证书 支持
处理 OPC UA 不受信任的证书 不支持
处理 OPC UA 全局发现服务 (GDS) 不支持