Home Assistant Anleitung how to… Secrets.yaml nutzen

In jeder Home Assistant Konfiguration wird es YAML-Dateien geben, welche auch Zugangsdaten für Integrationen beinhalten. Das unschöne hieran ist leider, dass das Passwort im Klartext gespeichert wird.

Mit anderen Worten: Erhält jemand Zugriff auf deine YAML-Dateien 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) absolutes Problem von Home Assistant.

Home Assistant: How to... Kurzanleitungen und Nützliches für 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.

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.

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!

Dieser Beitrag ist Teil einer kleinen Beitrags-Serie rund um den hass.io Home Assistant.

Foto des Autors
Autor
Olli
Ca. Ende 30, seit Windows 3.1 Fan von Computern, Gadgets, Handys und allem, was sich irgendwie programmieren lässt. Ich mag es gerne individuell und möglichst einfach, probiere aber auch gerne neue Dinge sofort aus. :) Konnte ich dir helfen? Dann würde ich mich über ein Bier freuen ;) Bier-Spende

4 Gedanken zu „Home Assistant Anleitung how to… Secrets.yaml nutzen“

    • Die Datei secrets.yaml muss nicht manuell eingebunden werden! Es genügt diese im „Hauptordner“, also dort, wo auch die configuration.yaml liegt, abzuspeichern!

      Antworten
  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

    Antworten
    • 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

      Antworten

Schreibe einen Kommentar