你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于 OPC UA 连接器的 OPC UA 证书基础结构
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 连接器信任证书颁发机构时,它会自动信任具有由此证书颁发机构签名的有效应用程序实例证书的任何服务器。
要了解如何将受信任证书从 Azure 密钥保管库投影到 Kubernetes 群集,请参阅管理 Azure IoT 操作部署的机密。
处理受信任证书列表的 SecretProviderClass
自定义资源的默认名称为 aio-opc-ua-broker-trust-list。
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 全局发现服务 | 不支持 | ❌ |