Otentikasi Akses Pengguna
Panduan ini menjelaskan cara mengelola otentikasi pengguna di Milvus, termasuk mengaktifkan otentikasi, masuk sebagai pengguna, dan mengubah kredensial pengguna.
TLS dan otentikasi pengguna adalah dua pendekatan keamanan yang berbeda. Jika Anda telah mengaktifkan baik otentikasi pengguna maupun TLS di sistem Milvus Anda, Anda harus menyediakan nama pengguna, kata sandi, dan jalur file sertifikat. Untuk informasi tentang cara mengaktifkan TLS, lihat Enkripsi Selama Transmisi.
Potongan kode pada halaman ini menggunakan `new MilvusClient ` (Python) untuk berinteraksi dengan Milvus. SDK MilvusClient baru untuk bahasa pemrograman lain akan dirilis pada pembaruan mendatang.
Mengaktifkan otentikasi pengguna
Untuk mengaktifkan otentikasi pengguna pada server Milvus Anda, atur common.security.authorizationEnabled menjadi true di berkas konfigurasi Milvus milvus.yaml. Untuk informasi lebih lanjut mengenai konfigurasi, lihat Konfigurasi Milvus dengan Docker Compose.
...
common:
...
security:
authorizationEnabled: true
...
Untuk mengaktifkan otentikasi pengguna pada server Milvus Anda, atur `authorizationEnabled` menjadi `true` di berkas konfigurasi Milvus ` values.yaml`. Untuk informasi lebih lanjut mengenai konfigurasi, lihat Konfigurasi Milvus dengan Helm Charts.
...
extraConfigFiles:
user.yaml: |+
common:
security:
authorizationEnabled: true
...
Untuk mengaktifkan otentikasi, atur ` spec.config.common.security.authorizationEnabled ` menjadi ` true ` di CRD ` Milvus `. Untuk informasi lebih lanjut mengenai CRD Milvus, lihat Konfigurasi Milvus dengan Milvus Operator.
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release
labels:
app: milvus
spec:
# Omit other fields ...
config:
common:
security:
authorizationEnabled: true
Menghubungkan ke Milvus dengan otentikasi
Setelah mengaktifkan otentikasi, Anda perlu terhubung ke Milvus menggunakan nama pengguna dan kata sandi. Secara default, pengguna root dibuat dengan kata sandi Milvus saat Milvus dimulai. Berikut adalah contoh cara terhubung ke Milvus dengan otentikasi diaktifkan menggunakan pengguna root default:
# use default `root` user to connect to Milvus
from pymilvus import MilvusClient
client = MilvusClient(
uri='http://localhost:19530', # replace with your own Milvus server address
token="root:Milvus"
)
Buat pengguna baru
Saat terhubung sebagai root, buat pengguna dengan create_user(). Pilih kata sandi berpanjang 6–72 byte UTF-8, kecuali jika deployment Anda menggunakan batasan panjang kata sandi khusus.
# create a user
client.create_user(
user_name="user_1",
password="P@ssw0rd",
)
# verify the user has been created
client.describe_user("user_1")
# output
# {'user_name': 'user_1', 'roles': ()}
Untuk informasi lebih lanjut tentang membuat pengguna, lihat create_user().
Terhubung ke Milvus dengan pengguna baru
Terhubung menggunakan kredensial pengguna yang baru dibuat:
# connect to milvus with the newly created user
client = MilvusClient(
uri="http://localhost:19530",
token="user_1:P@ssw0rd"
)
Perbarui kata sandi pengguna
Untuk mengubah kata sandi pengguna, masukkan kata sandi saat ini dan kata sandi baru yang memenuhi persyaratan kata sandi yang sama.
# update password
client.update_password(
user_name="user_1",
old_password="P@ssw0rd",
new_password="P@ssw0rd123"
)
Untuk informasi lebih lanjut mengenai pembaruan kata sandi pengguna, lihat fungsi ` update_password()`.
Jika Anda lupa kata sandi lama, Milvus menyediakan opsi konfigurasi yang memungkinkan Anda menunjuk pengguna tertentu sebagai pengguna super. Hal ini menghilangkan kebutuhan akan kata sandi lama saat Anda mereset kata sandi.
Secara default, kolom ` common.security.superUsers ` dalam berkas konfigurasi Milvus kosong, artinya semua pengguna harus memasukkan kata sandi lama saat mereset kata sandi mereka. Namun, Anda dapat menunjuk pengguna tertentu sebagai pengguna super yang tidak perlu memasukkan kata sandi lama. Dalam potongan kode di bawah ini, root dan foo ditunjuk sebagai pengguna super.
Anda harus menambahkan item konfigurasi di bawah ini ke dalam berkas konfigurasi Milvus yang mengatur pengoperasian instance Milvus Anda.
common:
security:
superUsers: root, foo
Menghapus pengguna
Untuk menghapus pengguna, gunakan metode ` drop_user() `.
client.drop_user(user_name="user_1")
Menampilkan daftar semua pengguna
Menampilkan daftar semua pengguna.
# list all users
client.list_users()
Batasan
Persyaratan nama pengguna
Nama pengguna tidak boleh kosong atau melebihi 32 karakter. Nama pengguna harus dimulai dengan huruf dan hanya boleh berisi huruf, angka, atau garis bawah.
Persyaratan kata sandi
Kata sandi harus memiliki panjang 6–72 byte UTF-8 secara default. Setiap karakter ASCII menempati satu byte; karakter multibyte menempati lebih dari satu byte. Milvus tidak mensyaratkan kombinasi tertentu antara huruf besar, huruf kecil, angka, atau karakter khusus.
Untuk mengubah batas panjang, konfigurasikan proxy.minPasswordLength dan proxy.maxPasswordLength. Batas maksimum tidak boleh melebihi 72 byte. Nilai proxy.maxPasswordLength yang nol atau kurang, atau di atas 72, akan dianggap sebagai 72. Untuk petunjuk konfigurasi, lihat Konfigurasi Milvus Secara Langsung.
Langkah Selanjutnya
- Anda mungkin juga ingin mempelajari cara:
- Jika Anda siap untuk menerapkan kluster Anda di cloud: