المصادقة والتخويل إلى Azure Spatial Anchors

في هذه المقالة، ستتعلم الطرق المختلفة التي يمكنك من خلالها المصادقة على Azure Spatial Anchors من تطبيقك أو خدمة الويب. ستتعرف أيضا على الطرق التي يمكنك من خلالها استخدام التحكم في الوصول المستند إلى دور Azure (Azure RBAC) في معرف Microsoft Entra للتحكم في الوصول إلى حسابات Spatial Anchors.

التحذير

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

نظرة عامة

Diagram that shows an overview of authentication to Azure Spatial Anchors.

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

يمكن الحصول على رموز الوصول المميزة مقابل مفاتيح الحساب أو الرموز المميزة الصادرة عن معرف Microsoft Entra.

تمكنك مفاتيح الحساب من البدء بسرعة باستخدام خدمة Azure Spatial Anchors. ولكن قبل نشر التطبيق الخاص بك للإنتاج، نوصي بتحديث تطبيقك لاستخدام مصادقة Microsoft Entra.

يمكنك الحصول على رموز مصادقة Microsoft Entra بطريقتين:

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

مفاتيح الحساب

أسهل طريقة للبدء هي استخدام مفاتيح الحساب للوصول إلى حساب Azure Spatial Anchors. يمكنك الحصول على مفاتيح حسابك على مدخل Microsoft Azure. انتقل إلى حسابك وحدد علامة التبويب مفاتيح :

Screenshot that shows the Keys tab with the Copy button for the Primary key highlighted.

يتوفر مفتاحان. كلاهما صالحان في نفس الوقت للوصول إلى حساب Spatial Anchors. نوصي بتحديث المفتاح الذي تستخدمه للوصول إلى الحساب بانتظام. يمكن وجود مفتاحين صالحين منفصلين هذه التحديثات دون وقت تعطل. يجب عليك فقط تحديث المفتاح الأساسي والمفتاح الثانوي بدلا من ذلك.

يحتوي SDK على دعم مضمن للمصادقة عبر مفاتيح الحساب. تحتاج فقط إلى تعيين الخاصية AccountKey على الكائن الخاص بك cloudSession :

this.cloudSession.Configuration.AccountKey = @"MyAccountKey";

بعد تعيين هذه الخاصية، ستتعامل SDK مع تبادل مفتاح الحساب الرموز المميزة للوصول والتخزين المؤقت الضروري للرمز المميزة لتطبيقك.

مصادقة مستخدم Microsoft Entra

بالنسبة للتطبيقات التي تستهدف مستخدمي Microsoft Entra، نوصي باستخدام رمز Microsoft Entra المميز للمستخدم. يمكنك الحصول على هذا الرمز المميز باستخدام MSAL. اتبع الخطوات الواردة في التشغيل السريع لتسجيل تطبيق، والتي تتضمن:

في مدخل Microsoft Azure

  1. سجل تطبيقك في معرف Microsoft Entra كتطبيق أصلي. كجزء من التسجيل، ستحتاج إلى تحديد ما إذا كان يجب أن يكون تطبيقك متعدد المستأجرين. ستحتاج أيضا إلى توفير عناوين URL لإعادة التوجيه المسموح بها للتطبيق الخاص بك.

  2. انتقل إلى علامة التبويب أذونات واجهة برمجة التطبيقات.

  3. حدد إضافة إذن.

    1. حدد موفر موارد الحقيقة المختلطة في علامة التبويب واجهات برمجة التطبيقات التي تستخدمها مؤسستي.
    2. حدد الأذونات المفوضة.
    3. حدد mixedreality.signin ضمن mixedreality.
    4. حدد إضافة أذونات.
  4. حدد منح موافقة المسؤول.

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

في التعليمات البرمجية الخاصة بك

  1. تأكد من استخدام معرف التطبيق وإعادة توجيه URI لتطبيق Microsoft Entra الخاص بك لمعلمات معرف العميل و RedirectUri في MSAL.
  2. تعيين معلومات المستأجر:
    1. إذا كان تطبيقك يدعم مؤسستي فقط، فاستبدل هذه القيمة بمعرف المستأجر أو اسم المستأجر. على سبيل المثال، contoso.microsoft.com.
    2. إذا كان تطبيقك يدعم الحسابات في أي دليل تنظيمي، فاستبدل هذه القيمة بالمؤسسات.
    3. إذا كان تطبيقك يدعم جميع مستخدمي حساب Microsoft، فاستبدل هذه القيمة ب Common.
  3. بناء على طلب الرمز المميز الخاص بك، قم بتعيين النطاق إلى https://sts.mixedreality.azure.com//.default. سيشير هذا النطاق إلى معرف Microsoft Entra إلى أن التطبيق الخاص بك يطلب رمزا مميزا لخدمة الرمز المميز لأمان الحقيقة المختلطة (STS).

