مفاهيم الأمان في Microsoft Dataverse

تتمثل إحدى ميزات Dataverse الرئيسية في نموذج أمانه الغني الذي يمكنه التكيف مع عدة سيناريوهات الاستخدام على مستوى العمل. يعمل نموذج الأمان هذا فقط عندما يكون هناك قاعدة بيانات Dataverse فِي البيئة. كمستخدم المسؤول، لن تقوم ببناء نموذج الأمان بالكامل بنفسك، ولكن غالبا ما ستشارك في عملية إدارة المستخدمين والتأكد من حصولهم على التكوين المناسب وإصلاح المشاكل المتعلقة بالوصول إلى الأمان.

أمان مستند إلى دور

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

وحدات العمل

تلميح

رمز الفيديوتحقق من الفيديو التالي: تحديث وحدات الأعمال.

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

يمكنك إنشاء وحدات عمل تابعة لمساعدتك في تقسيم البيانات والمستخدمين بشكل أكبر. ينتمي كل مستخدم معين لبيئة إلى وحدة أعمال. في حين يمكن استخدام وحدات العمل لتصميم 1:1 تدرج هرمي حقيقي للمؤسسة، كلما زاد ميلها نحو حدود أمان محددة بشكل دقيق للمساعدة في تحقيق احتياجات نموذج الأمان.

لنلقِ نظرة على المثال التالي لتكوين فهم أفضل: لدينا ثلاث وحدات عمل. Woodgrove هي وحدة العمل الجذر وستكون دائمًا في الأعلى، وهذا غير قابل للتغيير. لقد أنشأنا وحدتي أعمال فرع أخريين A و B. لدى المستخدمين في وحدات الأعمال هذه احتياجات وصول مختلفة. عندما نقرن أحد المستخدمين بهذه البيئة، يمكننا تعيين المستخدم ليكون في إحدى وحدات العمل الثلاث هذه. حيث يتم إقران المستخدم يحدد وحدة العمل التي تمتلك السجلات التي يكون المستخدم مالكها. يسمح لنا هذا الاقتران، بتخصيص دور الأمان للسماح للمستخدم برؤية جميع السجلات في وحدة الأعمال هذه.

بنية الوصول إلى البيانات الهرمية

يمكن للعملاء استخدام بنية مؤسسة حيث يتم تحليل البيانات والمستخدم في تسلسل هرمي يشبه الشجرة.

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

المستخدم A مرتبط بالقسم A وعيّن دور الأمان Y من القسم A. ويتيح ذلك للمستخدم A إمكانية الوصول إلى سجلات جهة الاتصال #1 وجهة الاتصال #2. بينما لا يمكن للمستخدم B في القسم B الوصول إلى سجلات جهات الاتصال الخاصة بالقسم A ولكن يمكنه الوصول إلى سجل جهة الاتصال #3.

مثال على بنية الوصول إلى بيانات المصفوفات

بنية الوصول إلى بيانات المصفوفات (وحدات الأعمال الحديثة)

يمكن للعملاء استخدام بنية تنظيمية يمكن فيها تقسيم البيانات في تسلسل هرمي يشبه الشجرة، ويمكن للمستخدمين العمل والوصول إلى بيانات أي وحدة أعمال بغض النظر عن وحدة الأعمال المعينة للمستخدم.

عندما نقرن أحد المستخدمين بهذه البيئة، يمكننا تعيين المستخدم ليكون في إحدى وحدات العمل الثلاث هذه. لكل وحدة عمل يحتاجها المستخدم للوصول إلى البيانات، يتم تعيين دور أمان من وحدة الأعمال هذه للمستخدم. عندما يقوم المستخدم بإنشاء سجل، يمكن للمستخدم تعيين وحدة العمل لامتلاك السجل.

يمكن ربط المستخدم A بأي من وحدات العمل، بما في ذلك وحدة العمل الجذر. تم تعيين دور الأمان Y من القسم A إلى المستخدم A الذي يمنح المستخدم حق الوصول إلى سجلات جهة الاتصال #1 وجهة الاتصال #2. تم تعيين دور الأمان Y من القسم B إلى المستخدم A الذي يمنح المستخدم حق الوصول إلى سجلات جهة الاتصال #3.

