تأمين Azure Digital Twins

تشرح هذه المقالة أفضل ممارسات أمان Azure Digital Twins. وهو يغطي الأدوار والأذونات والهوية المدارة والوصول إلى الشبكة الخاصة باستخدام Azure Private Link وعلامات الخدمة وتشفير البيانات الثابتة ومشاركة الموارد عبر المنشأ (CORS).

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

يدعم Azure Digital Twins أيضا تشفير البيانات الثابتة.

الأدوار والأذونات باستخدام Azure RBAC

يتم توفير Azure RBAC إلى Azure Digital Twins عبر التكامل مع معرف Microsoft Entra.

يمكنك استخدام Azure RBAC لمنح أذونات لمدير أمان، والذي قد يكون مستخدما أو مجموعة أو كيان خدمة تطبيق. تتم مصادقة أساس الأمان بواسطة معرف Microsoft Entra، ويتلقى رمز OAuth 2.0 المميز في المقابل. يمكن استخدام هذا الرمز المميز لتخويل طلب وصول إلى مثيل Azure Digital Twins.

المصادقة والتخويل

باستخدام معرف Microsoft Entra، يعد الوصول عملية من خطوتين. عندما يحاول أساس أمان (مستخدم أو مجموعة أو تطبيق) الوصول إلى Azure Digital Twins، يجب مصادقة الطلب وتخويضه.

  1. أولا، تتم مصادقة هوية أساس الأمان، ويتم إرجاع رمز OAuth 2.0 المميز.
  2. بعد ذلك، يتم تمرير الرمز المميز كجزء من طلب إلى خدمة Azure Digital Twins، لتخويل الوصول إلى المورد المحدد.

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

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

لمعرفة المزيد حول الأدوار وتعيينات الأدوار المدعومة في Azure، راجع فهم الأدوار المختلفة في وثائق Azure RBAC.

المصادقة باستخدام الهويات المُدارة

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

باستخدام الهويات المُدارة، يقوم النظام الأساسي Azure بإدارة هذه الهوية وقت التشغيل. لا تحتاج إلى تخزين مفاتيح الوصول وحمايتها في التعليمات البرمجية للتطبيق أو التكوين، إما للهوية نفسها، أو للموارد التي تحتاج إلى الوصول إليها. لا يحتاج تطبيق عميل Azure Digital Twins الذي يعمل داخل تطبيق Azure App Service إلى معالجة قواعد ومفاتيح SAS، أو أي رموز وصول مميزة أخرى. يحتاج تطبيق العميل فقط إلى عنوان نقطة النهاية لمساحة اسم Azure Digital Twins. عند اتصال التطبيق، يربط Azure Digital Twins سياق الكيان المدار بالعميل. بمجرد إقرانه بهوية مدارة، يمكن لعميل Azure Digital Twins القيام بجميع العمليات المصرح بها. سيتم منح التخويل بعد ذلك عن طريق ربط كيان مدار بدور Azure Digital Twins Azure (الموضح أدناه).

التخويل: أدوار Azure ل Azure Digital Twins

يوفر Azure دورين مضمنين في Azure لتخويل الوصول إلى واجهات برمجة تطبيقات مستوى بيانات Azure Digital Twins. يمكنك الرجوع إلى الأدوار إما بالاسم أو حسب المعرف:

الدور مدمج ‏‏الوصف البطاقة/رقم البطاقة
مالك بيانات Azure Digital Twins يمنح الوصول الكامل عبر موارد Azure Digital Twins bcd981a7-7f74-457b-83e1-cceb9e632ffe
قارئ بيانات Azure Digital Twins يمنح حق الوصول للقراءة فقط إلى موارد Azure Digital Twins d57506d4-4c8d-48b1-8587-93c323f6a5a3

يمكنك تعيين الأدوار بطريقتين:

للحصول على خطوات مفصلة حول تعيين الأدوار إلى مثيل Azure Digital Twins، راجع إعداد مثيل ومصادقة. لمزيد من المعلومات حول كيفية تعريف الأدوار المضمنة، راجع فهم تعريفات الأدوار في وثائق Azure RBAC.

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

أتمتة الأدوار

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

تلميح

إذا كنت تقوم بتعيين أدوار باستخدام cmdlet، مثل New-AzRoleAssignment (مرجع)، يمكنك استخدام المعلمة -RoleDefinitionId بدلا من -RoleDefinitionName تمرير معرف بدلا من اسم للدور.

نطاقات الأذونات

