Tüm Ürünler
Search
Belge Merkezi

Lindorm:Kullanıcı ve izin yönetimi

Son Güncelleme:Oct 07, 2026

LindormTSDB verilerinizi çok katmanlı erişim kontrolü ile korur. Motor düzeyinde erişim kontrolü kullanıcı kimlik doğrulaması ve izin denetimiyle uygulanır; bu özellik varsayılan olarak devre dışı bırakılmıştır. Bu konuda kimlik doğrulamayı nasıl etkinleştireceğiniz, istemci bağlantılarına kimlik bilgilerini nasıl ekleyeceğiniz ve izin modelini nasıl anlayacağınız açıklanmaktadır.

LindormTSDB'de erişim kontrolü

LindormTSDB erişim kontrolünü üç katmanda uygular:

  • RAM — Alibaba Cloud tarafından sağlanan Resource Access Management (RAM), hangi Alibaba Cloud hesaplarının örneğe erişebileceğini yönetir.

  • Fiziksel katman — Örnek düzeyinde IP izin listeleri. Ayrıntılar için bkz. İzin listelerini yapılandırma.

  • Mantıksal katman — Motor düzeyinde kullanıcı kimlik doğrulaması ve izin denetimi; bu konuda ele alınmıştır.

Kimlik doğrulamayı etkinleştirmeden önce

Kimlik doğrulamayı etkinleştirmek, kimlik bilgisi içermeyen mevcut hizmet bağlantılarının başarısız olmasına neden olur. Etkinleştirmeden önce aşağıdaki adımları tamamlayın:

  1. İlk kullanıcı kimlik bilgilerini doğrulayın. Bir Lindorm örneği bir ilk kullanıcı ile birlikte gelir. LindormTSDB 3.4.30 veya önceki sürümlerini çalıştıran örneklerde varsayılan kullanıcı adı ve parola root değerindedir. Daha sonraki sürümlerde ikisi de root_tsdb değerindedir. Parolayı örnek oluşturulduktan hemen sonra değiştirin.

  2. Tüm uygulama bağlantı dizelerini kimlik bilgilerini içerecek şekilde güncelleyin.

  3. Hizmet yeniden başlatmalarını planlayın. Kimlik doğrulama etkinleştirildikten sonra bağlantısında kimlik bilgisi bulunmayan çalışan herhangi bir hizmet başarısız olur. Bakım pencerelerini buna göre planlayın.

Kimlik doğrulamayı etkinleştirme

Kimlik doğrulamayı etkinleştirmek için aşağıdaki SQL ifadesini çalıştırın:

ALTER SYSTEM SET USER_AUTH=TRUE;

Kimlik doğrulamanın etkinleştirildiğini doğrulamak için:

SHOW PARAMETER USER_AUTH;
Not

Kimlik doğrulamayı devre dışı bırakmak için ALTER SYSTEM SET USER_AUTH=FALSE; komutunu çalıştırın. Kimlik doğrulamayı devre dışı bırakmak tüm erişim kontrollerini kaldırır ve örneği güvenlik risklerine maruz bırakır. Üretim ortamlarında kimlik doğrulamayı etkin tutun.

Kimlik bilgileriyle bağlanma

Kimlik doğrulama etkinleştirildikten sonra tüm istemci bağlantıları bir kullanıcı adı ve parola içermelidir. Bağlanan kullanıcının ayrıca hedef veritabanı veya tabloda uygun izinlere sahip olması gerekir.

lindorm-cli

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

Ayrıntılar için bkz. Lindorm-cli kullanarak LindormTSDB'ye bağlanma ve kullanma.

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();
}

Ayrıntılar için bkz. Öğretici: Lindorm için JDBC sürücüsünü kullanarak LindormTSDB'ye bağlanma ve kullanma.

Druid bağlantı havuzu

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

Ayrıntılar için bkz. Öğretici: Druid bağlantı havuzunu kullanarak LindormTSDB'ye bağlanma.

HTTP API

OpenTSDB uyumlu HTTP API işlemlerini kullanan uygulamalar Base64 kodlu bir dize olarak Authorization üst bilgisinde kimlik bilgilerini içermelidir.

