管理令牌
管理令牌以对 InfluxDB 3 Core 实例中的服务器操作、资源和数据进行身份验证和授权。
提供您的令牌
如果您在启用身份验证(默认设置)的情况下启动 InfluxDB 3 Core 服务器,则将来的服务器操作(CLI 命令和 HTTP API 请求)需要一个有效的令牌进行授权。
您创建的第一个管理员令牌是操作员令牌(名为 _admin),它拥有完整的管理员权限。您可以使用操作员令牌来对您的请求进行身份验证并管理其他授权令牌。
提供令牌的机制取决于您用来与 InfluxDB 3 Core 交互的客户端–例如
在使用 influxdb3 CLI 时,您可以设置 INFLUXDB3_AUTH_TOKEN 环境变量,以便自动为所有 influxdb3 命令提供授权令牌–例如
# Export your token as an environment variable
export INFLUXDB3_AUTH_TOKEN=YOUR_AUTH_TOKEN
# Run an influxdb3 command
influxdb3 query \
--database DATABASE_NAME \
"SELECT * FROM 'DATABASE_NAME' WHERE time > now() - INTERVAL '10 minutes'"要在命令中指定令牌并覆盖环境变量,请使用 --token 选项和您的授权令牌–例如
# Include the --token option in your influxdb3 command
influxdb3 query \
--token YOUR_AUTH_TOKEN \
--database DATABASE_NAME \
"SELECT * FROM 'DATABASE_NAME' WHERE time > now() - INTERVAL '10 minutes'"您还可以设置 INFLUXDB3_AUTH_TOKEN 环境变量,以便自动为所有 influxdb3 命令提供授权令牌。
要直接向 HTTP API 进行身份验证,您可以在请求的 HTTP Authorization 标头中包含您的授权令牌。Authorization: Bearer AUTH_TOKEN 方案适用于所有需要身份验证的 HTTP API 端点。
以下示例使用 curl 来展示如何向 HTTP API 进行身份验证。
# Add your token to the HTTP Authorization header
curl "https://:8181/api/v3/query_sql" \
--header "Authorization: Bearer AUTH_TOKEN" \
--data-urlencode "db=DATABASE_NAME" \
--data-urlencode "q=SELECT * FROM 'DATABASE_NAME' WHERE time > now() - INTERVAL '10 minutes'"使用 v1 和 v2 兼容性进行身份验证
InfluxDB 3 提供了与 InfluxDB v1 和 v2 API 的兼容性,允许您使用这些版本中的相同身份验证方法。对于 InfluxDB 3 中的 InfluxDB v1 兼容端点,您可以在 InfluxDB 1.x 用户名和密码方案中使用数据库令牌。对于 InfluxDB v2 兼容的 /api/v2/write 端点,您可以在 InfluxDB v2 Authorization: Token 方案或 OAuth Authorization: Bearer 方案中使用令牌。
以下示例展示了如何在 InfluxDB 3 中使用 InfluxDB v1 兼容和 v2 兼容 API 进行身份验证
# Token scheme with v2 /api/v2/write
curl https://:8181/api/v2/write\?bucket\=DATABASE_NAME \
--header "Authorization: Token AUTH_TOKEN" \
--data-raw "home,room=Kitchen temp=23.5 1622547800"# Basic scheme with v1 /write
# Username is ignored, but required for the request
# Password is your auth token encoded in base64
curl "https://:8181/write?db=DATABASE_NAME" \
--user "any:AUTH_TOKEN" \
--data-raw "home,room=Kitchen temp=23.5 1622547800"# URL auth parameters with v1 /write
# Username is ignored, but required for the request
curl "https://:8181/write?db=DATABASE_NAME&u=any&p=AUTH_TOKEN" \
--data-raw "home,room=Kitchen temp=23.5 1622547800"将以下内容替换为您的值
要将令牌与其他 InfluxDB 3 Core 客户端一起使用,请参阅特定于客户端的文档
此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 InfluxDB 3 Core 和本文档提供反馈和错误报告。要获得支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。