如何通过数据库用户验证QuestDb



我正在考虑将QuestDb用于一个小型业余项目,但我似乎无法理解QuestDb中如何处理身份验证。我偷看了一下企业页面,它看起来几乎像是只有企业才能使用身份验证。

文档显示了Influxdb Line Protocol的身份验证,但没有类似于mysql和它的数据库用户。

如何创建数据库用户并锁定QuestDb仅与具有正确权限的认证用户/用户一起使用?

对InfluxDB行协议进行身份验证仅作为该协议的特性请求添加,并确保写入QuestDB的客户端在被允许将记录发送到表之前经过身份验证。

对于通过Postgres线进行身份验证,有等效的基于主机的身份验证例如,在Node.js中,它看起来像:

const { Client } = require("pg")
const start = async () => {
const client = new Client({
database: "qdb",
host: "127.0.0.1",
password: "quest",
port: 8812,
user: "admin",
})
await client.connect()
console.log("Connected")
}
start()

目前只支持一个数据库和一个管理员用户,您应该记住,任何可以使用这些凭据连接到主机的人都具有数据库访问权限,并且可以对该主机上的表进行读写。

如果您想确保您的安装是锁定的,您应该至少更改服务器配置文件(server.conf)中指定的默认连接凭据,例如更改默认用户名和密码,并且只启用您正在读写的协议。

根据安装部署的位置,您可以采取超出QuestDB配置本身的步骤,并将传入/传出网络连接列入白名单(例如,在EC2上),以仅允许来自特定IP或VPC内的连接。

如果您确实需要多个数据库用户具有基于角色的访问权限,请随意打开一个特性请求问题。

编辑:值得注意的是,您还可以将HTTP服务器设置为只读模式,这在另一个stackoverflow问题

中讨论过。

相关内容

  • 没有找到相关文章

最新更新