Konfiguration einer OPC-UA-Quelle (CLI) - AWS IoT SiteWise

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfiguration einer OPC-UA-Quelle (CLI)

Sie können OPC-UA-Datenquellen für ein SiteWise Edge-Gateway mithilfe der definieren. AWS CLI Erstellen Sie dazu eine JSON-Datei mit der OPC-UA-Fähigkeitskonfiguration und aktualisieren Sie mit dem update-gateway-capability-configurationBefehl die Edge-Gateway-Konfiguration. SiteWise Sie müssen alle OPC-UA-Quellen in einer einzigen Funktionskonfiguration definieren.

Diese Funktion hat den folgenden Namespace.

  • iotsitewise:opcuacollector:2

Erforderliche Syntax

{ "sources": [ { "name": "string", "endpoint": { "certificateTrust": { "type": "TrustAny" | "X509", "certificateBody": "string", "certificateChain": "string", }, "endpointUri": "string", "securityPolicy": "NONE" | "BASIC128_RSA15" | "BASIC256" | "BASIC256_SHA256" | "AES128_SHA256_RSAOAEP" | "AES256_SHA256_RSAPSS", "messageSecurityMode": "NONE" | "SIGN" | "SIGN_AND_ENCRYPT", "identityProvider": { "type": "Anonymous" | "Username", "usernameSecretArn": "string" }, "nodeFilterRules": [ { "action": "INCLUDE", "definition": { "type": "OpcUaRootPath", "rootPath": "string" } } ] }, "measurementDataStreamPrefix": "string" "destination": { "type": "StreamManager", "streamName": "string", "streamBufferSize": integer }, "propertyGroups": [ { "name": "string", "nodeFilterRuleDefinitions": [ { "type": "OpcUaRootPath", "rootPath": "string" } ], "deadband": { "type": "PERCENT" | "ABSOLUTE", "value": double, "eguMin": double, "eguMax": double, "timeoutMilliseconds": integer }, "scanMode": { "type": "EXCEPTION" | "POLL", "rate": integer }, "dataQuality": { "allowGoodQuality": true | false, "allowBadQuality": true | false, "allowUncertainQuality": true | false }, "subscription": { "dataChangeTrigger": "STATUS" | "STATUS_VALUE" | "STATUS_VALUE_TIMESTAMP", "queueSize": integer, "publishingIntervalMilliseconds": integer, "snapshotFrequencyMilliseconds": integer } } ] } ] }

Anforderungstext

Quellen

Eine Liste der OPC-UA-Quelldefinitionsstrukturen, die jeweils die folgenden Informationen enthalten:

Name

Ein eindeutiger und aussagekräftiger Name für die Quelle.

Endpunkt

Eine Endpunktstruktur, die die folgenden Informationen enthält:

CertificateTrust

Eine Zertifikatvertrauensrichtlinienstruktur, die die folgenden Informationen enthält:

Typ

Der Zertifikatvertrauensmodus für die Quelle. Wählen Sie eine der folgenden Optionen aus:

  • TrustAny— Das SiteWise Edge-Gateway vertraut jedem Zertifikat, wenn es eine Verbindung zur OPC-UA-Quelle herstellt.

  • X509— Das SiteWise Edge-Gateway vertraut einem X.509-Zertifikat, wenn es eine Verbindung zur OPC-UA-Quelle herstellt. Wenn Sie diese Option wählen, müssen Sie certificateBody in certificateTrust definieren. Sie können auch certificateChain in certificateTrust definieren.

Stelle des Zertifikats

(Optional) Der Hauptteil eines X.509-Zertifikats.

Dieses Feld ist erforderlich, wenn Sie X509 für type in certificateTrust auswählen.

certificateChain

(Optional) Die Vertrauenskette für ein X.509-Zertifikat.

Dieses Feld wird nur verwendet, wenn Sie X509 für type in certificateTrust auswählen.

Endpunkt-URI

Der lokale Endpunkt der OPC-UA-Quelle. Der lokale Endpunkt könnte z. B. wie opc.tcp://203.0.113.0:49320 aussehen.

Sicherheitsrichtlinie