Aşağıdaki örnek yetkilendirme üst bilgisini oluşturur ve bir SQL isteği gönderir:

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())

TSDB SDK'larını kullanan uygulamalar için bir TSDBConfig nesnesi oluştururken kimlik bilgilerini basicAuth yöntemi aracılığıyla iletin.

Tam kimlik doğrulama belirtimi için bkz. Kimlik doğrulama için kullanıcı kimlik bilgilerini belirtme. İstek biçimi ayrıntıları için bkz. İstek içeriği.

İzin modeli

İzin türleri

LindormTSDB dört izin türü tanımlar:

İzin Açıklama
READ Tablolardan veri sorgulamak için gereklidir.
WRITE Tablolara veri yazmak için gereklidir.
ADMIN Veri nesnelerini yönetmek (veritabanları ve tablolar oluşturma, değiştirme veya silme) için gereklidir.
SYSTEM Tüm örneği etkileyen örnek düzeyindeki işlemler için gereklidir.

Bir kullanıcının etkili izinleri verilen tüm izinlerin birleşimidir. Örneğin GLOBAL READ ve DB1 üzerinde DATABASE READ iznine sahip bir kullanıcı tüm veritabanlarında veri sorgulayabilir.

İzin kapsamları

İzinler iki kapsamdan birinde verilir:

  • GLOBAL — Örnekteki tüm veritabanları ve tablolar için geçerlidir. GLOBAL READ iznine sahip bir kullanıcı herhangi bir veritabanındaki herhangi bir zaman serisi tablosunu sorgulayabilir.

  • DATABASE — Belirli bir veritabanındaki tüm tablolar için geçerlidir. DB1 üzerinde READ iznine sahip bir kullanıcı DB1 içindeki herhangi bir zaman serisi tablosunu sorgulayabilir.

Yetkilendirme kuralları

  • SYSTEM izin kapsamı her zaman GLOBAL'dir. Tek bir veritabanına daraltılamaz.

  • Yalnızca GLOBAL ADMIN veya SYSTEM izinlerine sahip kullanıcılar kullanıcıları oluşturabilir, silebilir, değiştirebilir veya yetkilendirebilir.

Kullanıcıları ve izinleri yönetme

SQL kullanma

Kullanıcıları ve izinleri yönetmek için aşağıdaki SQL ifadelerini kullanın:

Görev SQL referansı
Kullanıcı oluşturma CREATE USER
Kullanıcı silme DROP USER
Kullanıcı parolasını değiştirme ALTER USER
Tüm kullanıcıları listeleme SHOW
İzin verme GRANT
İzinleri geri alma REVOKE

Küme yönetim sistemini kullanma

Kullanıcı ve izin verileri LindormTSDB ve LindormTable arasında paylaşılır. LindormTable etkinse kullanıcıları ve izinleri yönetmek için LindormTable küme yönetim sisteminde oturum açın. Ayrıntılar için bkz. Küme yönetim sisteminde oturum açma.

Önemli
  • Küme yönetim sistemi LindormTSDB'de kullanılmayan TRASH iznini destekler.

  • LindormTable'daki bir ad alanı LindormTSDB'deki bir veritabanıyla aynı ada sahipse bu ad alanı üzerinde izin verilen herhangi bir kullanıcı otomatik olarak LindormTSDB'deki aynı adlı veritabanına erişim kazanır.

İzin referansı

SQL ifadeleri için gereken izinler

Aşağıdaki tabloda yaygın SQL ifadelerini çalıştırmak için gereken izinler listelenmiştir. Belirli bir ifade için gereken izinleri bulmak için ifade satırını bulun ve ○ ile işaretlenmiş sütunları kontrol edin.

○ = gerekli, × = gerekli değil.

SQL ifadesi 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 × × × ○ × × ×
Not

INSERT INTO...SELECT... ifadesi hedef tabloda WRITE ve kaynak tabloda READ izni gerektirir.

OpenTSDB uyumlu HTTP API işlemleri için gereken izinler

Tüm OpenTSDB uyumlu HTTP API işlemleri GLOBAL kapsamı izinleri gerektirir. ○ = gerekli, × = gerekli değil.

API işlemi 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 × × ○