使您的源服务器能够信任网关 - Amazon IoT SiteWise
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使您的源服务器能够信任网关

如果选择 None (无) 以外的消息安全模式,则必须使源服务器能够信任该网关。网关生成您必须在源服务器上接受的证书。步骤因所使用的源服务器而异。请参阅每个服务器的文档。

过程可能与以下步骤相似。

使 OPC-UA 服务器能够信任网关
  1. 打开配置 OPC-UA 服务器的界面(例如,右键单击系统托盘中的 OPC-UA 图标)。

  2. 输入 OPC-UA 服务器管理员的用户名和密码。

  3. 在界面中找到 “可信客户端”,然后选择 “Amazon IoT SiteWise网关客户端”。

  4. 选择 Trust (信任)

导出 OPC-UA 客户端证书

某些 OPC-UA 服务器需要访问 OPC-UA 客户端证书文件才能信任网关。如果这适用于您的 OPC-UA 服务器,则可以使用以下过程从网关导出 OPC-UA 客户端证书。然后,可以在您的 OPC-UA 服务器上导入证书。

导出源的 OPC-UA 客户端证书文件
  1. 网关为每个源存储了一个 OPC-UA 客户端证书。每个源都由一个唯一 ID 标识。网关将源 ID 存储在位于 /sitewise-root/config/sitewise-COLLECTOR-config.json 中的配置文件中。您无法使用Amazon IoT SiteWise API 返回源 ID,因此您必须在此配置文件中找到它们。

    在网关上,运行以下命令之一来显示收集器配置文件的输出。将 sitewise-root 替换为您的 Amazon IoT SiteWise 配置的本地存储路径。默认的 sitewise-root/var/sitewise

    • 如果您安装了 jq,请运行以下命令来优质输出配置文件并突出显示语法。

      cat /sitewise-root/config/sitewise-COLLECTOR-config.json | jq .
    • 如果您安装了 Python,请运行以下命令来优质输出配置文件。

      cat /sitewise-root/config/sitewise-COLLECTOR-config.json | python -m json.tool
    • 如果您没有 JSON 输出工具,请运行以下命令来输出配置文件。

      cat /sitewise-root/config/sitewise-COLLECTOR-config.json
    例 : 网关的配置文件

    以下 JSON 示例演示了具有一个基本 OPC-UA 源的网关的配置文件。

    { "creationDate": 1588369971457, "dataVersion": null, "gatewayConfiguration": { "schemaVersion": "DefaultSchemaVersion", "sources": [ { "endpoint": { "certificateTrust": { "type": "TrustAny" }, "endpointUri": "opc.tcp://203.0.113.0:49320", "identityProvider": { "type": "Anonymous" }, "messageSecurityMode": "NONE", "nodeFilterRules": [], "securityPolicy": "NONE" }, "id": "a1b2c3d4-5678-90ab-cdef-1c1c1EXAMPLE", "measurementDataStreamPrefix": "", "name": "Wind Farm #1", "type": "OpcUaSource" } ], "syncStatus": "OUT_OF_SYNC", "version": 27 }, "id": { "accountId": "123456789012", "value": "a1b2c3d4-5678-90ab-cdef-1a1a1EXAMPLE" }, "lastUpdateDate": 1592004024251, "name": "ExampleCorpGateway", "platform": { "groupArn": "arn:aws:greengrass:us-west-2:123456789012:/greengrass/groups/a1b2c3d4-5678-90ab-cdef-1b1b1EXAMPLE", "type": "Greengrass" }, "sink": null, "state": "ACTIVE" }

    查找与 OPC-UA 服务器对应的源。源的 ID 位于 id 字段中。在上面的示例中,a1b2c3d4-5678-90ab-cdef-1c1c1 example 是名为的 OPC-UA 源的源 IDWind Farm #1

  2. 运行以下命令来更改为包含证书文件的目录。将 sitewise-root 替换为您的 Amazon IoT SiteWise 配置的本地存储路径,并将 source-id 替换为您在上一步中找到的源 ID。

    cd /sitewise-root/pusher/source-id/opcua-certificate-store
  3. 网关的针对此源的 OPC-UA 客户端证书位于 aws-iot-opcua-client.pfx 文件中。

    运行以下命令来将证书导出到名为 aws-iot-opcua-client-certificate.pem.pem 文件。

    keytool -exportcert -v -alias aws-iot-opcua-client -keystore aws-iot-opcua-client.pfx -storepass amazon -storetype PKCS12 -rfc > aws-iot-opcua-client-certificate.pem
  4. 将证书文件 aws-iot-opcua-client-certificate.pem 从网关传输到 OPC-UA 服务器。

    为此,您可以使用常用软件(如 scp 程序)来通过 SSH 协议传输文件。有关更多信息,请参阅维基百科上的安全副本

    注意

    如果您的网关在 Amazon Elastic Compute Cloud (Amazon EC2) 上运行并且您是首次连接到该网关,则必须配置连接的先决条件。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的连接到您的 Linux 实例

  5. 在 OPC-UA 服务器上导入证书文件 aws-iot-opcua-client-certificate.pem 以信任网关。步骤因所使用的源服务器而异。请参阅服务器的文档。