存储秘密
configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件是一个纯文本文件,因此任何可以访问该文件的人都可以读取。该文件包含密码和 API 令牌,如果您想分享您的配置,则需要将这些信息替换掉。
通过使用 !secret
,您可以从配置文件中移除任何私人信息。这种分离也可以帮助您更容易地跟踪您的密码和 API 密钥,因为它们都存储在一个地方,而不再分散在 configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件或多个 YAMLYAML 是一种人类可读的数据序列化语言。它用于以结构化格式存储和传输数据。在 Home Assistant 中,YAML 用于配置,例如在 configuration.yaml
或 automations.yaml
文件中。 [Learn more] 文件中(如果您拆分了配置)。
使用 secrets.yaml
将私人信息移动到 secrets.yaml
的工作流程与拆分配置非常相似。在您的 Home Assistant 配置目录中创建一个 secrets.yaml
文件。
configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件中密码和 API 密钥的条目通常如下所示。
rest:
- authentication: basic
username: "admin"
password: "YOUR_PASSWORD"
...
这些条目需要被 !secret
和一个标识符替换。
rest:
- authentication: basic
username: "admin"
password: !secret rest_password
...
secrets.yaml
文件包含分配给该标识符的相应密码。
rest_password: "YOUR_PASSWORD"
调试秘密
当您开始将配置拆分为多个文件时,您可能会在子文件夹中找到配置。秘密将按以下顺序解析:
- 与引用秘密的 YAMLYAML 是一种人类可读的数据序列化语言。它用于以结构化格式存储和传输数据。在 Home Assistant 中,YAML 用于配置,例如在
configuration.yaml
或automations.yaml
文件中。 [Learn more] 文件位于同一文件夹中的secrets.yaml
, - 然后,父文件夹将被搜索以找到带有秘密的
secrets.yaml
文件,搜索将在主configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 的文件夹停止。
要查看秘密从何处加载,您可以在 secrets.yaml
文件中添加一个选项,或使用 check_config
脚本。后者仅适用于 Home Assistant CoreHome Assistant Core 是 Home Assistant 本身的核心。它是一个 Python 程序,支持每种安装类型,但可以独立安装。 [Learn more] 安装,因为它可以通过 hass
获得。
选项 1:通过向 secrets.yaml
添加以下内容,将秘密从何处检索的信息打印到 Home Assistant 日志中:
logger: debug
这不会将实际秘密的值打印到日志中。
选项 2:对于 Home Assistant Core 安装,您还可以查看秘密从何处检索以及所有 secrets.yaml
文件的内容,使用命令行中的 check_config
脚本:
hass --script check_config --secrets
这将打印您所有的秘密。