كيف تضمن قاعدة بيانات ميلفوس فيكتور أمن البيانات؟
صورة الغلاف
مراعاةً لأمان بياناتك بشكل كامل، أصبحت مصادقة المستخدم واتصال أمان طبقة النقل (TLS) متاحة الآن رسميًا في Milvus 2.1. بدون مصادقة المستخدم، يمكن لأي شخص الوصول إلى جميع البيانات في قاعدة بيانات المتجهات الخاصة بك باستخدام SDK. ومع ذلك، بدءًا من الإصدار Milvus 2.1، لا يمكن الوصول إلى قاعدة بيانات Milvus vector إلا لمن لديهم اسم مستخدم وكلمة مرور صالحين. بالإضافة إلى ذلك، في Milvus 2.1، يتم حماية أمن البيانات في Milvus 2.1 بشكل أكبر بواسطة TLS، مما يضمن اتصالات آمنة في شبكة الكمبيوتر.
تهدف هذه المقالة إلى تحليل كيفية ضمان قاعدة بيانات المتجهات في ملفوس لأمن البيانات من خلال مصادقة المستخدم واتصال TLS وشرح كيفية الاستفادة من هاتين الميزتين كمستخدم يريد ضمان أمن البيانات عند استخدام قاعدة بيانات المتجهات.
انتقل إلى:
ما هو أمن قاعدة البيانات ولماذا هو مهم؟
يشير أمن قاعدة البيانات إلى التدابير المتخذة لضمان أن جميع البيانات في قاعدة البيانات آمنة ومحفوظة السرية. حالات اختراق البيانات وتسريب البيانات التي حدثت مؤخرًا في تويتر وماريوت وإدارة التأمين في تكساس وغيرها تجعلنا أكثر يقظة لمسألة أمن البيانات. كل هذه الحالات تذكرنا باستمرار بأن الشركات والشركات يمكن أن تعاني من خسائر فادحة إذا لم تكن البيانات محمية بشكل جيد وقواعد البيانات التي تستخدمها آمنة.
كيف تضمن قاعدة بيانات Milvus vector أمن البيانات؟
في الإصدار الحالي من الإصدار 2.1، تحاول قاعدة بيانات Milvus vector ضمان أمن قاعدة البيانات عن طريق المصادقة والتشفير. وبشكل أكثر تحديدًا، على مستوى الوصول، تدعم Milvus مصادقة المستخدم الأساسية للتحكم في من يمكنه الوصول إلى قاعدة البيانات. وفي الوقت نفسه، على مستوى قاعدة البيانات، تعتمد Milvus بروتوكول تشفير طبقة النقل (TLS) لحماية اتصال البيانات.
مصادقة المستخدم
تدعم ميزة مصادقة المستخدم الأساسية في Milvus الوصول إلى قاعدة بيانات المتجهات باستخدام اسم مستخدم وكلمة مرور من أجل أمن البيانات. وهذا يعني أنه لا يمكن للعملاء الوصول إلى مثيل Milvus إلا عند تقديم اسم مستخدم وكلمة مرور مصادق عليهما.
سير عمل المصادقة في قاعدة بيانات متجهات ميلفوس
يتم التعامل مع جميع طلبات gRPC بواسطة وكيل Milvus، وبالتالي تتم المصادقة بواسطة الوكيل. يكون سير عمل تسجيل الدخول باستخدام بيانات الاعتماد للاتصال بمثيل Milvus على النحو التالي.
- إنشاء بيانات اعتماد لكل مثيل Milvus ويتم تخزين كلمات المرور المشفرة في etcd. تستخدم Milvus bcrypt للتشفير حيث تقوم بتنفيذ خوارزمية التجزئة التكيفية الخاصة بـ Provos و Mazières.
- من جانب العميل، ترسل SDK نصًا مشفرًا عند الاتصال بخدمة Milvus. يتم إرفاق نص التشفير الأساسي 64 (
: ) بالبيانات الوصفية مع المفتاح authorization
. - يعترض وكيل Milvus الطلب ويتحقق من بيانات الاعتماد.
- يتم تخزين بيانات الاعتماد مؤقتًا محليًا في الوكيل.
سير_عمل_التوثيق التلقائي
عندما يتم تحديث بيانات الاعتماد، يكون سير عمل النظام في ميلفوس كما يلي
- التنسيق الجذر هو المسؤول عن بيانات الاعتماد عند استدعاء واجهات برمجة التطبيقات للإدراج والاستعلام والحذف.
- عندما تقوم بتحديث بيانات الاعتماد لأنك نسيت كلمة المرور على سبيل المثال، يتم الاحتفاظ بكلمة المرور الجديدة في إلخد. ثم يتم إبطال جميع بيانات الاعتماد القديمة في ذاكرة التخزين المؤقت المحلية للوكيل.
- يبحث معترض المصادقة عن السجلات من ذاكرة التخزين المؤقت المحلية أولاً. إذا كانت بيانات الاعتماد الموجودة في ذاكرة التخزين المؤقت غير صحيحة، فسيتم تشغيل استدعاء RPC لجلب أحدث سجل من جذر التنسيق. ويتم تحديث بيانات الاعتماد في ذاكرة التخزين المؤقت المحلية وفقًا لذلك.
سير عمل_تحديث_بيانات_الاعتماد
كيفية إدارة مصادقة المستخدم في قاعدة بيانات Milvus vector
لتمكين المصادقة، تحتاج أولاً إلى تعيين common.security.authorizationEnabled
إلى true
عند تكوين ملف Milvus في ملف milvus.yaml
.
بمجرد التمكين، سيتم إنشاء مستخدم جذر لمثيل ميلفوس. يمكن لمستخدم الجذر هذا استخدام كلمة المرور الأولية Milvus
للاتصال بقاعدة بيانات Milvus vector.
from pymilvus import connections
connections.connect(
alias='default',
host='localhost',
port='19530',
user='root_user',
password='Milvus',
)
نوصي بشدة بتغيير كلمة مرور المستخدم الجذر عند بدء تشغيل ميلفوس للمرة الأولى.
بعد ذلك يمكن للمستخدم الجذر إنشاء المزيد من المستخدمين الجدد للوصول المصادق عليه عن طريق تشغيل الأمر التالي لإنشاء مستخدمين جدد.
from pymilvus import utility
utility.create_credential('user', 'password', using='default')
هناك أمران يجب تذكرهما عند إنشاء مستخدمين جدد:
بالنسبة لاسم المستخدم الجديد، لا يمكن أن يتجاوز طوله 32 حرفًا ويجب أن يبدأ بحرف. يُسمح فقط بالشرطات السفلية أو الحروف أو الأرقام في اسم المستخدم. على سبيل المثال اسم المستخدم "2abc!" غير مقبول.
بالنسبة لكلمة المرور، يجب أن يكون طولها 6-256 حرفًا.
بمجرد إعداد بيانات الاعتماد الجديدة، يمكن للمستخدم الجديد الاتصال بمثيل ميلفوس باستخدام اسم المستخدم وكلمة المرور.
from pymilvus import connections
connections.connect(
alias='default',
host='localhost',
port='19530',
user='user',
password='password',
)
مثل جميع عمليات المصادقة، لا داعي للقلق إذا نسيت كلمة المرور. يمكن إعادة تعيين كلمة المرور لمستخدم موجود باستخدام الأمر التالي.
from pymilvus import utility
utility.reset_password('user', 'new_password', using='default')
اقرأ وثائق Milvus لمعرفة المزيد عن مصادقة المستخدم.
اتصال TLS
أمان طبقة النقل (TLS) هو نوع من بروتوكول المصادقة لتوفير أمان الاتصالات في شبكة الكمبيوتر. يستخدم TLS شهادات لتوفير خدمات المصادقة بين طرفين أو أكثر من أطراف الاتصال.
كيفية تمكين TLS في قاعدة بيانات Milvus vector
لتمكين TLS في Milvus، تحتاج أولاً إلى تشغيل الأمر التالي لإعداد ملفين لإنشاء الشهادة: ملف تكوين OpenSSL افتراضي باسم openssl.cnf
وملف باسم gen.sh
يستخدم لإنشاء الشهادات ذات الصلة.
mkdir cert && cd cert
touch openssl.cnf gen.sh
ثم يمكنك ببساطة نسخ ولصق التكوين الذي نقدمه هنا في الملفين. أو يمكنك أيضًا إجراء تعديلات بناءً على تكويننا لتناسب تطبيقك بشكل أفضل.
عندما يصبح الملفان جاهزين، يمكنك تشغيل الملف gen.sh
لإنشاء تسعة ملفات شهادات. وبالمثل، يمكنك أيضًا تعديل التكوينات في ملفات الشهادات التسعة لتناسب حاجتك.
chmod +x gen.sh
./gen.sh
هناك خطوة أخيرة قبل أن تتمكن من الاتصال بخدمة Milvus باستخدام TLS. يجب عليك تعيين tlsEnabled
إلى true
وتكوين مسارات الملفات server.pem
و server.key
و ca.pem
للخادم في config/milvus.yaml
. الرمز أدناه هو مثال على ذلك.
tls:
serverPemPath: configs/cert/server.pem
serverKeyPath: configs/cert/server.key
caPemPath: configs/cert/ca.pem
common:
security:
tlsEnabled: true
بعد ذلك تكون جاهزًا تمامًا ويمكنك الاتصال بخدمة Milvus باستخدام TLS طالما أنك تحدد مسارات الملفات client.pem
و client.key
و ca.pem
للعميل عند استخدام مجموعة أدوات تطوير البرمجيات الخاصة باتصال Milvus. الرمز أدناه هو أيضًا مثال على ذلك.
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())
ما التالي
مع الإصدار الرسمي لـ Milvus 2.1، أعددنا سلسلة من المدونات التي تقدم الميزات الجديدة. اقرأ المزيد في سلسلة المدونات هذه:
- كيفية استخدام بيانات السلاسل لتمكين تطبيقات البحث عن التشابه لديك
- استخدام ميلفوس المدمج لتثبيت وتشغيل ميلفوس مع بايثون على الفور
- زيادة إنتاجية قراءة قاعدة بيانات المتجهات باستخدام النسخ المتماثلة في الذاكرة
- فهم مستوى الاتساق في قاعدة بيانات Milvus Vector في قاعدة بيانات Milvus
- فهم مستوى الاتساق في قاعدة بيانات Milvus Vector (الجزء الثاني)
- كيف تضمن قاعدة بيانات Milvus Vector أمان البيانات؟
- ما هو أمن قاعدة البيانات ولماذا هو مهم؟
- كيف تضمن قاعدة بيانات Milvus vector أمن البيانات؟
- ما التالي
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word