Influxdb 为什么任何用户都可以登录XDB?

Influxdb 为什么任何用户都可以登录XDB?,influxdb,Influxdb,我已经安装了XDB。但是在服务器中,当用户输入inlux时,每个用户都可以登录 为什么会这样?这不是一个安全问题吗。我该怎么解决呢 我想使用spesific管理员用户及其管理员密码登录。为什么 多年来,不同的数据库使用的推理略有不同,但基本上是这样的: 在其最简单的安装中,应该只是运行-用于集成测试、简单评估等目的。我们可以生成root/admin/superoncho用户密码,但通常不会更改,这是一件坏事™. 由于没有人理智地在生产中运行数据库而不启用身份验证和授权,因此在默认安装中提供轻松访

我已经安装了XDB。但是在服务器中,当用户输入inlux时,每个用户都可以登录

为什么会这样?这不是一个安全问题吗。我该怎么解决呢

我想使用spesific管理员用户及其管理员密码登录。

为什么 多年来,不同的数据库使用的推理略有不同,但基本上是这样的:

在其最简单的安装中,
应该只是运行-用于集成测试、简单评估等目的。我们可以生成root/admin/superoncho用户密码,但通常不会更改,这是一件坏事™.

由于没有人理智地在生产中运行数据库而不启用身份验证和授权,因此在默认安装中提供轻松访问也不是问题,是吗

我倾向于同意这种推理,尽管我不认为DBMS在默认情况下禁用了身份验证和授权,它也应该在默认情况下绑定到
localhost
。你让你的数据库管理系统对外开放,而这仅仅是你公司的网络吗?你肯定已经考虑到了其中的含义

“如何” 认证 我将使用docker来说明这一点,很明显,在非docker环境中,您必须做什么

首先,我们提取XDB docker映像并一次性创建默认配置文件:

$ docker run --rm influxdb influxd config > influxdb.conf
Unable to find image 'influxdb:latest' locally
latest: Pulling from library/influxdb
...
Digest: sha256:0aa7fea5336b5e5cc1c80e16062865821ec772e06519c138947ef5ebd9b34907
Status: Downloaded newer image for influxdb:latest
Merging with configuration at: /etc/influxdb/influxdb.conf
现在,我们将
influxdb.conf
[http]
部分中的身份验证参数更改为true:

...
[http]
  auth-enabled = true
...
接下来,我们使用这个修改过的配置文件启动我们的XDB:

$ docker run -d --name influxdb -p 8086:8086 \
      -v $PWD/influxdb.conf:/etc/influxdb/influxdb.conf:ro \
      influxdb -config /etc/influxdb/influxdb.conf
1987f962c331d2404a2564bb752d971553b13181dbbbb1e38cf50d345b3191c4
(您得到的哈希和将不同。)

现在,我们连接到XDB并创建管理员用户

$ docker exec -it influxdb influx
Connected to http://localhost:8086 version 1.7.8
InfluxDB shell version: 1.7.8
> create user admin with password 'secret' with all privileges;
从现在开始,几乎所有事情都需要凭证

进一步阅读(!!!) 忽略,风险自负<斯特朗>你。有。曾经警告。


伟大文章的可能副本!容易复制。
> show users
ERR: unable to parse authentication credentials
Warning: It is possible this error is due to not setting a database.
Please set a database with the command "use <database>".
> auth
username: admin
password: 
> show users
user  admin
----  -----
admin true
> create user berkancetin with password 'supersecret';
> create database foobar
> grant read on foobar to berkancetin
> show users
user        admin
----        -----
admin       true
berkancetin false
> show grants for "berkancetin"
database privilege
-------- ---------
foobar   READ