قبل تعيين دور Azure إلى أساس أمان، حدد نطاق الوصول الذي يجب أن يكون لأساس الأمان. تفرض أفضل الممارسات أنه من الأفضل منح أضيق نطاق ممكن فقط.

تصف القائمة التالية المستويات التي يمكنك من خلالها تحديد نطاق الوصول إلى موارد Azure Digital Twins.

  • النماذج: تملي إجراءات هذا المورد التحكم في النماذج التي تم تحميلها في Azure Digital Twins.
  • Query Digital Twins Graph: تحدد إجراءات هذا المورد القدرة على تشغيل عمليات الاستعلام على التوائم الرقمية داخل الرسم البياني Azure Digital Twins.
  • Digital Twin: توفر إجراءات هذا المورد التحكم في عمليات CRUD على التوائم الرقمية في الرسم البياني المزدوج.
  • علاقة Digital Twin: تحدد إجراءات هذا المورد التحكم في عمليات CRUD على العلاقات بين التوائم الرقمية في الرسم البياني المزدوج.
  • مسار الحدث: تحدد إجراءات هذا المورد أذونات لتوجيه الأحداث من Azure Digital Twins إلى خدمة نقطة نهاية مثل Event Hubs أو Event Grid أو Service Bus.

استكشاف أخطاء الأذونات وإصلاحها

إذا حاول مستخدم تنفيذ إجراء غير مسموح به من قبل دوره، فقد يتلقى خطأ من قراءة 403 (Forbidden)طلب الخدمة . لمزيد من المعلومات وخطوات استكشاف الأخطاء وإصلاحها، راجع استكشاف أخطاء طلب خدمة Azure Digital Twins الفاشل وإصلاحها: الخطأ 403 (ممنوع).

الهوية المدارة للوصول إلى الموارد الأخرى

يمكن أن يسمح إعداد هوية مدارة لمعرف Microsoft Entra لمثيل Azure Digital Twins للمثيل بالوصول بسهولة إلى موارد Microsoft Entra المحمية الأخرى، مثل Azure Key Vault. تتم إدارة الهوية بواسطة النظام الأساسي ل Azure، ولا تتطلب منك توفير أي أسرار أو تدويرها. لمزيد من الاطلاع على الهويات المدارة في معرف Microsoft Entra، راجع الهويات المدارة لموارد Azure.

يدعم Azure Digital Twins كلا النوعين من الهويات المدارة، المعينة من قبل النظام والمخصصة من قبل المستخدم.

يمكنك استخدام أي من أنواع الهوية المدارة هذه للمصادقة على نقطة نهاية محددة خصيصا. يدعم Azure Digital Twins المصادقة المستندة إلى الهوية لنقاط النهاية لمراكز الأحداث ووجهات ناقل خدمة Microsoft Azure، ونقطة نهاية حاوية تخزين Azure للأحداث غير المستخدمة. نقاط نهاية شبكة الأحداث غير مدعومة حاليا للهويات المدارة.

للحصول على إرشادات حول كيفية تمكين هوية مدارة لنقطة نهاية Azure Digital Twins التي يمكن استخدامها لتوجيه الأحداث، راجع خيارات نقطة النهاية: المصادقة المستندة إلى الهوية.

استخدام خدمة Microsoft الموثوق بها لتوجيه الأحداث إلى مراكز الأحداث ونقاط نهاية ناقل الخدمة

يمكن ل Azure Digital Twins الاتصال بمراكز الأحداث ونقاط نهاية ناقل خدمة Microsoft Azure لإرسال بيانات الحدث، باستخدام نقاط النهاية العامة لتلك الموارد. ومع ذلك، إذا كانت هذه الموارد مرتبطة بشبكة ظاهرية، يتم حظر الاتصال بالموارد بشكل افتراضي. ونتيجة لذلك، يمنع هذا التكوين Azure Digital Twins من إرسال بيانات الحدث إلى مواردك.

لحل هذه المشكلة، قم بتمكين الاتصال من مثيل Azure Digital Twins إلى مراكز الأحداث أو موارد ناقل خدمة Microsoft من خلال خيار خدمة Microsoft الموثوق به (راجع خدمات Microsoft الموثوق بها لمراكز الأحداث خدمات Microsoft الموثوق به لناقل خدمة Microsoft).

