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

配置 OPC UA 用户身份验证选项供 Azure IoT OPC UA 代理预览版使用

重要

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

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

本文介绍如何配置 OPC UA 用户身份验证选项。 通过这些选项,可更好地控制 OPC UA 代理预览版如何在环境中使用 OPC UA 服务器进行身份验证。

若要了解详细信息,请参阅 OPC UA 应用程序 - 用户身份验证

先决条件

Azure IoT 操作预览版的已部署实例。 若要部署 Azure IoT 操作以进行演示和探索,请参阅快速入门:将 Azure IoT 操作部署到已启用 Arc 的 Kubernetes 群集

支持的功能

功能 支持
使用用户名和密码的 OPC UA 用户身份验证。
使用 X.509 用户证书的 OPC UA 用户身份验证。

配置用户名加密码身份验证

首先,为 Azure Key Vault 中的用户名和密码配置机密,并使用 SecretProviderClass 对象将它们投影到连接的群集中。

  1. 在 Azure Key Vault 中配置用户名和密码。 在以下示例中,在 Azure IoT 操作(预览版)门户中使用 usernamepassword 作为资产终结点配置的机密引用。

    将用户名和密码的占位符替换为用于连接到 OPC UA 服务器的凭据。

    要配置用户名和密码,请运行以下代码:

    # Create username Secret in Azure Key Vault
      az keyvault secret set \
        --name "username" \
        --vault-name "<your-azure-key-vault-name>" \
        --value "<your-opc-ua-server-username>" \
        --content-type "text/plain"
    
    # Create password Secret in Azure Key Vault
      az keyvault secret set \
        --name "password" \
        --vault-name "<your-azure-key-vault-name>" \
        --value "<your-opc-ua-server-username>" \
        --content-type "text/plain"
    
  2. 在群集中配置 aio-opc-ua-broker-user-authentication 自定义资源。 使用 Kubernetes 客户端(例如 kubectl)在群集中的 SecretProviderClass 对象数组中配置 usernamepassword 机密。

    以下示例显示了添加机密后的完整 SecretProviderClass 自定义资源:

    apiVersion: secrets-store.csi.x-k8s.io/v1
    kind: SecretProviderClass
    metadata:
      name: aio-opc-ua-broker-user-authentication
      namespace: azure-iot-operations
    spec:
      provider: azure
      parameters:
        usePodIdentity: 'false'
        keyvaultName: <azure-key-vault-name>
        tenantId: <azure-tenant-id>
        objects: |
          array:
            - |
              objectName: username
              objectType: secret
              objectVersion: ""
            - |
              objectName: password
              objectType: secret
              objectVersion: ""
    

    注意

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

在 Azure IoT 操作(预览版)门户中,配置资产终结点时,请选择“用户名和密码”选项。 输入存储用户名和密码值的引用的名称。 在此示例中,引用的名称为 usernamepassword