在 Chronograf 中管理 InfluxDB 用户
Chronograf 管理员为 InfluxDB OSS 和 InfluxDB Enterprise 用户提供 InfluxDB 用户管理。
注意: 有关 Chronograf 用户身份验证和管理的详细信息,请参阅管理安全性。
禁用的管理功能
如果连接到 InfluxDB OSS v2.x 或 InfluxDB Cloud,则 Chronograf 中禁用所有 InfluxDB 管理功能。 使用 InfluxDB OSS v2.x 或 InfluxDB Cloud 用户界面、CLI 或 API 来完成管理任务。
本页内容
启用身份验证
按照以下步骤启用身份验证。 这些步骤对于 InfluxDB OSS 实例和 InfluxDB Enterprise 集群是相同的。
InfluxDB Enterprise 集群: 对集群中的每个数据节点重复前三个步骤。
步骤 1:启用身份验证。
在 InfluxDB 配置文件中启用身份验证。 对于大多数 Linux 安装,配置文件位于 /etc/influxdb/influxdb.conf
。
在 InfluxDB 配置文件 (influxdb.conf
) 的 [http]
部分中,取消注释 auth-enabled
选项并将其设置为 true
,如下所示
[http]
# Determines whether HTTP endpoint is enabled.
# enabled = true
# The bind address used by the HTTP service.
# bind-address = ":8086"
# Determines whether HTTP authentication is enabled.
auth-enabled = true #
步骤 2:重启 InfluxDB 服务。
重启 InfluxDB 服务以使您的配置更改生效
~# sudo systemctl restart influxdb
步骤 3:创建管理员用户。
由于启用了身份验证,您需要先创建一个管理员用户,然后才能在数据库中执行任何其他操作。 运行以下 curl
命令以创建管理员用户,替换
localhost
为您的 InfluxDB OSS 实例或您的 InfluxDB Enterprise 数据节点之一的 IP 或主机名chronothan
为您自己的用户名supersecret
为您自己的密码(请注意,密码需要单引号)
~# curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER chronothan WITH PASSWORD 'supersecret' WITH ALL PRIVILEGES"
成功的 CREATE USER
查询返回空白结果
{"results":[{"statement_id":0}]} <--- Success!
步骤 4:编辑 Chronograf 中的 InfluxDB 源。
如果您已经将您的数据库连接到 Chronograf,请使用您的新用户名和密码更新 Chronograf 中的连接配置。 通过导航到 Chronograf 配置页面并单击数据源的名称来编辑现有的 InfluxDB 数据库数据源。
InfluxDB OSS 用户管理
在 Chronograf 管理员页面上
- 查看、创建和删除管理员和非管理员用户
- 更改用户密码
- 向用户分配管理员权限或从中删除管理员权限
InfluxDB 用户可以是管理员用户或非管理员用户。 有关这些用户类型的更多信息,请参阅 InfluxDB 的身份验证和授权文档。
Chronograf 当前不支持向非管理员用户分配 InfluxDB 数据库 READ
或 WRITE
访问权限。
作为一种解决方法,使用以下 curl 命令向非管理员用户授予 READ
、WRITE
或 ALL
(READ
和 WRITE
) 权限,将 < >
内的任何内容替换为您自己的值
授予 READ
权限
curl --request POST "http://<InfluxDB-IP>:8086/query?u=<username>&p=<password>" \
--data-urlencode "q=GRANT READ ON <database-name> TO <non-admin-username>"
授予 WRITE
权限
curl --request POST "http://<InfluxDB-IP>:8086/query?u=<username>&p=<password>" \
--data-urlencode "q=GRANT WRITE ON <database-name> TO <non-admin-username>"
授予 ALL
权限
curl --request POST "http://<InfluxDB-IP>:8086/query?u=<username>&p=<password>" \
--data-urlencode "q=GRANT ALL ON <database-name> TO <non-admin-username>"
在所有情况下,成功的 GRANT
查询都返回空白结果
{"results":[{"statement_id":0}]} # <--- Success!
通过在上面的 curl 命令中将 GRANT
替换为 REVOKE
,从非管理员用户那里删除 READ
、WRITE
或 ALL
权限。
使用 UI 进行 InfluxDB Enterprise 用户管理
要创建、管理和删除用户,请单击左侧导航栏中的 管理员 。
要创建用户,请执行以下操作
- 选择 用户 选项卡。
- 单击 + 创建用户。
- 添加用户名。
- 添加密码。
- 单击 创建。
- 在
角色
部分中为用户分配角色。 要创建角色,请参阅 角色。 - 单击 应用更改。
要更改用户,只需单击用户名,进行任何更改,然后单击 应用更改。 要删除用户,请单击 删除用户。
用户类型
默认情况下,管理员用户具有以下权限
- CreateDatabase
- CreateUserAndRole
- DropData
- DropDatabase
- ManageContinuousQuery
- ManageQuery
- ManageShard
- ManageSubscription
- Monitor
- ReadData
- WriteData
非管理员用户默认没有任何权限。 向管理员和非管理员用户分配权限和角色。
权限
AddRemoveNode
从集群添加或删除节点的权限。
相关 influxd-ctl
参数:add-data
、add-meta
、join
、remove-data
、remove-meta
和 leave
Chronograf 中需要此权限的页面:NA
CopyShard
复制分片的权限。
相关 influxd-ctl
参数:copy-shard
Chronograf 中需要此权限的页面:NA
CreateDatabase
创建数据库、创建 保留策略、更改保留策略和查看保留策略的权限。
相关 InfluxQL 查询:CREATE DATABASE
、CREATE RETENTION POLICY
、ALTER RETENTION POLICY
和 SHOW RETENTION POLICIES
Chronograf 中需要此权限的页面:管理员页面上的仪表板、数据浏览器和数据库
CreateUserAndRole
管理用户和角色的权限; 创建用户、删除用户、授予用户管理员身份、授予用户权限、撤销用户的管理员身份、撤销用户的权限、更改用户密码、查看用户权限以及查看用户及其管理员身份。
相关 InfluxQL 查询:CREATE USER
、DROP USER
、GRANT ALL PRIVILEGES
、GRANT [READ,WRITE,ALL]
、REVOKE ALL PRIVILEGES
、REVOKE [READ,WRITE,ALL]
、SET PASSWORD
、SHOW GRANTS
和 SHOW USERS
Chronograf 中需要此权限的页面:管理员页面上的数据浏览器、仪表板、用户和角色
DropData
相关 InfluxQL 查询:DROP SERIES
、DELETE
和 DROP MEASUREMENT
Chronograf 中需要此权限的页面:NA
DropDatabase
删除数据库和保留策略的权限。
相关 InfluxQL 查询:DROP DATABASE
和 DROP RETENTION POLICY
Chronograf 中需要此权限的页面:管理员页面上的数据浏览器、仪表板、数据库
KapacitorAPI
访问 InfluxKapacitor Enterprise 的 API 的权限。 这不包括与配置相关的 API 调用。
Chronograf 中需要此权限的页面:NA
KapacitorConfigAPI
访问 InfluxKapacitor Enterprise 的与配置相关的 API 调用的权限。
Chronograf 中需要此权限的页面:NA
ManageContinuousQuery
创建、删除和查看 连续查询 的权限。
相关 InfluxQL 查询:CreateContinuousQueryStatement
、DropContinuousQueryStatement
和 ShowContinuousQueriesStatement
Chronograf 中需要此权限的页面:数据浏览器、仪表板
ManageQuery
查看和终止查询的权限。
相关 InfluxQL 查询:SHOW QUERIES
和 KILL QUERY
Chronograf 中需要此权限的页面:管理员页面上的查询
ManageShard
复制、删除和查看 分片 的权限。
相关 InfluxQL 查询:DropShardStatement
、ShowShardGroupsStatement
和 ShowShardsStatement
Chronograf 中需要此权限的页面:NA
ManageSubscription
创建、删除和查看 订阅 的权限。
相关 InfluxQL 查询:CREATE SUBSCRIPTION
、DROP SUBSCRIPTION
和 SHOW SUBSCRIPTIONS
Chronograf 中需要此权限的页面:警报
Monitor
查看集群统计信息和诊断信息的权限。
相关 InfluxQL 查询:SHOW DIAGNOSTICS
和 SHOW STATS
Chronograf 中需要此权限的页面:数据浏览器、仪表板
ReadData
读取数据的权限。
相关 InfluxQL 查询:SHOW FIELD KEYS
、SHOW MEASUREMENTS
、SHOW SERIES
、SHOW TAG KEYS
、SHOW TAG VALUES
和 SHOW RETENTION POLICIES
Chronograf 中需要此权限的页面:管理员、警报、仪表板、数据浏览器、主机列表
WriteData
写入数据的权限。
相关 InfluxQL 查询:NA
Chronograf 中需要此权限的页面:NA
角色
角色是权限组。 将角色分配给一个或多个用户。
要创建角色,请执行以下操作
- 单击左侧导航栏中的 管理员。 您将进入
InfluxDB 管理员
页面。 - 选择 角色 选项卡。
- 单击 + 创建角色。
- 为角色命名。
- 单击 创建。
- 在
用户
部分中为角色分配用户 - 在
权限
部分中为角色添加权限。 您将看到数据库列表以及该数据库的所有权限。 选择您想要为角色设置的权限。 - 单击 应用更改。
具有所有权限的角色将出现在列表中。
此页面是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子! 我们欢迎并鼓励您提供关于 Chronograf 和本文档的反馈和错误报告。 要查找支持,请使用以下资源