文档

创建数据库令牌

使用influxctl CLI管理HTTP API创建一个数据库令牌,以便在您的InfluxDB Cloud Dedicated集群中读取和写入数据。

使用influxctl token create命令创建一个令牌,以便访问您的InfluxDB Cloud Dedicated集群中的数据库。

  1. 如果您尚未安装,请下载并安装influxctl CLI,然后为您的集群配置influxctl连接配置文件

  2. 在终端中,运行influxctl token create命令并提供以下内容:

    • 令牌权限(读取和写入)

      • --read-database:授予指定数据库的读取权限。可重复。
      • --write-database:授予指定数据库的写入权限。可重复。

      这两个标志都支持*通配符,它授予所有数据库的读取或写入权限。用单引号或双引号括起来通配符——例如:'*'"*"

    • 令牌描述

influxctl token create \
  --read-database 
DATABASE_NAME
\
--write-database
DATABASE_NAME
\
"Read/write token for
DATABASE_NAME
"

替换以下内容:

  • DATABASE_NAME:您的InfluxDB Cloud Dedicated 数据库

输出是令牌ID和令牌字符串。这是唯一一次令牌字符串以纯文本形式出现。

此示例使用cURL发送管理HTTP API请求,但您可以使用任何HTTP客户端。

  1. 如果您尚未安装,请按照说明安装cURL

  2. 在终端中,使用cURL向以下InfluxDB Cloud Dedicated端点发送请求

    POST https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens

    在URL中,提供以下凭据

    提供以下请求头

    • Accept: application/json 以确保响应体是JSON内容
    • Content-Type: application/json 以指示请求体是JSON内容
    • Authorization: Bearer 以及一个用于您集群的 管理API令牌 (了解如何 创建管理令牌 用于管理API请求)

    在请求体中,提供以下参数

    • permissions:一个包含令牌 权限(读取或写入)对象的数组
      • "action":指定对数据库的 readwrite 权限。
      • "resource":指定数据库名称。
    • description:提供令牌的描述。

以下示例展示了如何使用管理API创建数据库令牌

curl \
   --location "https://console.influxdata.com/api/v0/accounts/
ACCOUNT_ID
/clusters/
CLUSTER_ID
/tokens"
\
--header "Accept: application/json" \ --header 'Content-Type: application/json' \ --header "Authorization: Bearer
MANAGEMENT_TOKEN
"
\
--data '{ "description": "Read/write token for
DATABASE_NAME
",
"permissions": [ { "action": "write", "resource": "
DATABASE_NAME
"
}, { "action": "read", "resource": "
DATABASE_NAME
"
} ] }'

替换以下内容以用于您的请求

  • ACCOUNT_ID:创建数据库令牌的 InfluxDB Cloud Dedicated 账户 的 ID
  • CLUSTER_ID:创建数据库令牌的 InfluxDB Cloud Dedicated 集群 的 ID
  • MANAGEMENT TOKEN:您的 InfluxDB Cloud Dedicated 集群的管理令牌 管理令牌
  • DATABASE_NAME:令牌将具有读取或写入权限的 InfluxDB Cloud Dedicated 数据库

响应体包含令牌 ID 和令牌字符串。 这是唯一一次以纯文本形式提供令牌字符串。

显著行为

  • InfluxDB 可能需要一些时间(从几秒到几分钟)来激活和同步新令牌。如果新的数据库令牌无法立即使用(您收到 401 未授权 错误)进行查询或写入,请等待然后再次尝试。
  • 令牌字符串仅在创建时可见。

将安全令牌存储在密钥库中

令牌字符串仅在创建时可见,并且不会被 InfluxDB 存储。我们建议将数据库令牌存储在 安全密钥库 中。例如,了解如何 使用操作系统密钥库中的令牌对 Telegraf 进行身份验证

如果您丢失令牌,请从 InfluxDB 删除令牌 并创建一个新的。

输出格式

influxctl token create 命令支持 --format json 选项。默认情况下,命令输出令牌字符串。要获取 令牌详情 和更容易的编程访问命令输出,请将 --format json 包含在您的命令中,以将输出格式化为 JSON。

管理API在响应体中输出 JSON 格式。

示例

以下示例中,替换以下内容

  • DATABASE_NAME:您的InfluxDB Cloud Dedicated 数据库
  • DATABASE2_NAME:您的 InfluxDB Cloud Dedicated 数据库
  • ACCOUNT_ID:创建数据库令牌的 InfluxDB Cloud Dedicated 账户 的 ID
  • CLUSTER_ID:创建数据库令牌的 InfluxDB Cloud Dedicated 集群 的 ID
  • MANAGEMENT TOKEN:您的 InfluxDB Cloud Dedicated 集群的管理令牌 管理令牌

