المصادقة والتخويل ل Azure Spatial Anchors
في هذه المقالة، ستتعرف على الطرق المختلفة التي يمكنك من خلالها المصادقة على Azure Spatial Anchors من تطبيقك أو خدمة الويب. ستتعرف أيضا على الطرق التي يمكنك من خلالها استخدام التحكم في الوصول المستند إلى دور Azure (Azure RBAC) في Azure Active Directory (Azure AD) للتحكم في الوصول إلى حسابات Spatial Anchors الخاصة بك.
تحذير
نوصي باستخدام مفاتيح الحساب للإعداد السريع، ولكن فقط أثناء التطوير/النماذج الأولية. لا نوصي بشحن تطبيقك إلى الإنتاج باستخدام مفتاح حساب مضمن فيه. بدلا من ذلك، استخدم أساليب مصادقة Azure AD المستندة إلى المستخدم أو المستندة إلى الخدمة الموضحة بعد ذلك.
نظرة عامة

للوصول إلى حساب Azure Spatial Anchors معين، يحتاج العملاء أولا إلى الحصول على رمز وصول مميز من Azure Mixed Reality Security Token Service (STS). الرموز المميزة التي تم الحصول عليها من STS لها عمر 24 ساعة. وهي تحتوي على معلومات تستخدمها خدمات Spatial Anchors لاتخاذ قرارات التفويض بشأن الحساب والتأكد من أن المديرين المصرح لهم فقط يمكنهم الوصول إلى الحساب.
يمكن الحصول على رموز الوصول مقابل مفاتيح الحساب أو الرموز المميزة الصادرة عن Azure AD.
تمكنك مفاتيح الحساب من البدء بسرعة باستخدام خدمة Azure Spatial Anchors. ولكن قبل نشر تطبيقك للإنتاج، نوصي بتحديث تطبيقك لاستخدام مصادقة Azure AD.
يمكنك الحصول على الرموز المميزة لمصادقة Azure AD بطريقتين:
- إذا كنت تقوم بإنشاء تطبيق مؤسسي وكانت شركتك تستخدم Azure AD كنظام هوية خاص بها، فيمكنك استخدام مصادقة Azure AD المستندة إلى المستخدم في تطبيقك. ثم يمكنك منح حق الوصول إلى حسابات Spatial Anchors الخاصة بك باستخدام مجموعات أمان Azure AD الموجودة. يمكنك أيضا منح حق الوصول مباشرة للمستخدمين في مؤسستك.
- وإلا، فإننا نوصي بالحصول على الرموز المميزة ل Azure AD من خدمة ويب تدعم تطبيقك. نوصي بهذه الطريقة لتطبيقات الإنتاج لأنها تسمح لك بتجنب تضمين بيانات الاعتماد للوصول إلى Azure Spatial Anchors في تطبيق العميل.
مفاتيح الحساب
أسهل طريقة للبدء هي استخدام مفاتيح الحساب للوصول إلى حساب Azure Spatial Anchors الخاص بك. يمكنك الحصول على مفاتيح حسابك على مدخل Azure. انتقل إلى حسابك وحدد علامة التبويب المفاتيح :

