通过 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 configuration file (server.conf) 中指定的默认连接凭据,例如更改默认用户名和密码,并且只启用协议( s) 你正在阅读和写作。
根据安装部署的位置,您可以采取超越 QuestDB 配置本身的步骤并将传入/传出网络连接(例如在 EC2 上)列入白名单,以仅允许来自特定 IP 或 VPC 内的连接,例如.
如果您确实需要多个具有基于角色的访问权限的数据库用户,请随时open an issue with a feature request。
编辑:值得注意的是,您还可以将 HTTP 服务器设置为只读模式,即discussed in another stackoverflow question