本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

基于文件的

概述

如果无法使用外部身份验证提供程序,可以使用基于文件的身份验证。这将要求每个 SUSE Observability 用户在配置文件中预先配置。对于配置文件中针对每个用户的每一项修改,SUSE Observability 会在借助 Helm 应用这些修改后自动重启。

SUSE Observability 包含多个默认角色,见下面的示例配置。每个默认角色分配的权限以及如何创建其他角色的说明可以在 基于角色的访问控制 (RBAC) 文档 中找到。

设置基于文件的身份验证

Kubernetes

要在 Kubernetes 上配置基于文件的身份验证,需要将 SUSE Observability 用户添加到 authentication.yaml 文件中。例如:

  • authentication.yaml

stackstate:
  authentication:
    file:
      logins:
        - username: admin
          passwordHash: 5f4dcc3b5aa765d61d8327deb882cf99
          roles: [ stackstate-admin ]
        - username: guest
          passwordHash: 5f4dcc3b5aa765d61d8327deb882cf99
          roles: [ stackstate-guest ]
        - username: poweruser
          passwordHash: 5f4dcc3b5aa765d61d8327deb882cf99
          roles: [ stackstate-power-user ]
        - username: troubleshooter
          passwordHash: 5f4dcc3b5aa765d61d8327deb882cf99
          roles: [ stackstate-k8s-troubleshooter ]

按照以下步骤配置用户并应用更改:

  1. authentication.yaml 中 - 添加用户。应为每个用户添加以下配置(见上面的示例):

    • 用户名 - 用于登录 SUSE Observability 的用户名。仅允许字母数字和 _ 字符。

    • 密码哈希 - 用于登录 SUSE Observability 的密码。密码以 bcrypt 哈希形式存储。

    • 角色 - 用户所属于的角色列表。默认 SUSE Observability 角色stackstate-adminstackstate-power-userstackstate-guest,有关如何创建其他角色的详细信息,请参见 RBAC 角色

  2. 将文件 authentication.yaml 与 SUSE Observability 安装说明中的文件 values.yaml 一起存储。

  3. 运行 Helm 升级以应用更改:

     helm upgrade \
       --install \
       --namespace suse-observability \
       --values values.yaml \
       --values authentication.yaml \
     suse-observability \
     suse-observability/suse-observability

注意:

  • 可以使用以下命令行 htpasswd -bnBC 10 "" <password> | tr -d ':\n' 或使用在线工具生成 bcrypt 密码哈希。

  • 第一次运行 helm 升级命令将导致 pods 重启,这可能会导致短暂的可用性中断。

  • 在每次`helm upgrade`运行中包含`authentication.yaml`。

  • 身份验证配置存储为 Kubernetes 密钥。

按照以下步骤配置用户并应用更改:

  1. authentication.yaml 中 - 添加用户。应为每个用户添加以下配置(见上面的示例):

    • 用户名 - 用于登录 SUSE Observability 的用户名。仅允许字母数字和 _ 字符。

    • 密码 - 用于登录 SUSE Observability 的密码。密码可以存储为 MD5 哈希或 bcrypt 哈希。

    • 角色 - 用户所属于的角色列表。默认 SUSE Observability 角色stackstate-adminstackstate-power-userstackstate-k8s-troubleshooterstackstate-guest,有关如何创建其他角色的详细信息,请参见 RBAC 角色

  2. 重新启动 SUSE Observability 以应用更改。

注意:

  • 可以使用 md5summd5 命令行应用程序在 Linux 和 Mac 上生成 MD5 密码哈希。

  • 可以使用以下命令行 htpasswd -bnBC 10 "" <password> | tr -d ':\n' 或使用在线工具生成 bcrypt 密码哈希。

使用外部 Secret

当用户密码应来自外部秘密时,请遵循 这些步骤,但填写以下数据:

kind: Secret
metadata:
   name: "<custom-secret-name>"
type: Opaque
data:
  file_<username1>_password: <base64 of bcrypt of password>
  file_<username2>_password: <base64 of bcrypt of password>

在登录部分的每个用户中,应向秘密中添加一条记录,填写模板。例如:

stackstate:
  authentication:
    file:
      logins:
        - username: admin_user
          roles: [ stackstate-admin ]


kind: Secret
metadata:
   name: "<custom-secret-name>"
type: Opaque
data:
   file_admin_user_password: "base64EncryptedPass"