مثال على بنية الوصول إلى البيانات الهرمية

تمكين بنية الوصول إلى بيانات المصفوفة

‏‫ملاحظة‬

قبل تمكين هذه الميزة، يجب عليك نشر كافة تخصيصاتك لتمكين كافة الجداول الجديدة غير المنشورة للميزة. إذا وجدت أن لديك جداول غير منشورة لا تعمل مع هذه الميزة بعد تشغيلها، فيمكنك تعيين الإعداد RecomputeOwnershipAcrossBusinessUnits باستخدام الأداة OrgDBOrgSettings لـ Microsoft Dynamics CRM. إعداد RecomputeOwnershipAcrossBusinessUnits إلى صحيح يسمح لـ امتلاك وحدة الأعمال سيتم تعيينه وتحديثه.

  1. سجل الدخول إلى Power Platform مركز الإدارة كمسؤول (Dynamics 365 مسؤول أو Microsoft Power Platform مسؤول).
  2. حدد البيئات، ثم اختر البيئة التي ترغب في تمكين هذه الميزة لها.
  3. حدد الإعدادات>المنتج>الميزات.
  4. قم بتشغيل مفتاح ‏‫ملكية السجلات عبر وحدات العمل .

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

يمكنك تعيين مستخدم كمالك سجل في أي وحدة أعمال دون الحاجة إلى تعيين دور أمان في وحدة الأعمال المالكة للسجل طالما أن المستخدم لديه دور أمان لديه امتياز القراءة لجدول السجل. راجع ملكية السجلات في وحدات الأعمال الحديثة.

‏‫ملاحظة‬

يتم تخزين مفتاح الميزة هذا في الإعداد EnableOwnershipAcrossBusinessUnits ويمكن تعيينه باستخدام الأداة OrgDBOrgSettings لـ Microsoft Dynamics CRM.

إقران وحدة عمل بمجموعة أمان Microsoft Entra

يمكنك استخدام مجموعة أمان Microsoft Entra لتعيين وحدة العمل لتنظيم إدارة المستخدمين وتعيين الأدوار.

Microsoft Entra قم بإنشاء مجموعة أمان لكل وحدة عمل وقم بتعيين دور الأمان وحدة العمل المعنية لكل فريق مجموعة.

إنشاء مجموعة أمان Microsoft Entra لكل وحدة عمل.

لكل وحدة عمل، أنشئ مجموعة أمان Microsoft Entra. أنشئ فريق مجموعة Dataverse لكل مجموعة أمان Microsoft Entra. عيّن دور الأمان من وحدة العمل إلى كل فريق مجموعة Dataverse. سيتم إنشاء المستخدم في المخطط السابق في وحدة العمل الجذر عندما يصل المستخدم إلى البيئة. لا بأس في أن يكون المستخدم وفرق مجموعات Dataverse في وحدة العمل الجذر. لديهم حقل الوصول فقط إلى البيانات الموجودة في وحدة العمل حيث تم تعيين دور الأمان.

أضف مستخدمين إلى مجموعة أمان Microsoft Entra المعنية لمنحهم حق الوصول إلى وحدة العمل. يمكن للمستخدمين تشغيل التطبيق والوصول إلى موارده/بياناته على الفور.

في الوصول إلى بيانات المصفوفة، حيث يمكن للمستخدمين العمل مع البيانات والوصول إليها من وحدات عمل متعددة، أضف المستخدمين إلى مجموعات أمان Microsoft Entra التي تم تعيينها إلى وحدات العمل هذه.

‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏وحدة الأعمال المالكة

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

‏‫ملاحظة

عندما تقوم بتغيير أي وحدة عمل تمتلك سجلًا، تأكد من التحقق مما يلي لمعرفة تأثيرات التتالي: استخدام SDK لـ NET. لتكوين سلوك التتالي.

يمكنك إدارة ما إذا كنت تريد السماح للمستخدم بتعيين عمود "وحدة الأعمال المالكة" عندما يكون مفتاح الميزة في وضع تشغيل. لتعيين عمود "وحدة الأعمال المالكة"، يلزمك منح دور الأمان الخاص بالمستخدم إلى جدول وحدة الأعمال ذات الامتياز إلحاق بـ مع إذن وحدة الأعمال.

