Todos los productos
Search
Centro de documentos

Lindorm:Gestión de usuarios y permisos

Última actualización: Sep 05, 2026

LindormTSDB protege sus datos mediante un control de acceso multicapa. En el nivel del motor, el control de acceso se aplica a través de la autenticación de usuarios y la verificación de permisos; esta función está deshabilitada de forma predeterminada. Este tema explica cómo habilitar la autenticación, agregar credenciales a las conexiones de cliente y comprender el modelo de permisos.

Control de acceso en LindormTSDB

LindormTSDB aplica el control de acceso en tres capas:

  • RAM: Resource Access Management (RAM) de Alibaba Cloud determina qué cuentas de Alibaba Cloud pueden acceder a la instancia.

  • Capa física: listas de permitidos de IP a nivel de instancia. Para más detalles, consulte Configure whitelists.

  • Capa lógica: autenticación de usuarios y verificación de permisos a nivel del motor. Este tema aborda ambos aspectos.

Antes de habilitar la autenticación

Al habilitar la autenticación, fallan todas las conexiones de servicio existentes que no incluyan credenciales. Antes de habilitarla, complete los siguientes pasos:

  1. Compruebe las credenciales del usuario inicial. Cada instancia de Lindorm incluye un usuario inicial. En las instancias con LindormTSDB 3.4.30 o versiones anteriores, tanto el nombre de usuario como la contraseña predeterminados son root. En versiones posteriores, ambos valores son root_tsdb. Cambie la contraseña inmediatamente después de crear la instancia.

  2. Actualice todas las cadenas de conexión de las aplicaciones para incluir las credenciales.

  3. Planifique los reinicios del servicio. Una vez habilitada la autenticación, cualquier servicio en ejecución que no incluya credenciales en su conexión dejará de funcionar. Programe las ventanas de mantenimiento correspondientes.

Habilitar la autenticación

Ejecute la siguiente instrucción SQL para habilitar la autenticación:

ALTER SYSTEM SET USER_AUTH=TRUE;

Para comprobar que la autenticación está habilitada:

SHOW PARAMETER USER_AUTH;
Nota

Para deshabilitar la autenticación, ejecute ALTER SYSTEM SET USER_AUTH=FALSE;. Al deshabilitar la autenticación se eliminan todos los controles de acceso y la instancia queda expuesta a riesgos de seguridad. Mantenga la autenticación habilitada en entornos de producción.

Conectarse con credenciales

Una vez habilitada la autenticación, todas las conexiones de cliente deben incluir un nombre de usuario y una contraseña. Además, el usuario que se conecta debe contar con los permisos adecuados sobre la base de datos o tabla de destino.

lindorm-cli

lindorm-cli -url <Endpoint for LindormTSDB SQL> -username <Username> -password <Password> -database <Database name>

Para más detalles, consulte Use Lindorm-cli to connect to and use LindormTSDB.

JDBC

String url = "<Endpoint for LindormTSDB SQL>";
String username = "<Username>";
String password = "<Password>";
Connection conn = null;

try {
    conn = DriverManager.getConnection(url, username, password);
    // Perform operations after the client is connected to LindormTSDB.
} catch (SQLException e) {
    e.printStackTrace();
}

Para más detalles, consulte Tutorial: Use the JDBC driver for Lindorm to connect to and use LindormTSDB.

Pool de conexiones de Druid

dataSource.setDriver(DriverManager.getDriver("<Endpoint for LindormTSDB SQL>"))
dataSource.setUrl("<Endpoint for LindormTSDB SQL>")
dataSource.setUsername("<Username>")
dataSource.setPassword("<Password>")

Para más detalles, consulte Tutorial: Use the Druid connection pool to connect to LindormTSDB.

API HTTP

Las aplicaciones que utilizan operaciones de la API HTTP compatible con OpenTSDB deben incluir las credenciales en el encabezado Authorization como una cadena codificada en Base64.

En el siguiente ejemplo se construye el encabezado de autorización y se envía una solicitud SQL:

import base64
import requests

url      = "<HTTP Endpoint for LindormTSDB>/api/v2/sql"
username = "<Username>"
password = "<Password>"

# Encode credentials as Base64
credentials = base64.b64encode(f"{username}:{password}".encode()).decode()

headers = {
    "Content-Type": "text/plain",
    "Authorization": f"Basic {credentials}"
}

response = requests.post(url, headers=headers, data="SELECT * FROM my_table LIMIT 10")
print(response.json())

Si sus aplicaciones usan los SDK de TSDB, pase las credenciales mediante el método basicAuth al crear un objeto TSDBConfig.

Para consultar la especificación completa de autenticación, consulte Specify user credentials for authentication. Para conocer los detalles del formato de solicitud, consulte Request content.

Modelo de permisos

Tipos de permisos

LindormTSDB define cuatro tipos de permisos:

Permiso

Descripción

READ

