Todos os produtos
Search
Central de documentação

Lindorm:Gerenciamento de usuários e permissões

Última atualização: Jun 28, 2026

O LindormTSDB protege seus dados por meio de controle de acesso multicamada. No nível do mecanismo, a autenticação de usuário e a verificação de permissões aplicam o controle de acesso — esse recurso vem desativado por padrão. Este tópico explica como ativar a autenticação, adicionar credenciais às conexões do cliente e compreender o modelo de permissões.

Controle de acesso no LindormTSDB

O LindormTSDB aplica o controle de acesso em três camadas:

  • RAM: o Resource Access Management (RAM) da Alibaba Cloud define quais contas podem acessar a instância.

  • Camada física: listas de permissões de IP no nível da instância. Para obter mais informações, consulte Configurar listas de permissões.

  • Camada lógica: autenticação de usuário e verificação de permissões no nível do mecanismo, conforme descrito neste tópico.

Antes de ativar a autenticação

A ativação da autenticação interrompe qualquer conexão de serviço existente sem credenciais. Antes de prosseguir, conclua as etapas a seguir:

  1. Verifique as credenciais do usuário inicial. Toda instância do Lindorm possui um usuário inicial. Nas instâncias com LindormTSDB 3.4.30 ou anterior, o nome de usuário e a senha padrão são root. Nas versões posteriores, ambos são root_tsdb. Altere a senha imediatamente após criar a instância.

  2. Atualize todas as strings de conexão das aplicações para incluir as credenciais.

  3. Planeje as reinicializações dos serviços. Após ativar a autenticação, qualquer serviço em execução sem credenciais na conexão falhará. Programe janelas de manutenção adequadamente.

Ativar a autenticação

Execute a seguinte instrução SQL para ativar a autenticação:

ALTER SYSTEM SET USER_AUTH=TRUE;

Para verificar se a autenticação está ativada:

SHOW PARAMETER USER_AUTH;
Nota

Para desativar a autenticação, execute ALTER SYSTEM SET USER_AUTH=FALSE;. Desativar a autenticação remove todos os controles de acesso e expõe a instância a riscos de segurança. Mantenha a autenticação ativada em ambientes de produção.

Conectar-se com credenciais

Após ativar a autenticação, todas as conexões de cliente devem incluir nome de usuário e senha. O usuário também precisa ter as permissões apropriadas no banco de dados ou tabela de destino.

lindorm-cli

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

Para obter mais informações, consulte Usar o Lindorm-cli para conectar e utilizar o 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 obter mais informações, consulte Tutorial: Usar o driver JDBC do Lindorm para conectar e utilizar o LindormTSDB.

Pool de conexões Druid

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

Para obter mais informações, consulte Tutorial: Usar o pool de conexões Druid para conectar ao LindormTSDB.

HTTP API

Aplicações que utilizam operações da HTTP API compatível com OpenTSDB devem incluir credenciais no cabeçalho Authorization como uma string codificada em Base64.

O exemplo a seguir constrói o cabeçalho de autorização e envia uma solicitação 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())

Para aplicações que usam SDKs do TSDB, passe as credenciais pelo método basicAuth ao criar um objeto TSDBConfig.

Para consultar a especificação completa de autenticação, veja Especificar credenciais de usuário para autenticação. Para obter detalhes sobre o formato da solicitação, consulte Conteúdo da solicitação.

Modelo de permissões

Tipos de permissão

O LindormTSDB define quatro tipos de permissão:

Permissão

Descrição

READ

Necessária para consultar dados em tabelas.

WRITE

Necessária para gravar dados em tabelas.

ADMIN

Necessária para gerenciar objetos de dados (criar, alterar ou excluir bancos de dados e tabelas).

SYSTEM

Necessária para operações que afetam toda a instância.

As permissões efetivas de um usuário correspondem à união de todas as permissões concedidas. Por exemplo, um usuário com GLOBAL READ e DATABASE READ em DB1 pode consultar dados em todos os bancos de dados.

Escopos de permissão

As permissões são concedidas em dois escopos:

  • GLOBAL: aplica-se a todos os bancos de dados e tabelas da instância. Um usuário com GLOBAL READ pode consultar qualquer tabela de séries temporais em qualquer banco de dados.

  • DATABASE: aplica-se a todas as tabelas dentro de um banco de dados específico. Um usuário com READ em DB1 pode consultar qualquer tabela de séries temporais nessa base.

Regras de autorização

  • O escopo da permissão SYSTEM é sempre GLOBAL e não pode ser restrito a um único banco de dados.

  • Somente usuários com permissões GLOBAL ADMIN ou SYSTEM podem criar, excluir, modificar ou autorizar outros usuários.

Gerencie usuários e permissões

Usar SQL

Utilize as seguintes instruções SQL para gerenciar usuários e permissões:

Tarefa

Referência SQL

Crie um usuário

CREATE USER

Exclua um usuário

DROP USER

Modifique a senha de um usuário

ALTER USER

Listar todos os usuários

SHOW

Conceder permissões

GRANT

Revogar permissões

REVOKE

Usar o sistema de gerenciamento de cluster

O LindormTSDB e o LindormTable compartilham dados de usuários e permissões. Se o LindormTable estiver ativado, faça login no sistema de gerenciamento de cluster do LindormTable para gerenciar usuários e permissões. Para obter mais informações, consulte Fazer login no sistema de gerenciamento de cluster.

Importante
  • O sistema de gerenciamento de cluster suporta a permissão TRASH, mas ela não se aplica ao LindormTSDB.

  • Se um namespace no LindormTable tiver o mesmo nome de um banco de dados no LindormTSDB, qualquer usuário com permissões nesse namespace terá automaticamente acesso ao banco de dados homônimo no LindormTSDB.

Referência de permissões

Permissões necessárias para instruções SQL

A tabela a seguir lista as permissões necessárias para executar instruções SQL comuns. Para identificar as permissões exigidas por uma instrução específica, localize a linha correspondente e verifique quais colunas estão marcadas com ○.

○ = obrigatório, × = não obrigatório.

Instrução 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

A instrução INSERT INTO...SELECT... exige permissão WRITE na tabela de destino e READ na tabela de origem.

Permissões necessárias para operações da HTTP API compatível com OpenTSDB

Todas as operações da HTTP API compatível com OpenTSDB exigem permissões no escopo GLOBAL. ○ = obrigatório, × = não obrigatório.

Operação da 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

×

×