الأمن الداخلي
نظره عامه
الأمن الداخلي في Ilum هو نظام تفويض وتوثيق داخلي تديره Ilum Core. يقوم بتخزين جميع بيانات المستخدم بشكل آمن في قاعدة بيانات ويتم استخدامه داخل بيئة Ilum Core Server.
يوفر نظام الأمن الداخلي في Ilum التحكم في الوصول المستند إلى الدور (RBAC) , السماح بتعيين كل إجراء على خادم Ilum Core إلى إذن معين. يتيح ذلك إدارة الوصول بدقة عالية.
لتبسيط تعيينات الأذونات، يمكنك إنشاء أدوار ومجموعات المستخدمين التي حدد الأذونات للمستخدمين المقترنين بهذه الأدوار أو المجموعات.
Declarative Resource Management
Ilum Core provides a declarative way to manage users and their roles through Helm configuration.
An example of a Helm configuration for user management is provided below.
إيلوم كور :
أمن :
داخلي :
المستعملون :
- اسم المستخدم : المشرف
شعار : someNewSecurePassword # A simple way to change the initial password of the default admin user
ادوار :
- المشرف # Assigning the ADMIN role to the user
- اسم المستخدم : orgUser
شعار : كلمة مرور المستخدم # Set the initial password for the user
ادوار :
- مستخدم # Assigning the USER role to the user
مثل
دعنا ننشئ مستخدما يمكنه الوصول إلى بنية البيانات الحالية لاسترداد البيانات وتحليلها ولكن ليس لديه إذن لتعديله عن طريق إضافة كبسولات جديدة.
الخطوة الأولى هي إنشاء دور. يساعد هذا في تبسيط العملية عن طريق تجنب الحاجة إلى تعيينها بشكل متكرر أذونات لعدة مستخدمين.
- انتقل إلى الأمان -> الأدوار وانقر فوق الزر إضافة دور زر.
- املأ تفاصيل الدور، بما في ذلك الاسم والوصف. تذكر أن تتحقق من تمكين خانة الاختيار لتنشيط الدور.

- بعد ذلك، انتقل إلى اذونات وتعيين الأذونات المناسبة للدور.

في هذا المثال، سنقوم بتكوين الأذونات بناء على الافتراضات التالية:
- يجب أن يتمتع المستخدم بإمكانية الوصول الكامل إلى المعلومات حول بنية البيانات لاستخدامها بفعالية. تعيين قرأ أذونات الموارد التالية: الوظائف والخدمات والجداول الزمنية والمجموعات وطلبات الوظائف .
- يجب أن يكون المستخدم قادرا على العمل ضمن بنية البيانات لتحويل البيانات دون تغيير الأجزاء الهامة من النظام. تعيين أعدم إذن خدمة مورد. تعيين خلق إذن مهمة مورد.
- يجب أن يكون لدى المستخدم حق الوصول إلى مكونات Ilum مثل مستكشف الملفات وLineage ومستكشف الجداول وخادم التاريخ والمجموعة الفائقة ودفاتر ملاحظات Jupyter أو Zeppelin و Ilum SQL . وهب قرأ إذن لاستخدام كل مكون من هذه المكونات.
- يجب أن يكون المستخدم على دراية بامتيازاته ولكن ليس لديه القدرة على تعديلها. تعيين قرأ أذونات المجموعات والأدوار والمستخدمين
بعد إنشاء الدور ، فإن الخطوة التالية هي إنشاء المستخدم.
- انتقل إلى الأمان -> المستخدمين وانقر فوق إضافة مستخدم زر.
- املأ تفاصيل المستخدم وقم بتمكين الحساب عن طريق التحقق من الرمز تمكين مربع الاختيار.

- بعد ذلك، قم بتعيين اذونات للمستخدم.
أسهل طريقة للقيام بذلك هي تعيين الدور الذي قمت بإنشائه سابقا. سيؤدي هذا تلقائيا إلى منح جميع الأذونات المطلوبة للمستخدم.

إذا كانت الأذونات الإضافية مطلوبة بخلاف تلك الموجودة في الدور، يمكنك تعيينها مباشرة للمستخدم حسب الحاجة.

أخيرا ، المستخدم جاهز. يمكنك تسجيل الدخول إلى التطبيق باستخدام اسم المستخدم وكلمة المرور الخاصة به.
التحكم في الوصول
يتطلب كل إجراء في Ilum Core إذنا محددا. اعتبارا من وقت كتابة هذا المقال ، هناك 48 أذونات مختلفة يمكن تعيينها. لتبسيط التحكم في الوصول، يوصى باستخدام المجموعات والأدوار.
المجموعات تمثيل مجموعات المستخدمين داخل مؤسستك. من خلال تعيين مستخدم إلى مجموعة، يرث هذا المستخدم تلقائيا جميع الأذونات المقترنة بالمجموعة. يمكن منح أذونات المجموعة بشكل مباشر ، وكذلك من خلال الأدوار المعينة للمجموعة.
A مستخدم يمكن أن تنتمي إلى مجموعات متعددة ولها عدة أدوار معينة لها. هذا يعني أن المستخدم سيرث جميع الأذونات الممنوحة من قبل هذه المجموعات والأدوار. بالإضافة إلى ذلك، يمكنك تعيين الأذونات مباشرة للمستخدم. سيقوم Ilum Core بعد ذلك بالتحقق من الأذونات من خلال النظر في تلك المخصصة مباشرة للمستخدم ، بالإضافة إلى تلك الموجودة في المجموعات والأدوار التي ينتمون إليها ، بما في ذلك الأدوار المخصصة للمجموعات.
ملاحظة: يمكنك إيقاف الأدوار والمجموعات، مما يمنع المستخدمين من وراثة الأذونات منها. وبالمثل ، فإن تعطيل المستخدمين سيمنعهم من الوصول إلى أي شيء داخل التطبيق.
اذونات
يتطلب كل إجراء في Ilum Core إذنا خاصا به.
1. أذونات وظيفة Ilum:
- JOB_READ
- JOB_CREATE
- JOB_DELETE - لحذف الوظائف
- REQUEST_READ
ملاحظة: يمنحك JOB_READ الإذن الوصول إلى قراءة كل شيء عن الوظيفة: رسالة الخطأ والنجاح ، وسجلاتها ، ونظرة عامة مع المقاييس وما إلى ذلك ، يمنحك الإذن REQUEST_READ الوصول إلى قراءة قائمة بجميع الطلبات وتفاصيل كل منها
2. أذونات خدمة Ilum:
- SERVICE_CREATE
- SERVICE_DELETEARCHIVE
- SERVICE_EDIT
- SERVICE_PAUSERESUME
- SERVICE_EXECUTE
- SERVICE_READ
3. جدولة الأذونات:
- SCHEDULE_READ
- SCHEDULE_CREATE
- SCHEDULE_EDIT
- SCHEDULE_DELETE
- SCHEDULE_PAUSERESUME
4. أذونات نظام المجموعة:
- CLUSTER_READ
- CLUSTER_EDIT
- CLUSTER_CREATE
- CLUSTER_DELETE
ملاحظة: لا يمنح CLUSTER_READ حق الوصول إلى قراءة الخدمات والجداول الزمنية والوظائف داخل نظام المجموعة. مطلوب SERVICE_READ SCHEDULE_READ و JOB_READ
5. الوصول إلى الوحدات.
تتطلب كل وحدة إذنا للوصول إليها. يمنح هذا الإذن الوصول الكامل إلى الوحدة.
- NOTEBOOK_READ: جوبيتر وزيبلين
- LINEAGE_READ
- SUPERSET_READ
- HISTORYSERVER_READ
- MINIO_READ
- AIRFLOW_READ
- MLFLOW_READ
- SQL_READ
- TABLEEXPLORER_READ
- FILEEXPLORER_READ
6. إدارة الأمن
هذه هي الأذونات المطلوبة لمراقبة المستخدمين والأدوار والمجموعات وتحديثها وحذفها وتمكينها وتعطيلها. بالإضافة إلى ذلك ، هناك أذونات لمراقبة سجل الأنشطة ومسحه.
- USER_CREATE
- USER_EDIT_PASSWORD (لإعادة تعيين كلمة مرور المستخدم)
- USER_EDIT_DETAILS (لتحرير اسم المستخدم والوصف والاسم الكامل والقسم والبريد الإلكتروني)
- USER_EDIT_ACCESS (لتحرير أذونات المستخدم والأدوار والمجموعات)
- USER_DELETE
- USER_ENABLEDISABLE
- USER_READ
- USERROLE_CREATE
- USERROLE_READ
- USERROLE_DELETE
- USERROLE_EDIT
- USERROLE_ENABLEDISABLE
- GROUP_READ
- GROUP_DELETE
- GROUP_CREATE
- GROUP_EDIT
- GROUP_ENABLEDISABLE
- ACTIVITY_READ
- ACTIVITY_DELETE
الأدوار الافتراضية
بشكل افتراضي ، يقدم Ilum Core 4 أدوار لك:
- المشرف لديه حق الوصول إلى جميع الأذونات:
- مستخدم لديه حق الوصول فقط لإذن القراءة باستثناء MLFlow و Minio و Ilum sql و Airlfow و Notebooks.: لديه إذن USER_EDIT_DETAILS
- DATA_ENGINEER لديه حق الوصول إلى جميع الأذونات باستثناء أذونات الأمان.: لديه إذن USER_EDIT_DETAILS
- DATA_SCIENTIST لديه جميع أذونات القراءة باستثناء MLFlow و Airflow.: لديه أذونات SERVICE_EXECUTE و JOB_CREATE. لديه إذن USER_EDIT_DETAILS
الانشطه
يحتفظ Ilum بسجل عمليات المستخدم ، والذي يمكن عرضه في أنشطة الأمن > مجلد. هنا، يمكنك الاطلاع على وصف موجز لكل إجراء تم تنفيذه، جنبا إلى جنب مع نقطة النهاية المستخدمة، وجميع متغيرات المسار المقترنة والطابع الزمني الخاص بها.

