日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Milvus向量數(shù)據(jù)庫如何確保數(shù)據(jù)安全?

在充分考慮數(shù)據(jù)安全的情況下,用戶身份驗證和傳輸層安全(TLS)連接現(xiàn)在在Milvus 2.1中正式可用。無需用戶身份驗證,任何人都可以使用SDK訪問向量數(shù)據(jù)庫中的所有數(shù)據(jù)。但是,從Milvus 2.1開始,只有擁有有效用戶名和密碼的用戶才能訪問Milvus向量數(shù)據(jù)庫。此外在Milvus2.1中,數(shù)據(jù)安全性受到傳輸層安全(TLS)的進(jìn)一步保護(hù),可以確保計算機網(wǎng)絡(luò)中的安全通信。

本文旨在分析向量數(shù)據(jù)庫Milvus如何通過用戶身份驗證和TLS連接來確保數(shù)據(jù)安全,并解釋作為想要在使用向量數(shù)據(jù)庫時確保數(shù)據(jù)安全的用戶,如何利用這兩個特性。

什么是數(shù)據(jù)庫安全性以及為什么它很重要?

數(shù)據(jù)庫安全性是指為確保數(shù)據(jù)庫中所有數(shù)據(jù)的安全和保密而采取的措施。最近在Twitter公司、萬豪酒店和德克薩斯州保險部等發(fā)生的數(shù)據(jù)泄露事件,讓人們對數(shù)據(jù)安全問題更加警惕。所有這些案例不斷地提醒人們,如果數(shù)據(jù)沒有得到很好的保護(hù)并且他們使用的數(shù)據(jù)庫是安全的,那么企業(yè)或組織可能會遭受嚴(yán)重的損失。

Milvus向量庫如何保障數(shù)據(jù)安全?

在當(dāng)前2.1版本中,Milvus向量數(shù)據(jù)庫嘗試通過身份驗證和加密來確保數(shù)據(jù)庫安全。更具體地說,在訪問級別上,Milvus支持基本的用戶身份驗證來控制誰可以訪問數(shù)據(jù)庫。與此同時,在數(shù)據(jù)庫層面,Milvus采用傳輸層安全(TLS)加密協(xié)議來保護(hù)數(shù)據(jù)通信。

用戶認(rèn)證

Milvus向量數(shù)據(jù)庫中的基本用戶身份驗證功能支持使用用戶名和密碼訪問向量數(shù)據(jù)庫,以確保數(shù)據(jù)安全。這意味著客戶端只有在提供經(jīng)過身份驗證的用戶名和密碼后才能訪問Milvus實例。

1.MilvusVector數(shù)據(jù)庫中的身份驗證工作流程

所有g(shù)RPC請求都由Milvus代理處理;因此身份驗證由代理完成。使用憑證登錄連接Milvus實例的流程如下:

(1)為每個Milvus實例創(chuàng)建憑證,加密后的密碼存儲在etcd中。Milvus使用bcrypt進(jìn)行加密,因為它實現(xiàn)了Provos和Mazières的自適應(yīng)哈希算法。

(2)在客戶端,SDK連接Milvus服務(wù)時發(fā)送密文。base64密文(:)通過密鑰授權(quán)附加到元數(shù)據(jù)。

(3)Milvus代理攔截請求并驗證憑證。

(4)憑證在代理本地緩存。

身份驗證工作流程

在更新憑證后,Milvus向量數(shù)據(jù)庫中的系統(tǒng)工作流程如下:

(1)Root coord負(fù)責(zé)調(diào)用插入、查詢和刪除API時的憑據(jù)。

(2)當(dāng)用戶因為忘記密碼而更新憑證時,例如,新密碼將保存在etcd中。則代理的本地緩存中的所有舊憑據(jù)都將無效。

(3)身份驗證攔截器首先從本地緩存中查找記錄。如果緩存中的憑據(jù)不正確,將觸發(fā)從根坐標(biāo)獲取最新記錄的RPC調(diào)用。并且本地緩存中的憑據(jù)會相應(yīng)更新。

憑據(jù)更新工作流程