Die Sicherheitsrichtlinie, die verwendet werden soll, damit Sie Nachrichten schützen können, die aus der OPC-UA-Quelle gelesen werden. Wählen Sie eine der folgenden Optionen aus:

  • NONE— Das SiteWise Edge-Gateway schützt keine Nachrichten von der OPC-UA-Quelle. Wir empfehlen Ihnen, eine andere Sicherheitsrichtlinie zu wählen. Wenn Sie diese Option wählen, müssen Sie auch NONE für messageSecurityMode auswählen.

  • BASIC256_SHA256— Die Basic256Sha256 Sicherheitsrichtlinie.

  • AES128_SHA256_RSAOAEP— Die Aes128_Sha256_RsaOaep Sicherheitspolitik.

  • AES256_SHA256_RSAPSS— Die Aes256_Sha256_RsaPss Sicherheitspolitik.

  • BASIC128_RSA15— (Veraltet) Die Basic128Rsa15 Sicherheitsrichtlinie ist in der OPC-UA-Spezifikation veraltet, da sie nicht mehr als sicher gilt. Wir empfehlen Ihnen, eine andere Sicherheitsrichtlinie zu wählen. Weitere Informationen finden Sie unter Basic128Rsa15.

  • BASIC256— (Veraltet) Die Basic256 Sicherheitsrichtlinie ist in der OPC-UA-Spezifikation veraltet, da sie nicht mehr als sicher gilt. Wir empfehlen Ihnen, eine andere Sicherheitsrichtlinie zu wählen. Weitere Informationen finden Sie unter Basic256.

Wichtig

Wenn Sie eine andere Sicherheitsrichtlinie als wählenNONE, müssen Sie SIGN oder SIGN_AND_ENCRYPT für wählen. messageSecurityMode Sie müssen Ihren Quellserver auch so konfigurieren, dass er dem SiteWise Edge-Gateway vertraut. Weitere Informationen finden Sie unter Ermöglicht es Ihren OPC-UA-Quellservern, dem SiteWise Edge-Gateway zu vertrauen.

Nachricht SecurityMode

Der Nachrichtensicherheitsmodus, der zum Sichern von Verbindungen zur OPC-UA-Quelle verwendet wird. Wählen Sie eine der folgenden Optionen aus:

  • NONE— Das SiteWise Edge-Gateway sichert keine Verbindungen zur OPC-UA-Quelle. Wir empfehlen, dass Sie einen anderen Nachrichtensicherheitsmodus wählen. Wenn Sie diese Option wählen, müssen Sie auch NONE für securityPolicy auswählen.

  • SIGN— Daten, die zwischen dem SiteWise Edge-Gateway und der OPC-UA-Quelle übertragen werden, sind signiert, aber nicht verschlüsselt.

  • SIGN_AND_ENCRYPT— Daten, die zwischen dem Gateway und der OPC-UA-Quelle übertragen werden, sind signiert und verschlüsselt.

Wichtig

Wenn Sie einen anderen Nachrichtensicherheitsmodus als wählenNONE, müssen Sie einen securityPolicy anderen als wählen. NONE Sie müssen Ihren Quellserver auch so konfigurieren, dass er dem SiteWise Edge-Gateway vertraut. Weitere Informationen finden Sie unter Ermöglicht es Ihren OPC-UA-Quellservern, dem SiteWise Edge-Gateway zu vertrauen.

Identitätsanbieter

Eine Identitätsanbieterstruktur, die die folgenden Informationen enthält:

Typ

Der Typ der Authentifizierungsanmeldeinformationen, die von der Quelle erfordert werden. Wählen Sie eine der folgenden Optionen aus:

  • Anonymous— Die Quelle benötigt keine Authentifizierung, um eine Verbindung herzustellen.

  • Username— Die Quelle benötigt einen Benutzernamen und ein Passwort, um eine Verbindung herzustellen. Wenn Sie diese Option wählen, müssen Sie usernameSecretArn in identityProvider definieren.

Nutzername SecretArn

(Optional) Der ARN eines AWS Secrets Manager Geheimnisses. Das SiteWise Edge-Gateway verwendet die Authentifizierungsanmeldeinformationen in diesem geheimen Schlüssel, wenn es eine Verbindung zu dieser Quelle herstellt. Sie müssen Geheimnisse an den SiteWise IoT-Connector Ihres SiteWise Edge-Gateways anhängen, um sie für die Quellauthentifizierung zu verwenden. Weitere Informationen finden Sie unter Konfiguration der Datenquellenauthentifizierung.

Dieses Feld ist erforderlich, wenn Sie Username für type in identityProvider auswählen.

Knoten FilterRules

Eine Liste von Regelstrukturen für Knotenfilter, die die OPC-UA-Datenstream-Pfade definieren, die an die AWS Cloud gesendet werden sollen. Sie können Knotenfilter verwenden, um die Startzeit und die CPU-Auslastung Ihres SiteWise Edge-Gateways zu reduzieren, indem Sie nur Pfade zu Daten einbeziehen, die Sie modellieren. AWS IoT SiteWise Standardmäßig laden SiteWise Edge-Gateways alle OPC-UA-Pfade hoch, außer denen, die mit beginnen. /Server/ Um OPC-UA-Knotenfilter zu definieren, können Sie Knotenpfade und die Platzhalterzeichen * und ** verwenden. Weitere Informationen finden Sie unter Verwenden von OPC-UA-Knotenfiltern.