يتوفر مفتاحان. كلاهما صالح في وقت واحد للوصول إلى حساب Spatial Anchors. نوصي بتحديث المفتاح الذي تستخدمه للوصول إلى الحساب بانتظام. وجود مفتاحين صالحين منفصلين يتيح هذه التحديثات دون توقف. ما عليك سوى تحديث المفتاح الأساسي والمفتاح الثانوي بدلا من ذلك.
تحتوي SDK على دعم مدمج للمصادقة عبر مفاتيح الحساب. تحتاج فقط إلى تعيين الخاصية على الكائن AccountKey الخاص بك cloudSession :
this.cloudSession.Configuration.AccountKey = @"MyAccountKey";
بعد تعيين هذه الخاصية، ستتعامل SDK مع تبادل مفتاح الحساب للحصول على رمز وصول والتخزين المؤقت الضروري للرموز المميزة لتطبيقك.
مصادقة مستخدم Azure AD
بالنسبة للتطبيقات التي تستهدف مستخدمي Azure Active Directory، نوصي باستخدام رمز Azure AD المميز للمستخدم. يمكنك الحصول على هذا الرمز المميز باستخدام MSAL. اتبع الخطوات الواردة في البداية السريعة لتسجيل تطبيق، والتي تشمل:
في مدخل Microsoft Azure
سجل تطبيقك في Azure AD كتطبيق أصلي. كجزء من التسجيل ، ستحتاج إلى تحديد ما إذا كان يجب أن يكون طلبك متعدد المستأجرين. ستحتاج أيضا إلى توفير عناوين URL لإعادة التوجيه المسموح بها لتطبيقك.
انتقل إلى علامة التبويب أذونات واجهة برمجة التطبيقات.
حدد "Add a permission" .
- حدد موفر موارد الواقع المختلط في علامة التبويب واجهات برمجة التطبيقات التي تستخدمها مؤسستي.
- حدد الأذونات المفوضة.
- حدد mixedreality.signin ضمن mixedreality.
- حدد "Add permissions".
حدد منح موافقة المشرف.
قم بتعيين دور ASA RBAC للتطبيق أو المستخدمين الذين تريد منحهم حق الوصول إلى المورد الخاص بك. إذا كنت تريد أن يكون لمستخدمي تطبيقك أدوار مختلفة مقابل حساب ASA، فقم بتسجيل تطبيقات متعددة في Azure AD وقم بتعيين دور منفصل لكل منها. ثم قم بتنفيذ منطق التفويض لاستخدام الدور المناسب للمستخدمين. للحصول على خطوات مفصلة لتعيين الدور، راجع تعيين أدوار Azure باستخدام مدخل Azure.
في التعليمات البرمجية الخاصة بك
- تأكد من استخدام معرف التطبيق وإعادة توجيه عنوان URI لتطبيق Azure AD الخاص بك لمعلمات معرف العميل و RedirectUri في MSAL.
- تعيين معلومات المستأجر:
- إذا كان تطبيقك يدعم مؤسستي فقط، فاستبدل هذه القيمة بمعرف المستأجر أو اسم المستأجر. على سبيل المثال ، contoso.microsoft.com.
- إذا كان تطبيقك يدعم الحسابات في أي دليل مؤسسي، فاستبدل هذه القيمة بالمؤسسات.
- إذا كان التطبيق الخاص بك يدعم كافة مستخدمي حساب Microsoft، فاستبدل هذه القيمة ب Common.
- في طلب الرمز المميز الخاص بك، اضبط النطاق على
https://sts.mixedreality.azure.com//.default. سيشير هذا النطاق إلى Azure AD بأن تطبيقك يطلب رمزا مميزا لخدمة الرمز المميز لأمن الواقع المختلط (STS).
بعد إكمال هذه الخطوات، يجب أن يكون التطبيق الخاص بك قادرا على الحصول من MSAL على رمز Azure AD المميز. يمكنك تعيين رمز Azure AD المميز هذا ككائن authenticationToken تكوين جلسة عمل سحابية:
this.cloudSession.Configuration.AuthenticationToken = @"MyAuthenticationToken";
مصادقة خدمة Azure AD
لنشر التطبيقات التي تستخدم Azure Spatial Anchors للإنتاج، نوصي باستخدام خدمة خلفية تتوسط في طلبات المصادقة. فيما يلي نظرة عامة على العملية:

هنا ، من المفترض أن تطبيقك يستخدم آليته الخاصة للمصادقة على خدمته الخلفية. (على سبيل المثال، حساب Microsoft أو PlayFab أو Facebook أو معرف Google أو اسم مستخدم وكلمة مرور مخصصين.) بعد مصادقة المستخدمين على الخدمة الخلفية، يمكن لهذه الخدمة استرداد رمز Azure AD المميز واستبداله برمز وصول مميز ل Azure Spatial Anchors وإعادته مرة أخرى إلى تطبيق العميل.
يتم استرداد الرمز المميز للوصول إلى Azure AD عبر MSAL. اتبع الخطوات الواردة في تسجيل بدء التشغيل السريع للتطبيق، والتي تشمل:
في مدخل Microsoft Azure
- سجل طلبك في Azure AD:
- في مدخل Azure، حدد Azure Active Directory، ثم حدد تسجيلات التطبيقات.
- اختر "New registration".
- أدخل اسم التطبيق الخاص بك، وحدد تطبيق ويب/واجهة برمجة التطبيقات كنوع التطبيق، وأدخل عنوان URL للمصادقة لخدمتك. حدد "Create".
- في التطبيق، حدد الإعدادات، ثم حدد علامة التبويب الشهادات والأسرار. تأكد من حفظ القيمة السرية. ستحتاج إلى تضمينه في رمز خدمة الويب الخاصة بك.
- قم بتعيين دور ASA RBAC للتطبيق أو المستخدمين الذين تريد منحهم حق الوصول إلى المورد الخاص بك. إذا كنت تريد أن يكون لمستخدمي تطبيقك أدوار مختلفة مقابل حساب ASA، فقم بتسجيل تطبيقات متعددة في Azure AD وقم بتعيين دور منفصل لكل منها. ثم قم بتنفيذ منطق التفويض لاستخدام الدور المناسب للمستخدمين. للحصول على خطوات مفصلة لتعيين الدور، راجع تعيين أدوار Azure باستخدام مدخل Azure.
في التعليمات البرمجية الخاصة بك
ملاحظة
يمكنك استخدام نموذج الخدمة المتوفر كجزء من نماذج تطبيقات Spatial Anchors.
- تأكد من استخدام معرف التطبيق وسر التطبيق وإعادة توجيه عنوان URI لتطبيق Azure AD الخاص بك كمعلمات معرف العميلوالسر وإعادة التوجيه في MSAL.
- قم بتعيين معرف المستأجر إلى معرف مستأجر Azure AD الخاص بك في معلمة المرجع في MSAL.
- في طلب الرمز المميز الخاص بك، اضبط النطاق على
https://sts.mixedreality.azure.com//.default.
بعد إكمال هذه الخطوات، يمكن للخدمة الخلفية استرداد رمز Azure AD مميز. يمكنه بعد ذلك استبداله برمز MR والذي سيعود مرة أخرى إلى العميل. يتم استخدام رمز Azure AD المميز لاسترداد رمز MR المميز عبر مكالمة REST. إليك عينة من المكالمة:
GET https://sts.mixedreality.azure.com/Accounts/35d830cb-f062-4062-9792-d6316039df56/token HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni<truncated>FL8Hq5aaOqZQnJr1koaQ
Host: sts.mixedreality.azure.com
Connection: Keep-Alive
HTTP/1.1 200 OK
Date: Sun, 24 Feb 2019 08:00:00 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 1153
Accept: application/json
MS-CV: 05JLqWeKFkWpbdY944yl7A.0
{"AccessToken":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjI2MzYyMTk5ZTI2NjQxOGU4ZjE3MThlM2IyMThjZTIxIiwidHlwIjoiSldUIn0.eyJqdGkiOiJmMGFiNWIyMy0wMmUxLTQ1MTQtOWEzNC0xNzkzMTA1NTc4NzAiLCJjYWkiOiIzNWQ4MzBjYi1mMDYyLTQwNjItOTc5Mi1kNjMxNjAzOWRmNTYiLCJ0aWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJhaWQiOiIzNWQ4MzBjYi1mMDYyLTQwNjItOTc5Mi1kNjMxNjAzOWRmNTYiLCJhYW8iOi0xLCJhcHIiOiJlYXN0dXMyIiwicmlkIjoiL3N1YnNjcmlwdGlvbnMvNzIzOTdlN2EtNzA4NC00ODJhLTg3MzktNjM5Y2RmNTMxNTI0L3Jlc291cmNlR3JvdXBzL3NhbXBsZV9yZXNvdXJjZV9ncm91cC9wcm92aWRlcnMvTWljcm9zb2Z0Lk1peGVkUmVhbGl0eS9TcGF0aWFsQW5jaG9yc0FjY291bnRzL2RlbW9fYWNjb3VudCIsIm5iZiI6MTU0NDU0NzkwMywiZXhwIjoxNTQ0NjM0MzAzLCJpYXQiOjE1NDQ1NDc5MDMsImlzcyI6Imh0dHBzOi8vbXJjLWF1dGgtcHJvZC50cmFmZmljbWFuYWdlci5uZXQvIiwiYXVkIjoiaHR0cHM6Ly9tcmMtYW5jaG9yLXByb2QudHJhZmZpY21hbmFnZXIubmV0LyJ9.BFdyCX9UJj0i4W3OudmNUiuaGgVrlPasNM-5VqXdNAExD8acFJnHdvSf6uLiVvPiQwY1atYyPbOnLYhEbIcxNX-YAfZ-xyxCKYb3g_dbxU2w8nX3zDz_X3XqLL8Uha-rkapKbnNgxq4GjM-EBMCill2Svluf9crDmO-SmJbxqIaWzLmlUufQMWg_r8JG7RLseK6ntUDRyDgkF4ex515l2RWqQx7cw874raKgUO4qlx0cpBAB8cRtGHC-3fA7rZPM7UQQpm-BC3suXqRgROTzrKqfn_g-qTW4jAKBIXYG7iDefV2rGMRgem06YH_bDnpkgUa1UgJRRTckkBuLkO2FvA"}
يتم تنسيق رأس التفويض كما يلي: Bearer <Azure_AD_token>
تحتوي الاستجابة على الرمز المميز MR بنص عادي.
ثم يتم إرجاع رمز MR المميز هذا إلى العميل. يمكن لتطبيق العميل الخاص بك بعد ذلك تعيينه كرمز وصول مميز له في تكوين جلسة السحابة:
this.cloudSession.Configuration.AccessToken = @"MyAccessToken";
التحكم في الوصول المستند إلى الدور من Azure
لمساعدتك في التحكم في مستوى الوصول الممنوح للتطبيقات أو الخدمات أو مستخدمي Azure AD لخدمتك، يمكنك تعيين هذه الأدوار الموجودة مسبقا حسب الحاجة مقابل حسابات Azure Spatial Anchors الخاصة بك:
- مالك حساب المراسي المكانية. يمكن للتطبيقات أو المستخدمين الذين لديهم هذا الدور إنشاء نقاط ربط مكانية والاستعلام عنها وحذفها. عند المصادقة على حسابك باستخدام مفاتيح الحساب، يتم تعيين دور مالك حساب Spatial Anchors إلى المدير المصادق عليه.
- المساهم في حساب المراسي المكانية. يمكن للتطبيقات أو المستخدمين الذين لديهم هذا الدور إنشاء نقاط ربط مكانية واستعلام عنها، ولكن لا يمكنهم حذفها.
- المراسي المكانية قارئ الحساب. يمكن للتطبيقات أو المستخدمين الذين لديهم هذا الدور الاستعلام فقط عن نقاط الربط المكانية. لا يمكنهم إنشاء أخرى جديدة أو حذف بيانات موجودة أو تحديث البيانات الوصفية عليها. يستخدم هذا الدور عادة للتطبيقات التي يقوم فيها بعض المستخدمين بتنظيم البيئة ولكن يمكن للآخرين فقط تذكر المراسي التي تم وضعها مسبقا في البيئة.
الخطوات التالية
أنشئ تطبيقك الأول باستخدام Azure Spatial Anchors: