InfluxDB权限控制

725 阅读2分钟

API token types

Operator API token

授予InfluxDB中所有organization和所有organization resource的完全读写权限; 某些操作需要operator权限; operator token是在influxdb setup过程中创建的; 如果在setup过程完成之后通过influxdb用户界面、api/v2、influx cli手动创建operator token, 必须使用当前的operator token;

通过influxd recovery auth命令可以不使用现有operator token创建一个新的operator token

建议使用All-Access token为每个organization分配管理权限

All-Access API token

对organization中的所有资源授予读、写、访问权限

Read/Write token

对organization中的bucket授予读权限或写权限或读写权限

创建token

通过CLI创建

创建operator token必须包含 --read-orgs 和 --write-orgs 两个参数

influx auth create    
  --org-id or --org              \
  --read-authorizations          \
  --write-authorizations         \
  --read-buckets                 \
  --write-buckets                \
  --read-dashboards              \
  --write-dashboards             \
  --read-tasks                   \
  --write-tasks                  \
  --read-telegrafs               \
  --write-telegrafs              \
  --read-users                   \
  --write-users                  \
  --read-variables               \
  --write-variables              \
  --read-secrets                 \
  --write-secrets                \
  --read-labels                  \
  --write-labels                 \
  --read-views                   \
  --write-views                  \
  --read-documents               \
  --write-documents              \
  --read-notificationRules       \
  --write-notificationRules      \
  --read-notificationEndpoints   \
  --write-notificationEndpoints  \
  --read-checks                  \
  --write-checks                 \
  --read-dbrp                    \
  --write-dbrp                   \
  --read-annotations             \
  --write-annotations            \
  --read-sources                 \
  --write-sources                \
  --read-scrapers                \
  --write-scrapers               \
  --read-notebooks               \
  --write-notebooks              \
  --read-remotes                 \
  --write-remotes                \
  --read-replications            \
  --write-replications

创建一个读权限的token

influx auth create \
  --org my-org \
  --read-bucket 03a2bbf46309a000 \
  --read-bucket 3a87c03ace269000 \
  --read-dashboards \
  --read-tasks \
  --read-telegrafs \
  --read-user

查看token

通过命令行查看

influx auth list

更新token

通过命令行启动token

auth-id可以通过influx auth find查看

./influx auth active -i <auth-id>

查看token状态信息

influx auth find --json

通过命令行关闭token

auth-id可以通过influx auth find查看

./influx auth inactive -i <auth-id>

查看token状态信息

influx auth find --json

删除token

通过命令行删除token

auth-id可以通过influx auth find查看

./influx auth delete -i <auth-id>

查看token状态信息

influx auth find --json

使用token

添加token到cli request

influx write -t <token> -b BUCKET -o org-name <LINE PROTOCOL>
export INFLUX_TOKEN=my-token
influx write -t $INFLUX_TOKEN -b my-bucket -o my-org "measurement field=1"