للسماح للمستخدم بتعيين هذا العمود، يمكنك تمكين هذا العمود في ما يلي:

  1. النموذج - كل من الرأس والنص.
  2. عرض.
  3. تعيينات الأعمدة. إذا كنت تستخدم AutoMapEntity، فيمكنك تحديد العمود في تعيين العمود.

‏‫ملاحظة‬

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

يمكنك إما إزالة العمود وحدة الأعمال المالكة من المخطط المصدر أو تحديث قيمة العمود وحدة الأعمال المالكة للمصدر إلى أي من وحدات أعمال الهدف.

إذا كان لديك مهمة/عملية لنسخ البيانات من بيئة إلى مورد خارجي، على سبيل المثال PowerBI، فستحتاج إلى تحديد أو إلغاء تحديد العمود ‏‫‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏وحدة الأعمال المالكة من المصدر. حدده إذا كان المورد يمكنه استلامه وإلا قم بإلغاء تحديده.

ملكية الجدول/السجل

تدعم Dataverse نوعين من ملكية السجلات. السجلات التي تملكها المؤسسة، والسجلات التي يملكها المستخدم أو الفرق. هذا اختيار يحدث في وقت إنشاء الجدول ولا يمكن تغييره. لأغراض أمنية، السجلات المملوكة لمنظمتهم، تكون خيارات مستوى الوصول الوحيدة هي إما أن المستخدم يمكنه إجراء العملية أو لا يمكنه القيام بها. وبالنسبة للسجلات المملوكة للمستخدم والفريق، فإن خيارات مستوى الوصول لمعظم الامتيازات تكون من خلال فئات المؤسسة أو وحدة الأعمال أو وحدة العمل ووحدة العمل التابعة أو السجلات الخاصة للمستخدم فقط. يعني هذا الأمر أنه بالنسبة إلى امتياز القراءة على جهة الاتصال، يمكنني تعيين سجلات يملكها المستخدم، وسيرى المستخدم سجلاته الخاصة فقط.

لإعطاء مثال آخر، لنفترض أن المستخدم A مرتبط بالقسم A، ونمنحه حق الوصول للقراءة على مستوى وحدة العمل على جهة الاتصال. وسيتمكنون من رؤية جهات الاتصال #1 #2 جهات الاتصال #3.

عند تكوين امتيازات دور الأمان أو تحريرها، أنت تقوم بإعداد مستوى الوصول لكل خيار. فيما يلي مثال عن محرر امتيازات أدوار الأمان.

امتيازات أدوار الأمان.

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

مفتاح امتيازات أدوار الأمان.

في المثال أعلاه، منحنا الوصول على مستوى المؤسسة إلى جهة اتصال مما يعني أن المستخدم في القسم A يمكنك رؤية وتحرير جهات الاتصال التي يملكها أي شخص. في الواقع، أحد الأخطاء الإدارية الأكثر شيوعًا هو الشعور بالإحباط فيما يتعلق بالأذونات وفقط منح حق الوصول. سيظهر بسرعة نموذج الأمان المصمم بطريقة جيدة كقالب جبنة سويسرية (ممتلئ بالثقوب!).

ملكية السجلات في وحدات الأعمال الحديثة

في وحدات الأعمال الحديثة، يمكنك أن تجعل المستخدمين من مالكي السجلات عبر أي وحدات أعمال. يحتاج جميع المستخدمين إلى دور أمان (أية وحدة أعمال) لديه امتياز القراءة في جدول السجلات. لا يحتاج المستخدمون إلى دور أمان معين إلى كل وحدة أعمال يوجد بها السجل.

