全部产品
Search
文档中心

Lindorm:Pengelolaan pengguna dan izin

更新时间:Jul 06, 2025

Anda dapat mengontrol izin pengguna pada database tertentu untuk mencegah data Anda diakses atau dirusak oleh pengguna tidak sah. Dengan cara ini, keamanan database dapat ditingkatkan. Secara default, fitur autentikasi pengguna dan verifikasi izin dinonaktifkan untuk LindormTSDB. Anda harus mengaktifkan fitur autentikasi pengguna dan verifikasi izin secara manual. Setelah fitur ini diaktifkan, Anda harus menyertakan kredensial pengguna dalam permintaan saat terhubung ke LindormTSDB. Jika tidak, permintaan akan gagal autentikasi. Topik ini menjelaskan cara mengaktifkan fitur autentikasi pengguna dan verifikasi izin, cara menyertakan kredensial pengguna dalam informasi koneksi, serta izin yang diperlukan untuk mengeksekusi pernyataan SQL umum dan memanggil operasi API umum.

Kontrol akses di LindormTSDB

Lindorm menyediakan sistem kontrol akses berlapis untuk memastikan keamanan aplikasi tingkat perusahaan. Kontrol akses dilakukan di tiga lapisan berikut:

  • RAM yang disediakan oleh Alibaba Cloud.

  • Instans pada lapisan fisik.

    Untuk informasi lebih lanjut, lihat Konfigurasikan Daftar Putih.

  • Mesin pada lapisan logis.

    Kontrol akses diimplementasikan untuk mesin berdasarkan autentikasi pengguna dan verifikasi izin.

Catatan penggunaan

  • Secara default, pengguna awal dibuat setelah instans Lindorm dibuat. Nama pengguna dan kata sandi default untuk pengguna awal adalah root_tsdb. Jika Anda menggunakan LindormTSDB 3.4.30 atau versi sebelumnya, nama pengguna dan kata sandi default untuk pengguna awal adalah root. Ubah kata sandi pengguna awal segera setelah instans dibuat untuk menghindari risiko keamanan.

  • Setelah fitur autentikasi pengguna dan verifikasi izin diaktifkan, layanan yang sedang berjalan mungkin gagal mengakses LindormTSDB jika permintaan yang dikirim oleh layanan tidak menyertakan kredensial pengguna. Dalam hal ini, Anda harus menambahkan kredensial pengguna ke permintaan dan memulai ulang layanan. Oleh karena itu, kami sarankan Anda merencanakan dengan hati-hati dan sepenuhnya mengevaluasi dampak sebelum mengaktifkan fitur ini.

Aktifkan fitur autentikasi pengguna dan verifikasi izin

Secara default, fitur autentikasi pengguna dan verifikasi izin dinonaktifkan. Anda harus masuk ke database untuk mengaktifkan fitur ini.

Prosedur

ALTER SYSTEM SET USER_AUTH=TRUE;
Catatan

Setelah fitur autentikasi pengguna dan verifikasi izin diaktifkan, Anda dapat mengeksekusi pernyataan ALTER SYSTEM SET USER_AUTH=FALSE; untuk menonaktifkan fitur ini. Jika Anda menonaktifkan fitur ini, autentikasi pengguna dan verifikasi izin tidak dilakukan, yang menimbulkan risiko keamanan. Oleh karena itu, kami sarankan Anda tidak menonaktifkan fitur ini.

Periksa apakah fitur autentikasi pengguna dan verifikasi izin diaktifkan

SHOW PARAMETER USER_AUTH;

Tambahkan kredensial pengguna ke informasi koneksi

Setelah Anda mengaktifkan fitur autentikasi pengguna dan verifikasi izin, permintaan yang dikirim oleh aplikasi untuk mengakses LindormTSDB harus menyertakan nama pengguna dan kata sandi. Anda harus memiliki izin pada objek yang ingin Anda akses saat menulis atau mengambil data dari objek di LindormTSDB. Dengan cara ini, LindormTSDB dapat secara ketat mengontrol akses ke bisnis Anda dan mengisolasi izin yang diperlukan.

Contoh

lindorm-cli

lindorm-cli -url <Endpoint untuk LindormTSDB SQL> -username <Nama Pengguna> -password <Kata Sandi> -database <Nama Database>

Untuk informasi lebih lanjut, lihat Gunakan Lindorm-cli untuk Terhubung dan Menggunakan LindormTSDB.