يمكنك تصفية سجل النشاط حسب اسم أو بواسطة نقطه النهايه للعثور بسرعة على المعلومات ذات الصلة.
نشر
تقدم Ilum 3 أنواع أمان ويمكنك اختيار واحد منها فقط في ذلك الوقت.
من أجل اختيار الأمان الداخلي ، يجب عليك تعيين تكوينات helm المقابلة إلى داخلي على النحو التالي:
ترقية Helm ilum ilum / ilum \\
--set ilum-core.security.internal.enabled=true \\
--set ilum-core.security.type=internal --reuse-values
بالإضافة إلى ذلك، يمكنك استخدام تكوين Helm لإضافة مستخدمين أوليين إلى التطبيق الخاص بك. سيتم إنشاء المستخدمين الذين تمت إضافتهم عبر تكوين Helm أثناء بدء تشغيل التطبيق وتصنيفهم على أنهم مستخدمون جذر.
مستخدمو الجذر تأتي مع قيود معينة: لا يمكنك حذف اسم المستخدم الخاص به أو تعطيله أو تغييره أو تقييد وصوله. ومع ذلك، يمكنك تحديث تفاصيله، مثل الاسم الكامل أو البريد الإلكتروني أو الوصف أو إعادة تعيين كلمة المرور الخاصة به. هذا يضمن لك دائما الوصول المضمون إلى التطبيق الخاص بك.
إذا كنت بحاجة إلى تحديث المستخدمين الأوليين ، فما عليك سوى تعديل تكوين Helm الخاص بك. سيقوم Ilum تلقائيا بتطبيق التكوين المحدث وتحديث مستخدمي الجذر عند بدء تشغيل التطبيق التالي.
مجرد تذكير: استخدم واجهة المستخدم / واجهة برمجة التطبيقات لإدارة المستخدم بالكامل بعد الإعداد الأولي. من الأفضل تغيير كلمة المرور الخاصة بك عند تسجيل الدخول لأول مرة.
يمكنك إضافة مستخدمين أوليين في الدفة باستخدام هذا configuration.yaml :
إيلوم كور :
أمن :
داخلي :
المستعملون :
- اسم المستخدم : "admin2"
شعار : "المشرف"
ادوار :
- "المسؤول"
- اسم المستخدم : "user2"
شعار : "المشرف"
ادوار :
- "المستخدم"
ترقية Helm ilum ilum / ilum -f configuration.yaml --reuse-values
يمكنك تكوين جميع حقول المستخدم في الدفة كما في المثال أدناه:
إيلوم كور :
أمن :
داخلي :
المستعملون :
- اسم المستخدم : "مستخدمي"
البريد الإلكتروني : "البريد الإلكتروني"
الاسم الكامل : "الاسم الكامل"
قسم : "القسم"
وصف : "الوصف"
شعار : "كلمة المرور"
ادوار :
- "الدور 1"
- "الدور 2"
- "الدور 3"
اذونات :
- "SERVICE_CREATE"
- "SERVICE_EXECUTE"
المجموعات :
- "groupId1"
حالة : تمكين
الجذر : خطأ
ملاحظة: في حالة عدم رغبتك في أن يكون المستخدم الأولي مستخدما جذريا، يمكنك تعيين علامة rootState إلى false