2.如何在Milvus向量數(shù)據(jù)庫中管理用戶身份驗證

要啟用身份驗證,需要在milvus.yaml文件中配置Milvus時先將common.security.authorizationEnabled設(shè)置為true。

在啟用之后,將為Milvus實例創(chuàng)建一個root用戶。該root用戶可以使用Milvus的初始密碼連接Milvus向量數(shù)據(jù)庫。

from pymilvus import connections
connections.connect(
alias='default',
host='localhost',
port='19530',
user='root_user',
password='Milvus',
)

強烈建議在首次啟動 Milvus 向量數(shù)據(jù)庫時更改 root 用戶的密碼。

然后, root 用戶可以通過運行以下命令創(chuàng)建新用戶來進(jìn)一步創(chuàng)建更多新用戶進(jìn)行身份驗證訪問。

from pymilvus import utility
utility.create_credential('user', 'password', using='default')

創(chuàng)建新用戶時要記住兩件事:

  • 新用戶名長度不能超過32個字符,且必須以字母開頭。用戶名中只允許使用下劃線、字母或數(shù)字。例如,用戶名“2abc!”不被接受。
  • 至于密碼,其長度應(yīng)為6~256個字符。

設(shè)置好新憑證后,新用戶可以使用用戶名和密碼連接到Milvus實例。

from pymilvus import connections
connections.connect(
alias='default',
host='localhost',
port='19530',
user='user',
password='password',
)

與所有身份驗證過程一樣,不必?fù)?dān)心忘記密碼。可以使用以下命令重置現(xiàn)有用戶的密碼。

from pymilvus import utility
utility.reset_password('user', 'new_password', using='default')

2.TLS連接

傳輸層安全性(TLS)是一種身份驗證協(xié)議,用于在計算機網(wǎng)絡(luò)中提供通信安全性。TLS使用證書在兩個或多個通信方之間提供身份驗證服務(wù)。

如何在Milvus向量數(shù)據(jù)庫中啟用TLS

要在Milvus向量數(shù)據(jù)庫中啟用TLS,首先需要運行以下命令,準(zhǔn)備兩個用于生成證書的文件:一個名為openssl.cnf的默認(rèn)OpenSSL配置文件和一個名為gen.shused的文件,用于生成相關(guān)證書。

mkdir cert && cd cert
touch openssl.cnf gen.sh

然后可以將在此處提供的配置復(fù)制并粘貼到這兩個文件中?;蛞部梢愿鶕?jù)我的配置進(jìn)行修改,以更好地適應(yīng)應(yīng)用。

當(dāng)這兩個文件準(zhǔn)備好之后,可以運行g(shù)en.sh文件來創(chuàng)建九個證書文件。同樣,也可以根據(jù)需要修改九個證書文件中的配置。

chmod+xgen.sh
./gen.sh

在可以使用TLS連接到Milvus服務(wù)之前,還有最后一步。必須將tlsEnabled設(shè)置為true,并在config/milvus.yaml中配置服務(wù)器的server.pem、server.key和ca.pem的文件路徑。下面的代碼是一個例子。

tls:
serverPemPath: configs/cert/server.pem
serverKeyPath: configs/cert/server.key
caPemPath: configs/cert/ca.pem
common:
security:
tlsEnabled: true

然后,只要在使用Milvus連接SDK時為客戶端指定client.pem、client.key和ca.pem的文件路徑,就可以通過TLS連接Milvus服務(wù)。下面的代碼也是一個例子。

from pymilvus import connections
_HOST = '127.0.0.1'
_PORT = '19530'
print(f"\nCreate connection...")
connections.connect(host=_HOST, port=_PORT, secure=True, client_pem_path="cert/client.pem",
client_key_path="cert/client.key",
ca_pem_path="cert/ca.pem", server_name="localhost")
print(f"\nList connections:")
print(connections.list_connections())

原文標(biāo)題:??How Does the Milvus Vector Database Ensure Data Security???,作者:Angela Ni


網(wǎng)頁名稱:Milvus向量數(shù)據(jù)庫如何確保數(shù)據(jù)安全?
分享鏈接:http://m.5511xx.com/article/djgigjh.html