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

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

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

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

وحدات العمل

تلميح

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

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

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

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

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

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

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

المستخدم 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. يجب إنشاء وحدات العمل والفرق وإدارتها في كل بيئة إلى جانب تعيين المستخدمين إلى مكونات الأمان الضرورية.

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

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

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

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

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

راجع أيضًا

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