在 Chronograf 中管理 InfluxDB 用户
Chronograf 管理 为 InfluxDB OSS 和 InfluxDB Enterprise 用户提供 InfluxDB 用户管理。
注意: 有关 Chronograf 用户身份验证和管理的详细信息,请参阅 管理安全性。
禁用的管理功能
如果连接到 InfluxDB OSS v2.x 或 InfluxDB Cloud,所有 InfluxDB 管理功能在 Chronograf 中都将被禁用。 使用 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 "https://127.0.0.1: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 中需要此权限的页面: 不适用
CopyShard
复制分片的权限。
相关的 influxd-ctl
参数: copy-shard
Chronograf 中需要此权限的页面: 不适用
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 中需要此权限的页面: 不适用
DropDatabase
删除数据库和保留策略的权限。
相关的 InfluxQL 查询: DROP DATABASE
和 DROP RETENTION POLICY
Chronograf 中需要此权限的页面: 管理页面上的数据浏览器、仪表板、数据库
KapacitorAPI
访问 InfluxKapacitor Enterprise 的 API 的权限。 这不包括与配置相关的 API 调用。
Chronograf 中需要此权限的页面: 不适用
KapacitorConfigAPI
访问 InfluxKapacitor Enterprise 的与配置相关的 API 调用的权限。
Chronograf 中需要此权限的页面: 不适用
ManageContinuousQuery
创建、删除和查看 连续查询 的权限。
相关的 InfluxQL 查询: CreateContinuousQueryStatement
, DropContinuousQueryStatement
, 和 ShowContinuousQueriesStatement
Chronograf 中需要此权限的页面: 数据浏览器、仪表板
ManageQuery
查看和终止查询的权限。
相关的 InfluxQL 查询: SHOW QUERIES
和 KILL QUERY
Chronograf 中需要此权限的页面: 管理页面上的查询
ManageShard
复制、删除和查看 分片 的权限。
相关的 InfluxQL 查询: DropShardStatement
, ShowShardGroupsStatement
, 和 ShowShardsStatement
Chronograf 中需要此权限的页面: 不适用
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 查询: 不适用
Chronograf 中需要此权限的页面: 不适用
角色
角色是权限组。 将角色分配给一个或多个用户。
要创建角色,请执行以下操作
- 单击左侧导航栏中的 管理。 您将进入
InfluxDB 管理
页面。 - 选择 角色 选项卡。
- 单击 + 创建角色。
- 给角色命名。
- 单击 创建。
- 在
用户
部分中将用户分配给角色 - 在
权限
部分中向角色添加权限。 您将看到数据库列表以及该数据库的所有权限。 选择您想要角色的权限。 - 单击 应用更改。
具有所有权限的角色将出现在列表中。
此页是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子! 我们欢迎并鼓励您提供关于 Chronograf 和本文档的反馈和错误报告。 要获得支持,请使用以下资源