Wie vermeide ich das Speichern von Passwörter etc. in meinen Scripten?

scripting
password
passwort

#1

Wenn man im Scripting andere Datenquellen (z.B. Dokumentenmanagementsysteme) abfragen möchte, dann werden hierfür teilweise spezielle (meist globale) Logins benötigt, die der User gar nicht kennt (oder kennen soll).

Natürlich kann man die verwendeten Daten einfach im Script setzen, allerdings sind sie dort dann auch für jeden direkt im Klartext einsehbar.

Die Klasse ML bietet daher ab Version 1.3 eine Funktion verschlüsselte Passwörter abzufragen.

Abfrage der Passwörter

Für jedes Passwort wird ein Name vergeben, so dass es gezielt mit diesem Namen abgefragt werden kann.

var pwd = ML.GetCryptoValue("Doku");

Setzen der Passwörter

Gesetzt werden die Passwörter im Repository Manager.

Speicherung

Die Passwörter werden zentral in der Datei “storage.json” im Ordner “Settings” des Repository gespeichert.

Beispielhafter Inhalt:
[{"Name":"Doku","Value":"bCuCc5A+yW9ckTkK1QmQ2A==","Description":"Dokumentenmanagement"}]

Anmerkungen zum Thema Sicherheit

  • Bei Passwörteren, bei den kein Hash zum Vergleich, sondern der tatsächliche Wert gespeichert wird, ist die Speicherung nie 100% sicher!

  • Sobald ein Anwender Designerrechte (oder Schreibrechte auf das Repository) hat kann er diese natürlich auslesen und auch ausgeben.

Das Ziel dieser Funktion ist daher nicht die absolute Sicherheit, sondern vorrangig das Vermeiden der Speichern der Passwörtern im Scriptcode. Als Nebeneffekt liegen diese Passwörter zentral im Repository und können so einfach gepflegt werden.