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