ستحتاج إلى إكمال الخطوات التالية لتمكين اتصال خدمة Microsoft الموثوق به.

  1. يجب أن يستخدم مثيل Azure Digital Twins هوية مدارة معينة من قبل النظام. يسمح هذا للخدمات الأخرى بالعثور على مثيلك كخدمة Microsoft موثوق بها. للحصول على إرشادات لإعداد هوية مدارة من قبل النظام على المثيل، راجع تمكين الهوية المدارة للمثيل.
  2. بمجرد توفير هوية مدارة معينة من قبل النظام، امنح الإذن للهوية المدارة للمثيل الخاص بك للوصول إلى مراكز الأحداث أو نقطة نهاية ناقل الخدمة (هذه الميزة غير مدعومة في شبكة الأحداث). للحصول على إرشادات لتعيين الأدوار المناسبة، راجع تعيين أدوار Azure للهوية.
  3. بالنسبة لمراكز الأحداث ونقاط نهاية ناقل خدمة Microsoft Azure التي تحتوي على تكوينات جدار الحماية، تأكد من تمكين إعداد السماح خدمات Microsoft الموثوق به لتجاوز جدار الحماية هذا.

Azure Private Link هي خدمة تمكنك من الوصول إلى موارد Azure (مثل Azure Event Hubs وAzure Storage وAzure Cosmos DB) وخدمات العملاء والشركاء المستضافة من Azure عبر نقطة نهاية خاصة في شبكة Azure الظاهرية (VNet).

وبالمثل، يمكنك استخدام نقاط نهاية الوصول الخاصة لمثيل Azure Digital Twins للسماح للعملاء الموجودين في شبكتك الظاهرية بالحصول على وصول آمن لواجهة برمجة تطبيقات REST إلى المثيل عبر Private Link. يتيح لك تكوين نقطة نهاية وصول خاصة لمثيل Azure Digital Twins تأمين مثيل Azure Digital Twins والقضاء على التعرض العام. بالإضافة إلى ذلك، فإنه يساعد على تجنب النقل غير المصرح للبيانات من شبكة Azure الظاهرية (VNet).

تستخدم نقطة نهاية الوصول الخاصة عنوان IP من مساحة عنوان Azure VNet. تنتقل نسبة استخدام الشبكة بين عميل على شبكتك الخاصة ومثيل Azure Digital Twins عبر الشبكة الظاهرية ورابط خاص على شبكة Microsoft الأساسية، مما يلغي التعرض للإنترنت العام. فيما يلي تمثيل مرئي لهذا النظام:

رسم تخطيطي يوضح شبكة شبكة ظاهرية محمية بدون وصول سحابي عام، تتصل من خلال Private Link بمثيل Azure Digital Twins.

يتيح لك تكوين نقطة نهاية وصول خاصة لمثيل Azure Digital Twins تأمين مثيل Azure Digital Twins الخاص بك والقضاء على التعرض العام، بالإضافة إلى تجنب تسرب البيانات من VNet.

للحصول على إرشادات حول كيفية إعداد Private Link ل Azure Digital Twins، راجع تمكين الوصول الخاص باستخدام Private Link.

إشعار

ينطبق الوصول إلى الشبكة الخاصة باستخدام Azure Private Link على الوصول إلى Azure Digital Twins من خلال واجهات برمجة التطبيقات المتبقية. لا تنطبق هذه الميزة على سيناريوهات الخروج باستخدام ميزة توجيه الأحداث في Azure Digital Twins.

اعتبارات التصميم

عند العمل مع Private Link ل Azure Digital Twins، إليك بعض العوامل التي قد ترغب في أخذها في الاعتبار:

  • التسعير: للحصول على تفاصيل التسعير، راجع تسعير Azure Private Link.
  • التوفر الإقليمي: يتوفر الارتباط الخاص ل Azure Digital Twins في جميع مناطق Azure حيث يتوفر Azure Digital Twins.
  • Azure Digital Twins Explorer: لا يمكن لمستكشف Azure Digital Twins الوصول إلى مثيلات Azure Digital Twins التي تم تعطيل الوصول العام إليها. ومع ذلك، يمكنك استخدام وظائف Azure لنشر قاعدة التعليمات البرمجية Azure Digital Twins Explorer بشكل خاص في السحابة. للحصول على إرشادات حول كيفية القيام بذلك، راجع Azure Digital Twins Explorer: قيد التشغيل في السحابة.
  • الحد الأقصى لعدد نقاط النهاية الخاصة لكل مثيل Azure Digital Twins: 10
  • الحدود الأخرى: لمزيد من المعلومات حول حدود الارتباط الخاص، راجع وثائق Azure Private Link: القيود.

