使用内置数据库进行密码认证 您所在的位置:网站首页 怎么看salt 使用内置数据库进行密码认证

使用内置数据库进行密码认证

2024-07-10 07:44| 来源: 网络整理| 查看: 265

使用内置数据库进行密码认证 ​

EMQX 通过内置数据库为用户提供了一种低成本、开箱即用的密码认证方式。启用后,EMQX 会将内置的 Mnesia 数据库存储客户端身份凭据,并通过 REST API 与 Dashboard 进行数据管理,本节将向您介绍如何通过 Dashboard 或配置项进行相关配置。

前置准备:

熟悉 EMQX 认证基本概念

通过 Dashboard 配置 ​

您可以使用 Dashboard 来创建通过内置数据库进行密码认证。

在 EMQX Dashboard 页面,点击左侧导航栏的访问控制 -> 认证,在随即打开的认证页面,单击创建,依次选择认证方式为 Password-Based,数据源为 Built-in Database,进入配置参数页签:

账号类型:指定用于客户端身份 ID 认证的字段,可选值: username、 clientid(分别对应于 MQTT 客户端 CONNECT 报文中的 Username 和 Client Identifier 字段)。

密码加密方式:选择存储密码时使用的散列算法,如 plain、md5、sha、bcrypt、pbkdf2 等。

选择 plain、md5、sha、sha256 或 sha512 算法,需配置:

加盐方式:用于指定盐和密码的组合方式,除需将访问凭据从外部存储迁移到 EMQX 内置数据库中外,一般不需要更改此选项;可选值:suffix(在密码尾部加盐)、prefix(在密码头部加盐)、disable(不启用)。注意:如选择 plain,加盐方式应设为 disable。

选择 bcrypt 算法,需配置:

Salt Rounds:指定散列需要的计算次数(2^Salt Rounds),也称成本因子。默认值:10,可选值:5~10;数值越高,加密的安全性越高,因此建议采用较大的值,但相应的用户验证的耗时也会增加,您可根据业务需求进行配置。

选择 pkbdf2 算法,需配置:

伪随机函数:指定生成密钥使用的散列函数,如 sha256 等。迭代次数:指定散列次数,默认值:4096。密钥长度:指定希望得到的密钥长度。如不指定,密钥长度将由伪随机函数确定。

完成以上设置后,点击创建,EMQX 将按照设定通过内置数据库进行密码认证。

通过配置文件配置 ​

此外,您可以通过配置项完成相关配置。

示例配置:

hcl{ backend = "built_in_database" mechanism = "password_based" password_hash_algorithm { name = "sha256", salt_position = "suffix" } user_id_type = "username" }迁移到内置数据库 ​

如你希望将其他数据库中存储的认证凭据迁移到 EMQX 内置数据库,可通过 csv 或 json 文件将其批量导入。更多信息,可阅读导入用户。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有