JDBC

String url = "<Endpoint untuk LindormTSDB SQL>";
String username = "<Nama Pengguna>";
String password = "<Kata Sandi>";
Connection conn = null;

try {
    conn = DriverManager.getConnection(url, username, password);
    // Lakukan operasi setelah klien terhubung ke LindormTSDB.
} catch (SQLException e) {
    e.printStackTrace();
}

Untuk informasi lebih lanjut tentang cara menggunakan JDBC untuk terhubung ke LindormTSDB, lihat Tutorial: Gunakan Driver JDBC untuk Lindorm untuk Terhubung dan Menggunakan LindormTSDB.

Druid

dataSource.setDriver(DriverManager.getDriver("<Endpoint untuk LindormTSDB SQL>"))
dataSource.setUrl("<Endpoint untuk LindormTSDB SQL>")
dataSource.setUsername("<Nama Pengguna>")
dataSource.setPassword("<Kata Sandi>")

Untuk informasi lebih lanjut tentang cara menggunakan Druid untuk terhubung ke LindormTSDB, lihat Tutorial: Gunakan Kumpulan Koneksi Druid untuk Terhubung ke LindormTSDB.

HTTP API

Jika aplikasi Anda memanggil operasi API HTTP yang kompatibel dengan OpenTSDB untuk mengakses LindormTSDB, saat fitur autentikasi pengguna dan verifikasi izin diaktifkan, permintaan yang dikirim dengan memanggil operasi API tersebut harus menyertakan kredensial pengguna.

Metode menentukan kredensial pengguna saat memanggil operasi API yang kompatibel dengan OpenTSDB untuk mengakses LindormTSDB

Sertakan kredensial pengguna yang dikodekan Base64 dalam header permintaan HTTP. Metodenya mirip dengan memanggil operasi API umum untuk mengirim permintaan SQL. Untuk informasi lebih lanjut, lihat Tentukan Kredensial Pengguna untuk Autentikasi.

Catatan

Untuk aplikasi yang menggunakan SDK Time Series Database (TSDB), Anda dapat menentukan nama pengguna dan kata sandi dengan memanggil metode basicAuth saat Anda membuat objek TSDBConfig.

url = "<HTTP Endpoint untuk LindormTSDB>/api/v2/sql"
username = "<Nama Pengguna>"
password = "<Kata Sandi>"
auth = HTTPBasicAuth(username, password)


headers = {
    "Content-Type": "text/plain",
    "Authorization": f"Basic {base64.b64encode(f'{username}:{password}'.encode()).decode()}"
}

Untuk informasi lebih lanjut tentang cara menggunakan operasi API HTTP untuk terhubung ke LindormTSDB, lihat Isi Permintaan.

Untuk informasi lebih lanjut tentang izin yang diperlukan untuk memanggil operasi API HTTP, lihat Izin yang Diperlukan untuk Memanggil Operasi API yang Kompatibel dengan OpenTSDB untuk Mengakses LindormTSDB.

Pengguna dan izin

Model izin

Tipe izin

Di LindormTSDB, izin diklasifikasikan menjadi empat jenis. Tabel berikut menjelaskan keempat jenis izin tersebut.

Nama izin

Deskripsi

READ

Izin baca. Untuk mengambil data dalam tabel, Anda harus memiliki izin baca pada tabel tersebut.

WRITE

Izin tulis. Untuk menulis data ke tabel, Anda harus memiliki izin tulis pada tabel tersebut.

ADMIN

Izin administratif. Untuk mengelola objek data di LindormTSDB, Anda harus memiliki izin administratif pada objek data yang ingin Anda kelola.

SYSTEM

Izin sistem. Anda harus memiliki izin sistem untuk melakukan operasi yang dapat memengaruhi seluruh instans.

Ruang lingkup izin

LindormTSDB memungkinkan Anda menentukan ruang lingkup izin yang Anda berikan kepada pengguna berdasarkan kebutuhan bisnis yang berbeda. LindormTSDB mendukung dua ruang lingkup izin berikut:

  • GLOBAL

    Anda dapat memberikan dan mencabut izin pada semua sumber daya secara global.

    Jika pengguna diberikan izin pada semua sumber daya secara global, pengguna dapat melakukan operasi yang sesuai pada semua objek data di LindormTSDB. Misalnya, jika pengguna diberikan izin READ pada semua sumber daya secara global, pengguna dapat mengambil data di semua tabel seri waktu di semua database.

  • DATABASE

    Anda dapat memberikan dan mencabut izin pada database tertentu.

    Jika pengguna diberikan izin pada database, pengguna dapat melakukan operasi yang sesuai pada semua objek data di database tersebut. Misalnya, jika pengguna diberikan izin READ pada database bernama DB1, pengguna dapat mengambil data di semua tabel seri waktu di database tersebut.

