Mengautentikasi Akses Pengguna
Panduan ini menjelaskan cara mengelola autentikasi pengguna di Milvus, termasuk mengaktifkan autentikasi, menyambung sebagai pengguna, dan memodifikasi kredensial pengguna.
TLS dan autentikasi pengguna adalah dua pendekatan keamanan yang berbeda. Jika anda telah mengaktifkan autentikasi pengguna dan TLS di sistem Milvus anda, anda harus menyediakan nama pengguna, kata sandi, dan jalur file sertifikat. Untuk informasi tentang cara mengaktifkan TLS, lihat Enkripsi dalam Perjalanan.
Potongan kode pada halaman ini menggunakan MilvusClient (Python) baru untuk berinteraksi dengan Milvus. SDK MilvusClient baru untuk bahasa lain akan dirilis pada pembaruan mendatang.
Mengaktifkan autentikasi pengguna
Untuk mengaktifkan autentikasi pengguna bagi server Milvus Anda, setel common.security.authorizationEnabled ke true pada berkas konfigurasi Milvus milvus.yaml
. Untuk informasi lebih lanjut tentang konfigurasi, lihat Mengkonfigurasi Milvus dengan Docker Compose.
...
common:
...
security:
authorizationEnabled: true
...
Untuk mengaktifkan autentikasi pengguna bagi server Milvus Anda, setel authorizationEnabled ke true pada berkas konfigurasi Milvus values.yaml
. Untuk informasi lebih lanjut tentang konfigurasi, lihat Mengkonfigurasi Milvus dengan Helm Charts.
...
extraConfigFiles:
user.yaml: |+
common:
security:
authorizationEnabled: true
...
Untuk mengaktifkan autentikasi, setel spec.common.security.authorizationEnabled
ke true
pada CRD Milvus
. Untuk informasi lebih lanjut tentang CRD Milvus, lihat Mengkonfigurasi Milvus dengan Operator Milvus.
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release
labels:
app: milvus
spec:
# Omit other fields ...
config:
common:
security:
authorizationEnabled: true
Terhubung ke Milvus dengan autentikasi
Setelah mengaktifkan autentikasi, Anda harus terhubung ke Milvus menggunakan nama pengguna dan kata sandi. Secara default, pengguna root
dibuat dengan kata sandi Milvus
ketika Milvus dimulai. Berikut ini adalah contoh bagaimana menghubungkan ke Milvus dengan autentikasi yang diaktifkan menggunakan pengguna default root
:
# 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"
)
Membuat pengguna baru
Setelah tersambung sebagai pengguna root
default, Anda dapat membuat dan mengautentikasi pengguna baru sebagai berikut:
# 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 cara membuat pengguna, lihat create_user().
Terhubung ke Milvus dengan pengguna baru
Sambungkan dengan 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"
)
Memperbarui kata sandi pengguna
Ubah kata sandi untuk pengguna yang sudah ada dengan kode berikut:
# update password
client.update_password(
user_name="user_1",
old_password="P@ssw0rd",
new_password="P@ssw0rd123"
)
Untuk informasi lebih lanjut mengenai cara memperbarui kata sandi pengguna, lihat update_password().
Jika anda lupa kata sandi lama anda, Milvus menyediakan sebuah item konfigurasi yang memungkinkan anda untuk menetapkan pengguna tertentu sebagai pengguna super. Hal ini menghilangkan kebutuhan akan kata sandi lama ketika anda mengatur ulang kata sandi.
Secara default, kolom common.security.superUsers
pada file konfigurasi Milvus kosong, yang berarti bahwa semua pengguna harus memasukkan kata sandi lama ketika mereset kata sandi mereka. Namun, anda dapat menetapkan pengguna tertentu sebagai pengguna super yang tidak perlu memberikan kata sandi lama. Pada cuplikan di bawah ini, root
dan foo
ditetapkan sebagai pengguna super.
Anda harus menambahkan item konfigurasi di bawah ini pada berkas konfigurasi Milvus yang mengatur jalannya instans Milvus Anda.
common:
security:
superUsers: root, foo
Menghapus pengguna
Untuk menghapus pengguna, gunakan metode drop_user()
.
client.drop_user(user_name="user_1")
Membuat daftar semua pengguna
Membuat daftar semua pengguna.
# list all users
client.list_users()
Batasan
- Nama pengguna tidak boleh kosong, dan panjangnya tidak boleh lebih dari 32 karakter. Nama pengguna harus dimulai dengan huruf, dan hanya berisi garis bawah, huruf, atau angka.
- Kata sandi harus terdiri dari minimal 6 karakter dan tidak boleh melebihi 256 karakter.
Selanjutnya
- Anda mungkin juga ingin mempelajari bagaimana caranya:
- Jika Anda siap untuk menerapkan cluster Anda di cloud:
- Pelajari cara Menerapkan Milvus di Amazon EKS dengan Terraform
- Pelajari cara Menerapkan Klaster Milvus di GCP dengan Kubernetes
- Pelajari cara Menerapkan Milvus di Microsoft Azure dengan Kubernetes