علامات الخدمة

تمثل علامة الخدمة مجموعة من بادئات عناوين IP من خدمة Azure معينة. تقوم Microsoft بإدارة بادئات العناوين التي تشملها علامة الخدمة، كما تقوم بتحديث علامة الخدمة تلقائيًا مع تغيير العناوين، ما يقلل من تعقيد التحديثات المتكررة لقواعد أمان الشبكة. لمزيد من المعلومات حول علامات الخدمة، راجع علامات الشبكة الظاهرية.

يمكنك استخدام علامات الخدمة لتعريف عناصر التحكم في الوصول إلى الشبكة على مجموعات أمان الشبكة أو Azure Firewall، باستخدام علامات الخدمة بدلا من عناوين IP معينة عند إنشاء قواعد الأمان. بتحديد اسم علامة الخدمة (في هذه الحالة، AzureDigitalTwins) في حقل المصدر أو الوجهة المناسب لقاعدة ما، يمكنك السماح بنسبة استخدام الشبكة للخدمة المقابلة أو رفضها.

فيما يلي تفاصيل علامة خدمة AzureDigitalTwins.

العلامة الغرض هل يمكن استخدام الوارد أو الصادر؟ هل يمكن أن تكون إقليمية؟ هل يمكن استخدامها مع جدار Azure Firewall؟
AzureDigitalTwins Azure Digital Twins
ملاحظة: يمكن استخدام هذه العلامة أو عناوين IP التي تغطيها هذه العلامة لتقييد الوصول إلى نقاط النهاية التي تم تكوينها لمسارات الأحداث.
وارد لا ‏‏نعم‬

استخدام علامات الخدمة للوصول إلى نقاط نهاية مسار الحدث

فيما يلي خطوات الوصول إلى نقاط نهاية مسار الحدث باستخدام علامات الخدمة مع Azure Digital Twins.

  1. أولا، قم بتنزيل مرجع ملف JSON هذا الذي يعرض نطاقات IP Azure وعلامات الخدمة: نطاقات IP Azure وعلامات الخدمة.

  2. ابحث عن نطاقات IP "AzureDigitalTwins" في ملف JSON.

  3. راجع وثائق المورد الخارجي المتصل بنقطة النهاية (على سبيل المثال، شبكة الأحداث أو مراكز الأحداث أو ناقل الخدمة أو تخزين Azure للأحداث غير المستخدمة) لمعرفة كيفية تعيين عوامل تصفية IP لهذا المورد.

  4. تعيين عوامل تصفية IP على المورد (الموارد) الخارجية باستخدام نطاقات IP من الخطوة 2.

  5. تحديث نطاقات IP بشكل دوري كما هو مطلوب. قد تتغير النطاقات بمرور الوقت، لذلك من المستحسن التحقق منها بانتظام وتحديثها عند الحاجة. يمكن أن يختلف تكرار هذه التحديثات، ولكن من المستحسن التحقق منها مرة واحدة في الأسبوع.

تشفير البيانات الثابتة

يوفر Azure Digital Twins تشفير البيانات الثابتة والمتنقلة كما هو مكتوب في مراكز البيانات لدينا، ويفك تشفيرها لك أثناء الوصول إليها. يحدث هذا التشفير باستخدام مفتاح تشفير تديره Microsoft.

مشاركة الموارد عبر الأصل (CORS)

لا يدعم Azure Digital Twins حاليا مشاركة الموارد عبر المنشأ (CORS). ونتيجة لذلك، إذا كنت تتصل بواجهة برمجة تطبيقات REST من تطبيق مستعرض أو واجهة إدارة واجهة برمجة التطبيقات (APIM) أو موصل Power Apps ، فقد ترى خطأ في النهج.

لحل هذا الخطأ، يمكنك تنفيذ أحد الإجراءات التالية:

  • قم بتجريد عنوان Access-Control-Allow-Origin CORS من الرسالة. يشير هذا العنوان إلى ما إذا كان يمكن مشاركة الاستجابة.
  • بدلا من ذلك، قم بإنشاء وكيل CORS وقم بإجراء طلب Azure Digital Twins REST API من خلاله.

الخطوات التالية

  • راجع هذه المفاهيم قيد التنفيذ في إعداد مثيل ومصادقة.

  • تعرف على كيفية التفاعل مع هذه المفاهيم من التعليمات البرمجية لتطبيق العميل في كتابة رمز مصادقة التطبيق.

  • اقرأ المزيد حول Azure RBAC.