بعد إكمال هذه الخطوات، يجب أن يكون تطبيقك قادرا على الحصول من MSAL على رمز مميز ل Microsoft Entra. يمكنك تعيين هذا الرمز المميز ل Microsoft Entra كعنصر تكوين جلسة عمل السحابة authenticationToken :

this.cloudSession.Configuration.AuthenticationToken = @"MyAuthenticationToken";

مصادقة خدمة Microsoft Entra

لنشر التطبيقات التي تستخدم Azure Spatial Anchors للإنتاج، نوصي باستخدام خدمة خلفية ستقوم بوساطة طلبات المصادقة. فيما يلي نظرة عامة على العملية:

Diagram that provides an overview of authentication to Azure Spatial Anchors.

هنا، يفترض أن تطبيقك يستخدم آليته الخاصة للمصادقة على خدمته الخلفية. (على سبيل المثال، حساب Microsoft أو PlayFab أو Facebook أو معرف Google أو اسم مستخدم وكلمة مرور مخصصين.) بعد مصادقة المستخدمين على الخدمة الخلفية، يمكن لهذه الخدمة استرداد رمز Microsoft Entra المميز، وتبادله مع رمز مميز للوصول إلى Azure Spatial Anchors، وإعادته مرة أخرى إلى تطبيق العميل الخاص بك.

يتم استرداد الرمز المميز للوصول إلى Microsoft Entra عبر MSAL. اتبع الخطوات الواردة في تسجيل التشغيل السريع للتطبيق، والتي تتضمن:

في مدخل Microsoft Azure

  1. تسجيل التطبيق الخاص بك في معرف Microsoft Entra:
    1. في مدخل Microsoft Azure، حدد Microsoft Entra ID، ثم حدد App registrations.
    2. حدد تسجيل جديد.
    3. أدخل اسم التطبيق الخاص بك، وحدد Web app / API كنوع التطبيق، وأدخل عنوان URL للمصادقة للخدمة الخاصة بك. حدد إنشاء.
  2. في التطبيق، حدد الإعدادات، ثم حدد علامة التبويب الشهادات والأسرار. قم بإنشاء سر عميل جديد، وحدد مدة، ثم حدد إضافة. تأكد من حفظ القيمة السرية. ستحتاج إلى تضمينه في التعليمات البرمجية لخدمة الويب الخاصة بك.
  3. قم بتعيين دور ASA RBAC للتطبيق أو المستخدمين الذين تريد منحهم حق الوصول إلى المورد الخاص بك. إذا كنت تريد أن يكون لمستخدمي التطبيق أدوار مختلفة مقابل حساب ASA، فسجل تطبيقات متعددة في معرف Microsoft Entra وقم بتعيين دور منفصل لكل منها. ثم قم بتنفيذ منطق التخويل الخاص بك لاستخدام الدور الصحيح للمستخدمين. للحصول على خطوات تعيين الدور التفصيلية، راجع تعيين أدوار Azure باستخدام مدخل Microsoft Azure.

في التعليمات البرمجية الخاصة بك

إشعار

يمكنك استخدام نموذج الخدمة المتوفر كجزء من تطبيقات عينة Spatial Anchors.

  1. تأكد من استخدام معرف التطبيق وسر التطبيق وإعادة توجيه URI لتطبيق Microsoft Entra الخاص بك كمعلمات معرف العميل والبيانات السرية و RedirectUri في MSAL.
  2. تعيين معرف المستأجر إلى معرف مستأجر Microsoft Entra الخاص بك في معلمة المرجع في MSAL.
  3. بناء على طلب الرمز المميز الخاص بك، قم بتعيين النطاق إلى https://sts.mixedreality.azure.com//.default.

بعد إكمال هذه الخطوات، يمكن للخدمة الخلفية استرداد رمز Microsoft Entra المميز. يمكنه بعد ذلك استبداله برمز MR المميز الذي سيعود إلى العميل. يتم استخدام رمز Microsoft Entra المميز لاسترداد رمز 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

لمساعدتك في التحكم في مستوى الوصول الممنوح للتطبيقات أو الخدمات أو مستخدمي Microsoft Entra للخدمة الخاصة بك، يمكنك تعيين هذه الأدوار الموجودة مسبقا حسب الحاجة مقابل حسابات Azure Spatial Anchors الخاصة بك:

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

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

إنشاء تطبيقك الأول باستخدام Azure Spatial Anchors:

iOS