Beispiel für die Konfiguration - SSA für Manager

  1. Erstellen Sie ein Projekt oder verwenden Sie ein bereits existierendes Projekt.
  2. Verwenden Sie die CA sowie die verfügbaren Zertifikate, die Sie erstellt haben.
  3. Verwenden Sie die Datei ca-chain.cert.pem aus dem Verzeichnis in dem diese gespeichert wurde:
Abbildung 1. ca-chain.cert.pem-Datei

Die ca-chain.cert.pem-Datei benötigen Sie nur für den Server. Die Datei dient zur Überprüfung von Zertifikaten.

  • Verwenden Sie auch die Zertifikate norole.cert.pem, para.cert.pem, revoked.cert.pem sowie rootuser.cert.pem sowie die crl.cert.pem-Datei aus dem Verzeichnis in dem diese gespeichert wurden:
Abbildung 2. norole.cert.pem, para.cert.pem, revoked.cert.pem sowie rootuser.cert.pem-Dateien
Abbildung 3. crl.cert.pem-Datei

  • Sie benötigen auch die Keys:

    norole.key.pem

    para.key.pem

    revoked.key.pem

    rootuser.key.pem

Anmerkung:

Schlüssel müssen nur auf dem Rechner existieren wo der Manager diese für die Authentifizierung verwendet. Auf dem Server wird nur die rootuser.key.pem benötigt, wenn der Server die Manager nur als Benutzer root startet. Die anderen Schlüssel werden nur auf den Clients, die eine Verbindung zum Server aufbauen, benötigt. Um die Clients zu authentifizieren, benötigt der Server nur die Chain-Datei.

Abbildung: norole.key.pem, para.key.pem, revoked.key.pem, rootuser.key.pem

  1. Setzen Sie die folgenden Config-Einträge:

[general]

accessControlPlugin = "AccessControlPlugin"

[webClient]

clientSideAuth = 0

httpsPort = "443"

httpPort = "0"

rootPanel = "vision/login.pnl"

mobileRootPanel = "vision/login.pnl"

[ui]

httpServer = "https://localhost:443"

ACHTUNG:

Wenn Sie die Serverseitige Authentifizierung für UI-Manager verwenden, muss der Config-Eintrag [general] accessControlPlugin = "AccessControlPluginUser" verwendet werden!

Die folgenden Server-Einstellungen:

[general]

ssaChainFile = "SSA_cert/ca-chain.cert.pem"

ssaCRL = "SSA_cert/crl.cert.pem"

Anmerkung:

In diesem Beispiel wird die Chain-Datei verwendet (siehe oberhalb). Wenn Sie Windows Cert Store-Zertifikate verwenden, benötigen Sie den config-Eintrag ssaChertCheck.

Die folgenden Einstellungen für alle Control-Manager:

[general]

ssaPrivateKey = "file:SSA_cert/rootuser.key.pem"

ssaCertificate = "file:SSA_cert/rootuser.cert.pem"

Die folgenden Einstellungen für den UI-Manager:

[httpServer]

uiArguments = "-p vision/login.pnl -centered -iconBar -menuBar -ssa"

Die folgenden Einstellungen für unterschiedliche Control-Manager:

[ctrl_3]

ssaPrivateKey = "file:SSA_cert/para.key.pem"

ssaCertificate = "file:SSA_cert/para.cert.pem"

[ctrl_4]

ssaPrivateKey = "file:SSA_cert/revoked.key.pem"

ssaCertificate = "file:SSA_cert/revoked.cert.pem"

[ctrl_5]

ssaPrivateKey = "file:SSA_cert/norole.key.pem"

ssaCertificate = "file:SSA_cert/norole.cert.pem"

[ctrl_6]

ssaPrivateKey = "file:SSA_cert/para.key.pem"

ssaCertificate = "file:SSA_cert/para.cert.pem"

Abbildung 4. Config-Datei mit Config-Einträgen
  1. Erstellen Sie im Script Editor 3 Scripte mit z.B. folgendem Code:
void main()
{
  DebugTN("ich bin script 1 und laufe");
}
  1. In der Konsole fügen Sie 5 CTRL-Manager und ein UI-Manager hinzu und setzen Sie die folgenden Manageroptionen:

CTRL -num 2 webclient_http.ctl

UI -m gedi -ssa

CTRL -num 3 script1.ctl -user para:

CTRL -num 4 script2.ctl -user para: //die Option funktioniert nicht, weil das falsche Zertifikat vorhanden ist, //kein Zertifikat für den Benutzer para, sondern für den Benutzer "revoked".

CTRL -num 5 script3.ctl -user para: //die Option funktioniert nicht, weil das falsche Zertifikat vorhanden ist, //kein Zertifikat für den Benutzer para, sondern für den Benutzer "norole".

CTRL -num 6 script1.ctl -user operator: //die Option funktioniert nicht, weil dies der falsche Benutzer ist - nicht der Benutzer para, sondern der Benutzer "operator".

Abbildung 5. Konsole mit gestarteten Managern

Wenn Sie das Script 1 starten, wird im Log Viewer folgendes ausgegeben:

WCCOActrl (3), 2017.12.04 15:36:41.746, SYS, INFO, 103, User names/passwords initialized

WCCOActrl3:2017.12.04 15:36:41.878["ich bin script 1 und laufe"]

WCCOActrl (3), 2017.12.04 15:36:43.879, SYS, INFO, 181, Closing connection to (SYS: 0 Data -num 0 CONN: 1)