Secure 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 عبر التكامل مع Azure Active Directory (Azure AD).

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

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

باستخدام Azure AD، يعد الوصول عملية من خطوتين. عندما يحاول مدير أمان (مستخدم أو مجموعة أو تطبيق) الوصول إلى 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 RPAC. للحصول على معلومات حول إنشاء أدوار Azure مخصصة، يرجى مراجعة⁧⁧⁩⁩أدوار Azure المخصصة⁧⁧⁩⁩.

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

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

تلميح

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

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

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

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

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

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

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

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

يمكن أن يسمح إعداد هوية Azure Active Directory (Azure AD) المدارة لمثيل Azure Digital Twins للمثيل بالوصول بسهولة إلى الموارد الأخرى المحمية بواسطة Azure AD، مثل Azure Key Vault. تتم إدارة الهوية بواسطة النظام الأساسي Azure، ولا تتطلب منك توفير أي أسرار أو تدويرها. لمزيد من المعلومات حول الهويات المُدارة في Microsoft Azure AD، راجع Managed identities for Azure resources.

يدعم Azure نوعين من الهويات المدارة: المعينة من قبل النظام والمعينة من قبل المستخدم. حاليا، يدعم Azure Digital Twins الهويات المعينة للنظام فقط.

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

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

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

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

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

Diagram showing a network that is a protected VNET with no public cloud access, connecting through Private Link to an Azure Digital Twins instance.

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

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

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

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

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

للحصول على معلومات حول حدود الارتباط الخاص، راجع وثائق Azure Private Link: القيود.

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

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

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

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

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

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

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

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

  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 من خلاله.

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