Jede Struktur in der Liste muss folgende Informationen enthalten:

Aktion

Die Aktion für diese Knotenfilterregel. Sie können die folgenden Optionen auswählen:

  • INCLUDE— Das SiteWise Edge-Gateway enthält nur Datenströme, die dieser Regel entsprechen.

Definition

Eine Knotenfilterregelstruktur, die die folgenden Informationen enthält:

Typ

Der Typ des Knotenfilterpfads für diese Regel. Sie können die folgenden Optionen auswählen:

  • OpcUaRootPath— Das SiteWise Edge-Gateway bewertet diesen Knotenfilterpfad anhand des Stammverzeichnisses der OPC-UA-Pfadhierarchie.

RootPath

Der Knotenfilterpfad, der anhand des Stammes der OPC-UA-Pfadhierarchie ausgewertet werden soll. Dieser Pfad muss beginnen mit. /

DataStreamPräfix für die Messung

Eine Zeichenfolge, die allen Datenströmen aus der Quelle vorangestellt wird. Das SiteWise Edge-Gateway fügt dieses Präfix allen Datenströmen aus dieser Quelle hinzu. Verwenden Sie ein Datenstrom-Präfix, um zwischen Datenströmen mit demselben Namen aus verschiedenen Quellen zu unterscheiden. Jeder Datenstrom sollte einen eindeutigen Namen in Ihrem Konto haben.

Eigenschaftengruppen

(Optional) Die Liste der Eigenschaftsgruppen, die das Protokoll definieren deadband und vom Protokoll scanMode angefordert werden.

Name

Der Name der Eigenschaftsgruppe. Dies sollte ein eindeutiger Bezeichner sein.

Deadband

Die deadband Struktur, die die folgenden Informationen enthält:

Typ

Die unterstützten Typen von Deadband. Zulässige Werte sind ABSOLUTE undPERCENT.

Wert

Der Wert des Totbandes. Wenn type jaABSOLUTE, ist dieser Wert ein Double ohne Einheit. Wenn type jaPERCENT, ist dieser Wert ein Doppelter zwischen 1 und100.

eGumin

(Optional) Die minimale technische Einheit bei Verwendung eines PERCENT Deadbands. Sie legen dies fest, wenn auf dem OPC-UA-Server keine technischen Einheiten konfiguriert sind.

EGUmax

(Optional) Die maximale technische Einheit bei Verwendung eines PERCENT Deadbands. Sie legen dies fest, wenn auf dem OPC-UA-Server keine technischen Einheiten konfiguriert sind.

Timeout (Millisekunden)

Die Dauer in Millisekunden vor dem Timeout. Das Minimum ist. 100

Scan-Modus

Die scanMode Struktur, die die folgenden Informationen enthält:

Typ

Die unterstützten Typen vonscanMode. Zulässige Werte sind POLL undEXCEPTION.

bewerten

Das Abtastintervall für den Scanmodus.

FilterRuleKnoten-Definitionen

(Optional) Eine Liste von Knotenpfaden, die in die Eigenschaftsgruppe aufgenommen werden sollen. Eigenschaftsgruppen dürfen sich nicht überschneiden. Wenn Sie keinen Wert für dieses Feld angeben, enthält die Gruppe alle Pfade unter dem Stamm, und Sie können keine zusätzlichen Eigenschaftsgruppen erstellen. Die nodeFilterRuleDefinitions-Struktur enthält folgende Informationen:

Typ

OpcUaRootPathist der einzige unterstützte Typ. Dies gibt an, dass der Wert von rootPath ein Pfad relativ zum Stammverzeichnis des OPC-UA-Browsingbereichs ist.

rootPath

Eine durch Kommas getrennte Liste, die die Pfade (relativ zum Stamm) angibt, die in die Eigenschaftsgruppe aufgenommen werden sollen.

Beispiele für die Konfiguration von Funktionen

Das folgende Beispiel definiert eine OPC-UA SiteWise Edge-Gateway-Funktionskonfiguration anhand einer Payload, die in einer JSON-Datei gespeichert ist.

aws iotsitewise update-gateway-capability-configuration \ --capability-namespace "iotsitewise:opcuacollector:2" \ --capability-configuration file://opc-ua-configuration.json
Beispiel : OPC-UA-Quellkonfiguration

Die folgende opc-ua-configuration.json Datei definiert eine grundlegende, unsichere OPC-UA-Quellkonfiguration.

{ "sources": [ { "name": "Wind Farm #1", "endpoint": { "certificateTrust": { "type": "TrustAny" }, "endpointUri": "opc.tcp://203.0.113.0:49320", "securityPolicy": "NONE", "messageSecurityMode": "NONE", "identityProvider": { "type": "Anonymous" }, "nodeFilterRules": [] }, "measurementDataStreamPrefix": "" } ] }
Beispiel : OPC-UA-Quellkonfiguration mit definierten Eigenschaftsgruppen