إذا تم تمكين الخيار ملكية السجلات عبر وحدات العمل في بيئة الإنتاج أثناء فترة الإصدار الأولي، يلزمك تنفيذ ما يلي لتمكين ملكية هذا السجل عبر وحدة الأعمال:

  1. قم بتثبيت محرر إعدادات المؤسسة
  2. عيّن إعدادات مؤسسة RecomputeOwnershipAcrossBusinessUnits إلى صواب. عندما يتم تعيين هذا الإعداد على صحيح، يكون النظام مؤمنا ويمكن أن يستغرق ما يصل إلى 5 دقائق للقيام إعادة التشغيل لتمكين الإمكانية حيث يمكن للمستخدمين الآن امتلاك سجلات عبر وحدات العمل دون الحاجة إلى تعيين سجلات دور الأمان منفصلة من كل وحدة عمل. ويسمح ذلك لمالك أحد السجلات بتعيين سجله إلى شخص خارج وحدة العمل المالكة للسجل.
  3. عيّن AlwaysMoveRecordToOwnerBusinessUnit إلى خطأ. وهذا يؤدي إلى بقاء السجل في وحدة الأعمال المالكة الأصلية عند تغيير ملكية السجل.

بالنسبة لجميع البيئات غير الإنتاجية، ستحتاج فقط إلى تعيين AlwaysMoveRecordToOwnerBusinessUnit إلى خطأ لاستخدام هذه الإمكانية.

‏‫ملاحظة‬

إذا قمت بإيقاف تشغيل إما ملكية السجل عبر ميزة وحدات الأعمال أو إعداد RecomputeOwnershipAcrossBusinessUnits الضبط على خطأ باستخدام ملف OrgDBOrgSettings tool for Microsoft Dynamics CRM، فلن تتمكن من التعيين أو التحديث امتلاك وحدة الأعمال، وجميع السجلات حيث امتلاك وحدة الأعمال الحقل يختلف عن وحدة أعمال المالك سيتم تحديثه إلى وحدة أعمال المالك.

الفرق (بما في ذلك فرق المجموعات)

تعتبر الفرق كتلة إنشاء أمان مهمة أخرى. تكون الفرق مملوكة من وحدة عمل. تتكون كل وحدة عمل من فريق افتراضي يتم إنشاؤه تلقائيًا عند إنشاء وحدة العمل. تتم إدارة أعضاء الفرق الافتراضية بواسطة Dataverse وهي تحتوي دائمًا على جميع المستخدمين المقترنين بوحدة العمل هذه. لا يمكنك إضافة أعضاء إلى الفريق الافتراضي أو إزالتهم منه يدويًا، يتم ضبطهم بشكل ديناميكي بواسطة النظام عند اقتران/إلغاء اقتران مستخدمين جدد بوحدات العمل. هناك نوعان من الفرق، الفرق المالكة وفرق الوصول.

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

مشاركة السجلات

يمكن مشاركة السجلات الفردية على أساس واحد تلو الآخر مع مستخدم آخر. هذه طريقة فعالة لمعالجة الاستثناءات التي لا تقع ضمن ملكية السجل أو عضو في نموذج الوصول إلى وحدة العمل. يجب أن تكون هذه الطريقة استثناءً لأنها طريقة أقل أداءً للتحكم في الوصول. تعد المشاركة أصعب في استكشاف الأخطاء وإصلاحها لأنها ليست عنصر تحكم في الوصول يتم تنفيذه باستمرار. يمكن إجراء المشاركة على مستوى المستخدم والفريق. تعد المشاركة مع الفريق طريقة أكثر فاعلية للمشاركة. ثمة مفهوم مشاركة أكثر تقدمًا وهو المشاركة مع فرق الوصول التي توفر الإنشاء التلقائي لفريق ومشاركة الوصول إلى السجلات مع الفريق بالاستناد إلى قالب فريق الوصول (قالب الأذونات) المطبق. يمكن أيضًا استخدام فرق الوصول بدون القوالب، مع إضافة أعضائها أو إزالتهم يدويًا فقط. يعتبر أداء فرق الوصول أفضل لأنها لا تسمح بامتلاك السجلات من قبل الفريق أو من تعيين أدوار أمان إلى الفريق. يحصل المستخدمون على حق الوصول بسبب مشاركة السجل مع الفريق والمستخدم هو عضو.

الأمان على مستوى السجلات في Dataverse