Obligatorio para consultar datos de las tablas.

WRITE

Obligatorio para escribir datos en las tablas.

ADMIN

Obligatorio para gestionar objetos de datos (crear, modificar o eliminar bases de datos y tablas).

SYSTEM

Obligatorio para las operaciones a nivel de instancia que afectan a toda la instancia.

Los permisos efectivos de un usuario corresponden a la unión de todos los permisos otorgados. Por ejemplo, un usuario con GLOBAL READ y DATABASE READ en DB1 puede consultar datos en todas las bases de datos.

Ámbitos de los permisos

Los permisos se otorgan en uno de estos dos ámbitos:

  • GLOBAL: se aplica a todas las bases de datos y tablas de la instancia. Un usuario con GLOBAL READ puede consultar cualquier tabla de series temporales en cualquier base de datos.

  • DATABASE: se aplica a todas las tablas dentro de una base de datos específica. Un usuario con READ en DB1 puede consultar cualquier tabla de series temporales en DB1.

Reglas de autorización

  • El ámbito del permiso SYSTEM siempre es GLOBAL. No se puede limitar a una sola base de datos.

  • Solo los usuarios con permisos GLOBAL ADMIN o SYSTEM pueden crear, eliminar, modificar o autorizar usuarios.

Gestionar usuarios y permisos

Usar SQL

Utilice las siguientes instrucciones SQL para gestionar usuarios y permisos:

Tarea

Referencia de SQL

Crear un usuario

CREATE USER

Eliminar un usuario

DROP USER

Cambiar la contraseña de un usuario

ALTER USER

Listar todos los usuarios

SHOW

Otorgar permisos

GRANT

Revocar permisos

REVOKE

Usar el sistema de gestión del clúster

Los datos de usuarios y permisos se comparten entre LindormTSDB y LindormTable. Si LindormTable está activado, inicie sesión en el sistema de gestión del clúster de LindormTable para gestionar usuarios y permisos. Para más detalles, consulte Log on to the cluster management system.

Importante
  • El sistema de gestión del clúster admite el permiso TRASH, el cual no se utiliza en LindormTSDB.

  • Si un namespace de LindormTable tiene el mismo nombre que una base de datos de LindormTSDB, cualquier usuario con permisos sobre ese namespace obtendrá automáticamente acceso a la base de datos homónima en LindormTSDB.

Referencia de permisos

Permisos obligatorios para las instrucciones SQL

La siguiente tabla muestra los permisos necesarios para ejecutar las instrucciones SQL más comunes. Para identificar los permisos de una instrucción específica, ubique su fila y compruebe qué columnas están marcadas con ○.

○ = obligatorio, × = no obligatorio.

Instrucción SQL

GLOBAL READ

GLOBAL WRITE

GLOBAL ADMIN

GLOBAL SYSTEM

DATABASE READ

DATABASE WRITE

DATABASE ADMIN

SELECT...FROM...

○

×

×

×

○

×

×

INSERT INTO...VALUES...

×

○

×

×

×

○

×

INSERT INTO...SELECT...

○

○

×

×

○

○

×

DESCRIBE DATABASE

×

×

○

×

×

×

○

CREATE DATABASE

×

×

○

×

×

×

×

ALTER DATABASE

×

×

○

×

×

×

○

DROP DATABASE

×

×

○

×

×

×

○

SHOW DATABASES

×

×

○

×

×

×

×

DESCRIBE TABLE

○

×

×

×

○

×

×

CREATE TABLE

×

×

○

×

×

×

○

DROP TABLE

×

×

○

×

×

×

○

CREATE USER

×

×

○

○

×

×

×

ALTER USER

×

×

○

○

×

×

×

DROP USER

×

×

○

○

×

×

×

SHOW USERS

×

×

○

○

×

×

×

GRANT

×

×

○

○

×

×

×

REVOKE

×

×

○

○

×

×

×

SHOW PRIVILEGES

×

×

○

○

×

×

×

ALTER SYSTEM

×

×

×

○

×

×

×

SHOW PARAMETER

×

×

×

○

×

×

×

Nota

INSERT INTO...SELECT... requiere el permiso WRITE en la tabla de destino y READ en la tabla de origen.

Permisos obligatorios para las operaciones de la API HTTP compatible con OpenTSDB

Todas las operaciones de la API HTTP compatible con OpenTSDB requieren permisos de ámbito GLOBAL. ○ = obligatorio, × = no obligatorio.

Operación de API

GLOBAL WRITE

GLOBAL READ

GLOBAL ADMIN

/api/put

○

×

×

/api/query

×

○

×

/api/query/last

×

○

×

/api/mput

○

×

×

/api/mquery

×

○

×

/api/query/mlast

×

○

×

/api/suggest

×

○

×

/api/dump_meta

×

○

×

/api/search/lookup

×

○

×

/api/ttl

×

×

○

/api/truncate

×

×

○