In jeder Home Assistant Konfiguration wird es YAML-Dateien geben, welche auch Zugangsdaten fรผr Integrationen beinhalten. Das unschรถne hieran ist leider, dass Passwรถrter im Klartext gespeichert werden. Mit anderen Worten: Erhรคlt jemand Zugriff auf deine YAML-Dateien oder deren Inhalte mit Passwรถrtern drin, hat diese Person auch Zugriff auf diese Dienste (da der notwendige Benutzer ja ebenfalls im Klartext aufgefรผhrt ist). Diese Tatsache ist definitiv nicht schรถn und auch ein (in meinen Augen) Problem von Home Assistant.
Es kommt leider immer wieder vor, dass Hilfe suchende Personen in Foren oder Kommentaren ihre Zugangsdaten unbedacht preisgeben, in der Hoffnung Hilfe zu erhalten. Es ist รผblich, dass in Foren Zeilen aus den YAML-Dateien kopiert werden, damit andere, erfahrene Nutzer Hilfestellung leisten kรถnnen.
Wer zu faul ist zum Lesen, kann sich hierzu auch mein Video anschauen:
Damit man nicht auch aus Versehen Zugangsdaten preisgibt, sollte man fรผr alle Zugangsdaten die Mรถglichkeit nutzen diese in die secrets.yaml auszulagern. Letztlich stehen in dieser Datei die Zugangsdaten natรผrlich auch im Klartext, jedoch eben in einer expliziten Datei, welche man eben nicht aus Versehen im Internet preisgibt. In der secrets.yaml definiert man Variablen, welche dann an andere Stelle in den YAML-Dateien genutzt werden kรถnnen.
Anstelle also eine Integration รผber YAML mit dem Passwort und Benutzer im Klartext zu haben, wird hier lediglich auf die in der secrets.yaml definierten Variablen verwiesen. Kopiert man nun den YAML-Code der Integration in ein Forum, kann man die Zugangsdaten nicht mehr preisgeben, da nun lediglich auf die Secrets-Variablen verwiesen wird.
Du magst Home Assistant? Dann abonniere kostenlos meine Beitrรคge mit Tipps, Tricks und Anleitungen rund um Home Assistant:
Follow Home Assistant
Garantiert kein Spam, keine Werbung und immer mit Abmelde-Link, solltest du es dir anders รผberlegen!
Hier ein konkretes Beispiel:
secret_latitude: 50.4711 secret_longtitude: 7.4711
Konfiguration mit Nutzung der secrets.yaml Variable:
homeassistant: name: F5c latitude: !secret secret_latitude longitude: !secret secret_longtitude
Sofern du diese secrets.yaml also noch nicht nutzt, solltest du dies umgehend nachholen!
Kleiner Exkurs: Nicht wenige Smarthome-Fans nutzen Git als Versionierungs-Tool fรผr die Home Assistant Konfiguration. In Git kann man Dateien explizit benennen, welche nicht in der Versionierung erscheinen sollen. Hier sollte die secrets.yaml entsprechend als Ausschluss gewรคhlt werden, damit die „geheimen“ Zugangsdaten nicht im Repository auftauchen und somit etas besser geschรผtzt sind!
Produktempfehlungen
Hallo Olli,
danke fรผr den Tipp. Wie macht man das z. B. in der recorder.yaml? In dieser befinden sich die Zugangsdaten fรผr die MariaDB:
db_url: mysql://homeassistant:passwort@core-mariadb/homeassistant?charset=utf8mb4
Die recorder.yaml wird wie gewohnt in die configuration.yaml eingebunden:
recorder: !include recorder.yaml
Servus
Peter
Hallo Peter,
du kannst die gesamte URL in der secrets.yaml speichern anstelle nur der Zugangsdaten. Und dieses Secret kannst du dann in der recorder.yaml nutzen
VG
Olli
Der Hinweis mit der secret.yaml ist ja sehr gut.
Aber ein Beispiel wie man das integriert wรคre ja noch viel hilfreicher gewesen.
Die Datei secrets.yaml muss nicht manuell eingebunden werden! Es genรผgt diese im „Hauptordner“, also dort, wo auch die configuration.yaml liegt, abzuspeichern!