قد تتساءل عما يحدد الوصول إلى سجل؟ يبدو هذا سؤالا بسيطا ولكن بالنسبة لأي مستخدم معين ، فهو مزيج من جميع أدواره الأمنية ، ووحدة الأعمال المرتبطة به ، والفرق التي هم أعضاء فيها والسجلات التي تتم مشاركتها معهم. الأمر الأساسي الذي يجب تذكره هو أن كل وصول هو تراكمي عبر جميع هذه المفاهيم في نطاق بيئة قاعدة بيانات Dataverse. ولا يتم منح هذه الحقوق إلا في قاعدة بيانات واحدة ويتم تعقبها بشكل فردي في كل قاعدة بيانات Dataverse. يتطلب كل هذا حصولهم على ترخيص مناسب للوصول إلى Dataverse.

الأمان على مستوى العمود في Dataverse

في بعض الأحيان ، لا يكون التحكم في الوصول على مستوى قياسي مناسبا لبعض سيناريوهات الأعمال. يتضمن Dataverse ميزة أمان على مستوى العمود للسماح بمزيد من التحكم الدقيق في الأمان على مستوى العمود. يمكن تمكين الأمان على مستوى العمود على كافة الأعمدة المخصصة ومعظم أعمدة النظام. بإمكان معظم أعمدة النظام التي تتضمن معلومات تعريف شخصية (PII) أن تحصل على أمانها بشكل فردي. تحدد بيانات تعريف كل عمود ما إذا كان هذا الخيار متوفرًا لعمود النظام.

يتم تمكين الأمان على مستوى العمود على أساس كل عمود على حدة. تتم عندئذٍ إدارة الوصول عن طريق إنشاء ملف تعريف أمان الأعمدة. يحتوي ملف التعريف على كافة الأعمدة التي تم تمكين الأمان على مستوى الأعمدة فيها وتم منح الوصول بواسطة ملف التعريف المعين هذا. ويمكن التحكم في كل عمود من خلال ملف التعريف الوصول للإنشاء والتحديث والقراءة. يتم عندئذٍ اقران ملفات تعريف أمان الأعمدة بمستخدم أو فرق لمنح هذه الامتيازات للمستخدمين إلى السجلات التي لديهم حق الوصول اليها بالفعل. من المهم الملاحظة أن الأمان على مستوى العمود لا علاقة له والأمان على مستوى السجل. يجب أن يكون لدى المستخدم حق الوصول بالفعل إلى السجل الخاص ملف تعريف أمان العمود لمنحه أي وصول إلى الأعمدة. يجب ان يتم استخدام الأمان على مستوى الأعمدة كما تقتضي الحاجة ولكن ليس بطريقة مكثفة إذ قد يؤدي ذلك إلى إضافة المزيد من المصروفات بشكل مؤذٍ إذا تم استخدامه أكثر من اللازم.

إدارة الأمان عبر العديد من البيئات

يمكن تجميع ادوار الأمان وملفات تعريف أمان الأعمدة ونقلها من بيئة إلى أخرى باستخدام حلول Dataverse. يجب إنشاء وحدات العمل والفرق وإدارتها في كل بيئة إلى جانب تعيين المستخدمين إلى مكونات الأمان الضرورية.

تكوين أمان بيئة المستخدمين

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

علاوة على ذلك، يمكنك تعيين أي أدوار أمان يحتاجها المستخدم. كما يمكن اضافتهم كأعضاء في أي فرق. تذكر أنه يمكن للفرق أيضا أن يكون لها أدوار أمان، لذا فإن الحقوق الفعالة للمستخدم هي مجموعة من أدوار الأمان المعينة مباشرة إلى جانب تلك الأدوار الخاصة بأية فرق أعضاء فيها. يكون الأمان مضافًا دائمًا، ويقدم الإذن الأقل تقييدًا لأي من استحقاقاتها. فيما يلي إرشادات تفصيلية جيدة حول تكوين أمان البيئة.

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

الأمان هو مقال معقد ويتم إنجازه بشكل أفضل كجهد مشترك بين صانعي التطبيقات والفريق الذي يدير أذونات المستخدمين. يجب أن تكون أي تغييرات رئيسية يجب متناسقة قبل نشر التغييرات في البيئة.

راجع أيضًا

تكوين أمان البيئة
أدوار الأمان والامتيازات