التحكم في الوصول استناداً إلى الدور في Azure (RBAC) وتحديث الجهاز
يستخدم تحديث الجهاز Azure التحكم في الوصول استناداً إلى الدور لتوفير المصادقة والتخويل للمستخدمين وواجهات برمجة التطبيقات للخدمة. لكي يتمكن المستخدمون والتطبيقات الأخرى من الوصول إلى تحديث الجهاز، يجب منح المستخدمين أو التطبيقات حق الوصول إلى هذا المورد. من الضروري أيضا تكوين الوصول إلى كيان خدمة تحديث جهاز Azure لتوزيع التحديثات وإدارة أجهزتك بنجاح.
تكوين أدوار التحكم بالوصول
هذه هي الأدوار التي يدعمها تحديث الجهاز:
اسم الدور | الوصف |
---|---|
مسؤول تحديث الجهاز | لديه حق الوصول إلى جميع موارد تحديث الجهاز |
قارئ تحديث الجهاز | يمكنه عرض جميع التحديثات والتوزيعات |
مسؤول محتوى تحديث الجهاز | يمكنه عرض التحديثات واستيرادها وحذفها |
قارئ محتوى تحديث الجهاز | يمكنه عرض التحديثات |
مسؤول عمليات توزيع تحديث الجهاز | يمكنه إدارة توزيع التحديثات على الأجهزة |
قارئ عمليات توزيع تحديث الجهاز | يمكنه عرض عمليات توزيع التحديثات للأجهزة |
يمكن استخدام مجموعة من الأدوار لتوفير المستوى الصحيح من الوصول. على سبيل المثال، يمكن للمطور استيراد التحديثات وإدارتها باستخدام دور مسؤول محتوى تحديث الجهاز، ولكنه يحتاج إلى دور قارئ عمليات توزيع تحديث الجهاز لعرض تقدم التحديث. وعلى العكس من ذلك، يمكن لمشغل الحلول الذي له دور قارئ تحديث الجهاز عرض جميع التحديثات، ولكنه يحتاج إلى استخدام دور مسؤول عمليات توزيع تحديث الجهاز لتوزيع تحديث معين على الأجهزة.
تكوين الوصول إلى كيان خدمة تحديث جهاز Azure في مركز IoT
يتصل تحديث الجهاز لمركز IoT مع مركز IoT لإجراء عمليات التوزيعات وإدارة التحديثات على نطاق واسع. لتمكين Device Update للقيام بذلك، يحتاج المستخدمون إلى تعيين وصول IoT Hub Data Contributor ل Azure Device Update Service Principal في أذونات IoT Hub.
لن يسمح بالنشر وإدارة الجهاز والتحديث وإجراءات التشخيص إذا لم يتم تعيين هذه الأذونات. تتضمن العمليات التي سيتم حظرها ما يلي:
- إنشاء توزيع
- إلغاء التوزيع
- إعادة محاولة التوزيع
- الحصول على جهاز
يمكن تعيين الإذن من IoT Hub Access Control (IAM). راجع تكوين الوصول إلى كيان خدمة تحديث جهاز Azure في مركز IoT المرتبط
المصادقة على واجهات برمجة تطبيقات REST لتحديث الجهاز
يستخدم تحديث الجهاز معرف Microsoft Entra للمصادقة على واجهات برمجة تطبيقات REST الخاصة به. للبدء، تحتاج إلى إنشاء تطبيق عميل وتكوينه.
إنشاء تطبيق Microsoft Entra للعميل
لدمج تطبيق أو خدمة مع معرف Microsoft Entra، قم أولا بتسجيل تطبيق عميل باستخدام معرف Microsoft Entra. سيختلف إعداد تطبيق العميل اعتماداً على تدفق التخويل الذي ستحتاج إليه (المستخدمين أو التطبيقات أو الهويات المدارة). على سبيل المثال، للاتصال بتحديث الجهاز من:
- تطبيق الجوال أو سطح المكتب، أضف النظام الأساسي لتطبيقات الجوالات وسطح المكتب النظام الأساسي مع
https://login.microsoftonline.com/common/oauth2/nativeclient
لعنوان URI المعاد توجيهه. - موقع ويب مع تسجيل الدخول الضمني، وأضف النظام الأساسي للويب وحدد Access tokens (المستخدمة للتدفقات الضمنية).
إشعار
توصي Microsoft باستخدام تدفق المصادقة الأكثر أمانا المتوفر. تتطلب مصادقة التدفق الضمني درجة عالية جدا من الثقة في التطبيق، وتحمل مخاطر غير موجودة في تدفقات أخرى. يجب عليك استخدام هذا التدفق فقط عندما لا تكون التدفقات الأخرى الأكثر أمانا، مثل الهويات المدارة، قابلة للتطبيق.
تكوين الأذونات
بعد ذلك، أضف أذونات للاتصال بتحديث الجهاز إلى تطبيقك:
- انتقل إلى الصفحة API permissions لتطبيقك وحدد Add a permission.
- انتقل إلى APIs my organization uses وابحث عن تحديث جهاز Azure.
- حدد الإذن user_impersonation وحدد Add permissions.
طلب رمز التخويل المميز
تتطلب واجهة برمجة تطبيقات REST لتحديث الجهاز رمز تخويل مميز OAuth 2.0 في عنوان الطلب. تعرض الأقسام التالية بعض الأمثلة على طرق طلب رمز التخويل المميز.
استخدام Azure CLI
az login
az account get-access-token --resource 'https://api.adu.microsoft.com/'
استخدام مكتبة التعليمات البرمجية PowerShell MSAL
MSAL.PS وحدة PowerShell هي برنامج تضمين عبر مكتبة مصادقة Microsoft لـ .NET (MSAL .NET). يدعم طرق المصادقة المختلفة.
استخدام بيانات اعتماد المستخدم:
$clientId = '<app_id>'
$tenantId = '<tenant_id>'
$authority = "https://login.microsoftonline.com/$tenantId/v2.0"
$Scope = 'https://api.adu.microsoft.com/user_impersonation'
Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope
استخدام بيانات اعتماد المستخدم مع التعليمة البرمجية للجهاز:
$clientId = '<app_id>’
$tenantId = '<tenant_id>’
$authority = "https://login.microsoftonline.com/$tenantId/v2.0"
$Scope = 'https://api.adu.microsoft.com/user_impersonation'
Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope -Interactive -DeviceCode
استخدام بيانات اعتماد التطبيق:
$clientId = '<app_id>’
$tenantId = '<tenant_id>’
$cert = '<client_certificate>'
$authority = "https://login.microsoftonline.com/$tenantId/v2.0"
$Scope = 'https://api.adu.microsoft.com/.default'
Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope -ClientCertificate $cert
دعم للهويات المدارة
توفر الهويات المدارة خدمات Azure بهوية مدارة تلقائيا في معرف Microsoft Entra بطريقة آمنة. هذا يلغي احتياجات المطورين الذين يتعين عليهم إدارة بيانات الاعتماد من خلال توفير هوية. يدعم تحديث الجهاز لـ IoT Hub الهويات المدارة المعينة من قبل النظام.
الهوية المُدارة التي يُعيّنها النظام
لإضافة وإزالة الهوية المُدارة المعينة من قبل النظام في مدخل Microsoft Azure:
- تسجيل الدخول في مدخل Microsoft Azure والانتقال إلى تحديث الجهاز الذي ترغب فيه لحساب مركز IoT.
- انتقل إلى الهوية في تحديث الجهاز لمدخل IoT Hub الخاص بك
- انتقل إلى الهوية في مدخل IoT Hub الخاص بك
- ضمن علامة تبويب مخصص من قبل النظام، حدد تشغيل وانقر فوق حفظ.
لإزالة الهوية المدارة المعينة من قبل النظام من تحديث الجهاز لحساب مركز IoT، حدد إيقاف التشغيل وانقر فوق حفظ.