Home Assistant mit Secrets sicherer machen

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:

Sie sehen gerade einen Platzhalterinhalt von YouTube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Mehr Informationen
Home Assistant mit Secrets ein wenig sicherer machen

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
( 711 Followers )
X

Follow Home Assistant

E-mail : *
* Ich stimme der Datenschutzerklärung zu!

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!

4 Gedanken zu „Home Assistant mit Secrets sicherer machen“

  1. 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

  2. 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!

Die Kommentare sind geschlossen.