Aturan otorisasi

  • Ruang lingkup izin SYSTEM adalah GLOBAL.

  • Hanya pengguna yang memiliki izin ADMIN pada ruang lingkup GLOBAL atau izin SYSTEM yang dapat membuat, menghapus, dan mengotorisasi pengguna atau mencabut izin dari pengguna.

  • Izin pengguna adalah gabungan semua izin yang diberikan kepada pengguna. Misalnya, jika Anda memiliki izin READ pada ruang lingkup GLOBAL dan izin READ pada ruang lingkup DATABASE pada saat yang sama, Anda dapat mengambil data di semua database LindormTSDB.

Kelola pengguna dan izin

LindormTSDB memungkinkan Anda menggunakan SQL dan sistem manajemen kluster LindormTable untuk mengelola pengguna dan izin.

Gunakan SQL untuk mengelola pengguna dan izin

  • Untuk informasi lebih lanjut tentang sintaks SQL yang digunakan untuk membuat pengguna, lihat CREATE USER.

  • Untuk informasi lebih lanjut tentang sintaks SQL yang digunakan untuk menghapus pengguna, lihat DROP USER.

  • Untuk informasi lebih lanjut tentang sintaks SQL yang digunakan untuk memodifikasi kata sandi pengguna, lihat ALTER USER.

  • Untuk informasi lebih lanjut tentang sintaks SQL yang digunakan untuk melihat semua pengguna, lihat SHOW.

  • Untuk informasi lebih lanjut tentang sintaks SQL yang digunakan untuk memberikan izin kepada pengguna, lihat GRANT.

  • Untuk informasi lebih lanjut tentang sintaks SQL yang digunakan untuk mencabut izin dari pengguna, lihat REVOKE.

Gunakan sistem manajemen kluster untuk mengelola pengguna dan izin

Data pengguna dan izin dibagikan di LindormTSDB dan LindormTable. Jika Anda mengaktifkan LindormTable, Anda dapat masuk ke sistem manajemen kluster LindormTable untuk mengelola pengguna dan izin. Untuk informasi lebih lanjut tentang cara menggunakan sistem manajemen kluster, lihat Masuk ke Sistem Manajemen Kluster.

Penting
  • Sistem manajemen kluster LindormTable mendukung izin TRASH. Izin ini tidak digunakan di LindormTSDB.

  • Jika namespace di LindormTable memiliki nama yang sama dengan database di LindormTSDB dan pengguna diberikan izin pada namespace tersebut, pengguna memiliki izin untuk mengakses database dengan nama yang sama di LindormTSDB secara default.

Izin yang diperlukan untuk mengeksekusi pernyataan SQL umum

Tabel berikut menjelaskan izin yang diperlukan untuk mengeksekusi pernyataan SQL umum.

Catatan

Dalam tabel berikut, ○ menunjukkan bahwa izin diperlukan, dan × menunjukkan bahwa izin tidak diperlukan.

Pernyataan SQL

GLOBAL

DATABASE

Deskripsi

READ

WRITE

ADMIN

SYSTEM

READ

WRITE

ADMIN

SELECT...FROM...

×

×

×

×

×

-

INSERT INTO...VALUES...

×

×

×

×

×

-

INSERT INTO...SELECT...

×

×

×

Izin WRITE pada tabel tempat data dimasukkan diperlukan. Izin READ pada tabel tempat data diambil diperlukan.

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...

×

×

×

×

×

×

-

Izin yang diperlukan untuk memanggil operasi API HTTP yang kompatibel dengan OpenTSDB

Untuk memanggil operasi API HTTP yang kompatibel dengan OpenTSDB, Anda harus memiliki izin yang sesuai pada ruang lingkup GLOBAL.

Tabel berikut menjelaskan izin yang diperlukan untuk memanggil setiap operasi API HTTP.

Catatan

Dalam tabel berikut, ○ menunjukkan bahwa izin diperlukan, dan × menunjukkan bahwa izin tidak diperlukan.

Operasi 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

×

×