Die folgende opc-ua-configuration.json Datei definiert eine grundlegende, unsichere OPC-UA-Quellkonfiguration mit definierten Eigenschaftsgruppen.

{ "sources": [ { "name": "source1", "endpoint": { "certificateTrust": { "type": "TrustAny" }, "endpointUri": "opc.tcp://10.0.0.9:49320", "securityPolicy": "NONE", "messageSecurityMode": "NONE", "identityProvider": { "type": "Anonymous" }, "nodeFilterRules": [ { "action": "INCLUDE", "definition": { "type": "OpcUaRootPath", "rootPath": "/Utilities/Tank" } } ] }, "measurementDataStreamPrefix": "propertyGroups", "propertyGroups": [ { "name": "Deadband_Abs_5", "nodeFilterRuleDefinitions": [ { "type": "OpcUaRootPath", "rootPath": "/Utilities/Tank/Temperature/TT-001" }, { "type": "OpcUaRootPath", "rootPath": "/Utilities/Tank/Temperature/TT-002" } ], "deadband": { "type":"ABSOLUTE", "value": 5.0, "timeoutMilliseconds": 120000 } }, { "name": "Polling_10s", "nodeFilterRuleDefinitions": [ { "type": "OpcUaRootPath", "rootPath": "/Utilities/Tank/Pressure/PT-001" } ], "scanMode": { "type": "POLL", "rate": 10000 } }, { "name": "Percent_Deadband_Timeout_90s", "nodeFilterRuleDefinitions": [ { "type": "OpcUaRootPath", "rootPath": "/Utilities/Tank/Flow/FT-*" } ], "deadband": { "type":"PERCENT", "value": 5.0, "eguMin": -100, "eguMax": 100, "timeoutMilliseconds": 90000 } } ] } ] }
Beispiel : OPC-UA-Quellkonfiguration mit Eigenschaften

Das folgende JSON-Beispiel für opc-ua-configuration.json definiert eine OPC-UA-Quellkonfiguration mit den folgenden Eigenschaften:

  • Vertraut jedem Zertifikat.

  • Verwendet die BASIC256 Sicherheitsrichtlinie, um Nachrichten zu sichern.

  • Verwendet den SIGN_AND_ENCRYPT-Modus zum Sichern von Verbindungen.

  • Verwendet Authentifizierungsdaten, die in einem Secrets Manager Manager-Secret gespeichert sind.

  • Filtert Datenströme außer denjenigen heraus, deren Pfad mit /WindFarm/2/WindTurbine/ beginnt.

  • Fügt /Washington am Anfang jedes Datenstrompfades hinzu, um zwischen diesem „Windpark #2" und einem „Windpark #2" in einem anderen Bereich zu unterscheiden.

{ "sources": [ { "name": "Wind Farm #2", "endpoint": { "certificateTrust": { "type": "TrustAny" }, "endpointUri": "opc.tcp://203.0.113.1:49320", "securityPolicy": "BASIC256", "messageSecurityMode": "SIGN_AND_ENCRYPT", "identityProvider": { "type": "Username", "usernameSecretArn": "arn:aws:secretsmanager:region:123456789012:secret:greengrass-windfarm2-auth-1ABCDE" }, "nodeFilterRules": [ { "action": "INCLUDE", "definition": { "type": "OpcUaRootPath", "rootPath": "/WindFarm/2/WindTurbine/" } } ] }, "measurementDataStreamPrefix": "/Washington" } ] }
Beispiel : OPC-UA-Quellkonfiguration mit Zertifikatsvertrauen

Das folgende JSON-Beispiel für opc-ua-configuration.json definiert eine OPC-UA-Quellkonfiguration mit den folgenden Eigenschaften:

  • Vertraut einem bestimmten X.509-Zertifikat.

  • Verwendet die BASIC256 Sicherheitsrichtlinie, um Nachrichten zu sichern.

  • Verwendet den SIGN_AND_ENCRYPT-Modus zum Sichern von Verbindungen.

{ "sources": [ { "name": "Wind Farm #3", "endpoint": { "certificateTrust": { "type": "X509", "certificateBody": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5 jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw 3rrszlaEXAMPLE= -----END CERTIFICATE-----", "certificateChain": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5 jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw 3rrszlaEXAMPLE= -----END CERTIFICATE-----" }, "endpointUri": "opc.tcp://203.0.113.2:49320", "securityPolicy": "BASIC256", "messageSecurityMode": "SIGN_AND_ENCRYPT", "identityProvider": { "type": "Anonymous" }, "nodeFilterRules": [] }, "measurementDataStreamPrefix": "" } ] }