创建具有对数据库的读取和写入访问权限的令牌

influxctl token create \
  --read-database 
DATABASE_NAME
\
--write-database
DATABASE_NAME
\
"Read/write token for
DATABASE_NAME
"
curl \
   --location "https://console.influxdata.com/api/v0/accounts/
ACCOUNT_ID
/clusters/
CLUSTER_ID
/tokens"
\
--header "Accept: application/json" \ --header 'Content-Type: application/json' \ --header "Authorization: Bearer
MANAGEMENT_TOKEN
"
\
--data '{ "description": "Read/write token for
DATABASE_NAME
",
"permissions": [ { "action": "write", "resource": "
DATABASE_NAME
"
}, { "action": "read", "resource": "
DATABASE_NAME
"
} ] }'

创建具有对所有数据库的读取和写入访问权限的令牌

influxctl token create \
  --read-database "*" \
  --write-database "*" \
  "Read/write token for all databases"
curl \
   --location "https://console.influxdata.com/api/v0/accounts/
ACCOUNT_ID
/clusters/
CLUSTER_ID
/tokens"
\
--header "Accept: application/json" \ --header 'Content-Type: application/json' \ --header "Authorization: Bearer
MANAGEMENT_TOKEN
"
\
--data '{ "description": "Read/write token for all databases", "permissions": [ { "action": "write", "resource": "*" }, { "action": "read", "resource": "*" } ] }'

创建具有对数据库的只读访问权限的令牌

influxctl token create \
  --read-database 
DATABASE_NAME
\
"Read-only token for
DATABASE_NAME
"
curl \
   --location "https://console.influxdata.com/api/v0/accounts/
ACCOUNT_ID
/clusters/
CLUSTER_ID
/tokens"
\
--header "Accept: application/json" \ --header 'Content-Type: application/json' \ --header "Authorization: Bearer
MANAGEMENT_TOKEN
"
\
--data '{ "description": "Read-only token for
DATABASE_NAME
",
"permissions": [ { "action": "read", "resource": "
DATABASE_NAME
"
} ] }'

创建具有对多个数据库的只读访问权限的令牌

influxctl token create \
  --read-database 
DATABASE_NAME
\
--read-database
DATABASE2_NAME
\
"Read-only token for
DATABASE_NAME
and
DATABASE2_NAME
"
curl \
   --location "https://console.influxdata.com/api/v0/accounts/
ACCOUNT_ID
/clusters/
CLUSTER_ID
/tokens"
\
--header "Accept: application/json" \ --header 'Content-Type: application/json' \ --header "Authorization: Bearer
MANAGEMENT_TOKEN
"
\
--data '{ "description": "Read-only token for
DATABASE_NAME
and
DATABASE2_NAME
",
"permissions": [ { "action": "read", "resource": "
DATABASE_NAME
"
}, { "action": "read", "resource": "
DATABASE2_NAME
"
} ] }'

创建对多个数据库具有混合权限的令牌

influxctl token create \
  --read-database 
DATABASE_NAME
\
--read-database
DATABASE2_NAME
\
--write-database
DATABASE2_NAME
\
"Read-only on
DATABASE_NAME
, read/write on
DATABASE2_NAME
"
curl \
   --location "https://console.influxdata.com/api/v0/accounts/
ACCOUNT_ID
/clusters/
CLUSTER_ID
/tokens"
\
--header "Accept: application/json" \ --header 'Content-Type: application/json' \ --header "Authorization: Bearer
MANAGEMENT_TOKEN
"
\
--data '{ "description": "Read-only on
DATABASE_NAME
, read/write on
DATABASE2_NAME
",
"permissions": [ { "action": "read", "resource": "
DATABASE_NAME
"
}, { "action": "read", "resource": "
DATABASE2_NAME
"
}, { "action": "write", "resource": "
DATABASE2_NAME
"
}, ] }'

此页面有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 正进入维护模式。您可以继续按当前方式使用它,而无需对代码进行任何更改。

了解更多

InfluxDB v3 增强功能和 InfluxDB 集群版现已全面上市

新功能包括更快的查询性能和管理工具,推动了 InfluxDB v3 产品线的进步。InfluxDB 集群版现已全面上市。

InfluxDB v3 性能和功能

InfluxDB v3 产品线在查询性能方面取得了显著提升,并提供了新的管理工具。这些增强包括一个操作仪表板来监控您 InfluxDB 集群的运行状况,InfluxDB Cloud Dedicated 的单点登录(SSO)支持,以及用于令牌和数据库的新管理 API。

了解新的 v3 增强功能


InfluxDB 集群版全面上市

InfluxDB 集群版现已全面上市,并为您在自管理的堆栈中提供了 InfluxDB v3 的功能。

与我们谈谈 InfluxDB 集群版