Replace static user list with GLAuth LDAP authentication. Group membership (ReadOnly, ReadWrite, AlarmAck) maps to granular OPC UA permissions for write and alarm-ack operations. Anonymous can still browse and read but not write. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
76 lines
2.0 KiB
JSON
76 lines
2.0 KiB
JSON
{
|
|
"OpcUa": {
|
|
"BindAddress": "0.0.0.0",
|
|
"Port": 4840,
|
|
"EndpointPath": "/LmxOpcUa",
|
|
"ServerName": "LmxOpcUa",
|
|
"GalaxyName": "ZB",
|
|
"MaxSessions": 100,
|
|
"SessionTimeoutMinutes": 30,
|
|
"AlarmTrackingEnabled": false,
|
|
"ApplicationUri": null
|
|
},
|
|
"MxAccess": {
|
|
"ClientName": "LmxOpcUa",
|
|
"NodeName": null,
|
|
"GalaxyName": null,
|
|
"ReadTimeoutSeconds": 5,
|
|
"WriteTimeoutSeconds": 5,
|
|
"MaxConcurrentOperations": 10,
|
|
"MonitorIntervalSeconds": 5,
|
|
"AutoReconnect": true,
|
|
"ProbeTag": null,
|
|
"ProbeStaleThresholdSeconds": 60
|
|
},
|
|
"GalaxyRepository": {
|
|
"ConnectionString": "Server=localhost;Database=ZB;Integrated Security=true;",
|
|
"ChangeDetectionIntervalSeconds": 30,
|
|
"CommandTimeoutSeconds": 30,
|
|
"ExtendedAttributes": false
|
|
},
|
|
"Dashboard": {
|
|
"Enabled": true,
|
|
"Port": 8081,
|
|
"RefreshIntervalSeconds": 10
|
|
},
|
|
"Authentication": {
|
|
"AllowAnonymous": true,
|
|
"AnonymousCanWrite": false,
|
|
"Users": [],
|
|
"Ldap": {
|
|
"Enabled": false,
|
|
"Host": "localhost",
|
|
"Port": 3893,
|
|
"BaseDN": "dc=lmxopcua,dc=local",
|
|
"BindDnTemplate": "cn={username},dc=lmxopcua,dc=local",
|
|
"ServiceAccountDn": "cn=serviceaccount,dc=lmxopcua,dc=local",
|
|
"ServiceAccountPassword": "serviceaccount123",
|
|
"TimeoutSeconds": 5,
|
|
"ReadOnlyGroup": "ReadOnly",
|
|
"ReadWriteGroup": "ReadWrite",
|
|
"AlarmAckGroup": "AlarmAck"
|
|
}
|
|
},
|
|
"Security": {
|
|
"Profiles": ["None"],
|
|
"AutoAcceptClientCertificates": true,
|
|
"RejectSHA1Certificates": true,
|
|
"MinimumCertificateKeySize": 2048,
|
|
"PkiRootPath": null,
|
|
"CertificateSubject": null
|
|
},
|
|
"Redundancy": {
|
|
"Enabled": false,
|
|
"Mode": "Warm",
|
|
"Role": "Primary",
|
|
"ServerUris": [],
|
|
"ServiceLevelBase": 200
|
|
},
|
|
"Historian": {
|
|
"Enabled": false,
|
|
"ConnectionString": "Server=localhost;Database=Runtime;Integrated Security=true;",
|
|
"CommandTimeoutSeconds": 30,
|
|
"MaxValuesPerRead": 10000
|
|
}
|
|
}
|