Documentation

Update a database token

Use the influxctl CLI or the Management HTTP API to update a database token’s permissions InfluxDB Cloud Dedicated cluster.

Use the influxctl token update command to update a database token’s permissions in your InfluxDB Cloud Dedicated cluster.

  1. If you haven’t already, download and install the influxctl CLI, and then configure an influxctl connection profile for your cluster.

  2. To list token IDs, run the influxctl token list command in your terminal.

    influxctl token list
    
    • Copy
    • Fill window

    Copy the token ID of the token you want to update.

  3. In your terminal, run the influxctl token update command and provide the following:

    • Token permissions (read and write)

      • --read-database: Grants read permissions to the specified database. Repeatable.
      • --write-database: Grants write permissions to the specified database. Repeatable.

      Both of these flags support the * wildcard which grants read or write permissions to all databases. Enclose wildcards in single or double quotes–for example: '*' or "*".

    • the token ID

influxctl token update \
  --description "my updated test token" \
  --read-database 
DATABASE_NAME
\
--write-database
DATABASE_NAME
\
TOKEN_ID
  • Copy
  • Fill window

Replace the following:

  • DATABASE_NAME: your InfluxDB Cloud Dedicated database- TOKEN ID: ID of the token to update

This example uses cURL to send a Management HTTP API request, but you can use any HTTP client.

  1. If you haven’t already, follow the instructions to install cURL for your system.

  2. In your terminal, use cURL to send a request to the following InfluxDB Cloud Dedicated endpoint:

    In the URL, provide the following:

    Provide the following request headers:

    • Accept: application/json to ensure the response body is JSON content
    • Content-Type: application/json to indicate the request body is JSON content
    • Authorization: Bearer and a Management API token for your cluster (see how to create a management token for Management API requests).

    In the request body, provide the following parameters:

    • permissions: an array of token permissions (read or write) objects:
      • "action": Specify read or write permission to the database.
      • "resource": Specify the database name.
    • description: Provide a description of the token.

The following example shows how to use the Management API to update a token’s permissions:

curl \
   --location "https://console.influxdata.com/api/v0/accounts/
ACCOUNT_ID
/clusters/
CLUSTER_ID
/tokens/TOKEN_ID"
\
--request PATCH \ --header "Accept: application/json" \ --header 'Content-Type: application/json' \ --header "Authorization: Bearer
MANAGEMENT_TOKEN
"
\
--data '{ "description": "my updated test token", "permissions": [ { "action": "read", "resource": "
DATABASE_NAME
"
}, { "action": "write", "resource": "
DATABASE_NAME
"
} ] }'
  • Copy
  • Fill window

Replace the following in your request:

  • ACCOUNT_ID
    : the ID of the InfluxDB Cloud Dedicated account to create the database token for
  • CLUSTER_ID
    : the ID of the InfluxDB Cloud Dedicated cluster to create the database token for
  • MANAGEMENT TOKEN: a management token for your InfluxDB Cloud Dedicated cluster
  • DATABASE_NAME
    : a InfluxDB Cloud Dedicated database that the token will have read or write permission to

Existing permissions are replaced on update

When updating token permissions, the existing permissions are replaced by the new permissions specified in the update command. To retain existing permissions, include them in the update command.

Examples

In the examples below, replace the following:

  • DATABASE_NAME: your InfluxDB Cloud Dedicated database
  • DATABASE2_NAME: your InfluxDB Cloud Dedicated database
  • TOKEN ID: ID of the token to update
  • ACCOUNT_ID: the ID of the InfluxDB Cloud Dedicated account to create the database token for
  • CLUSTER_ID: the ID of the InfluxDB Cloud Dedicated cluster to create the database token for
  • MANAGEMENT TOKEN: a management token for your InfluxDB Cloud Dedicated cluster

Update a token for read and write access to a database

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

Update a token with read and write access to all databases

influxctl token update \
  --read-database "*" \
  --write-database "*" \
  
TOKEN_ID
  • Copy
  • Fill window
curl \
   --location "https://console.influxdata.com/api/v0/accounts/
ACCOUNT_ID
/clusters/
CLUSTER_ID
/tokens/
TOKEN_ID
"
\
--request PATCH \ --header "Accept: application/json" \ --header 'Content-Type: application/json' \ --header "Authorization: Bearer
MANAGEMENT_TOKEN
"
\
--data '{ "permissions": [ { "action": "read", "resource": "*" }, { "action": "write", "resource": "*" } ] }'
  • Copy
  • Fill window

Update a token for read-only access to a database

influxctl token update \
  --read-database 
DATABASE_NAME
\
TOKEN_ID
  • Copy
  • Fill window
curl \
   --location "https://console.influxdata.com/api/v0/accounts/
ACCOUNT_ID
/clusters/
CLUSTER_ID
/tokens/
TOKEN_ID
"
\
--request PATCH \ --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
"
} ] }'
  • Copy
  • Fill window

Update a token to provide read-only access to multiple databases

influxctl token update \
  --description "Read-only token for 
DATABASE_NAME
and
DATABASE2_NAME
"
\
--read-database
DATABASE_NAME
\
--read-database
DATABASE2_NAME
\
TOKEN_ID
  • Copy
  • Fill window
curl \
   --location "https://console.influxdata.com/api/v0/accounts/
ACCOUNT_ID
/clusters/
CLUSTER_ID
/tokens/
TOKEN_ID
"
\
--request PATCH \ --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
"
} ] }'
  • Copy
  • Fill window

Update a token to provide mixed permissions to multiple databases

influxctl token update \
  --read-database 
DATABASE_NAME
\
--read-database
DATABASE2_NAME
\
--write-database
DATABASE2_NAME
\
TOKEN_ID
  • Copy
  • Fill window
curl \
   --location "https://console.influxdata.com/api/v0/accounts/
ACCOUNT_ID
/clusters/
CLUSTER_ID
/tokens/
TOKEN_ID
"
\
--request PATCH \ --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
"
}, ] }'
  • Copy
  • Fill window

Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more

InfluxDB 3 Core and Enterprise are now in Beta

InfluxDB 3 Core and Enterprise are now available for beta testing, available under MIT or Apache 2 license.

InfluxDB 3 Core is a high-speed, recent-data engine that collects and processes data in real-time, while persisting it to local disk or object storage. InfluxDB 3 Enterprise is a commercial product that builds on Core’s foundation, adding high availability, read replicas, enhanced security, and data compaction for faster queries. A free tier of InfluxDB 3 Enterprise will also be available for at-home, non-commercial use for hobbyists to get the full historical time series database set of capabilities.

For more information, check out: