الدليل النهائي لإعداد المصادقة والتفويض متعدد المستأجرين
يمكن أن يكون إنشاء تطبيق متعدد المستأجرين معقدًا. يجمع هذا المقال كل منشوراتنا السابقة حول استراتيجيات متعددة المستأجرين والمنظمات. نأمل أن يساعدك في توفير الوقت والبدء بسهولة.
بناء تطبيق متعدد المستأجرين يمكن أن يكون تحديًا، حيث هناك العديد من الجوانب التي يجب النظر فيها. يجمع هذا المقال جميع مقالات المدونة السابقة لدينا لفهم ممارسات متعددة المستأجرين والمنظمات. للبداية السريعة وتوفير الوقت، فقط تحقق من هذا المقال، فهو يحتوي على كل ما تحتاجه!
يتم تحديد الإرشادات العامة في الخطوات التالية:
- فهم بنية متعددة المستأجرين
- خريطة لحالات استخدام تطبيق متعدد المستأجرين
- تحقيق عزل المستأجر
- تحديد كيفية إدارة الهويات
- اختيار نماذج التفويض المناسبة
ما هي بنية متعددة المستأجرين
تعددية المستأجرين في البرمجيات هي نوع من تصميم البرمجيات حيث يعمل مثيل واحد من البرمجيات على خادم ويخدم العديد من المستأجرين. الأنظمة المصممة بهذه الطريقة تكون "مشتركة" (بدلاً من "مخصصة" أو "معزولة").
المستأجر هو مجموعة من المستخدمين الذين يشاركون في الوصول المشترك مع امتيازات معينة إلى مثيل البرنامج.
أحد العقول الرئيسية في تعددية المستأجرين هو مفهوم "المشتركة". وفقًا للتعريف الأوسع للتعددية، فإن كون التطبيق متعدد المستأجرين لا يعني أن كل مكون في الحل مشترك. بل يعني أن بعض مكونات الحل تُعاد استخدامها عبر العديد من المستأجرين. فهم هذا المصطلح بشكل واسع يساعدك في التعاطف مع احتياجات العملاء ومصادرها.
بمجرد فهم بنية متعددة المستأجرين، تكون الخطوة التالية هي تطبيق تطبيقك على السيناريوهات الواقعية، بالتركيز على الاحتياجات المحددة للمنتج والأعمال.
ما هي حالات استخدام التطبيقات متعددة المستأجرين؟
متعدد المستأجرين في البرامج كخدمة (SaaS)
غالبًا ما تجد التطبيقات متعددة المستأجرين مكانًا لها في حلول الأعمال للأعمال (B2B) مثل أدوات الإنتاجية، وبرامج التعاون، وغيرها من المنتجات كخدمة (SaaS). في هذا السياق، يمثّل كل "مستأجر" عادةً عميلاً تجاريًا، قد يكون لديه العديد من المستخدمين (موظفيه). بالإضافة إلى ذلك، قد يكون لدى العميل التجاري العديد من المستأجرين لتمثيل مؤسسات أو أقسام أعمال منفصلة.
متعدد المستأجرين في حالات استخدام الأعمال للأعمال العامة (B2B)
تمتد تطبيقات B2B إلى ما وراء منتجات SaaS وغالبًا ما تتضمن استخدام التطبيقات متعددة المستأجرين. في سياقات B2B، تعمل هذه التطبيقات كمنصة مشتركة لمختلف الفرق والعملاء التجاريين وشركات الشركاء للوصول إلى تطبيقاتك.
على سبيل المثال، فكر في شركة مشاركة سيارات توفر تطبيقات لكل من B2C وB2B. تخدم تطبيقات B2B العديد من العملاء التجاريين، ويمكن أن يساعد تطبيق بنية متعددة المستأجرين في إدارة موظفيهم ومواردهم. على سبيل المثال، إذا رغبت الشركة في الحفاظ على نظام هوية موحد للمستخدم، يمكنها تصميم هيكل مثل المثال التالي:
سارة لديها هوية شخصية وتجارية على حد سواء. تستخدم خدمة مشاركة السيارات كراكبة وتعمل أيضًا كسائقة في أوقات فراغها. في دورها المهني، تدير أيضًا عملها وتستخدم هذه الهوية التجارية لتكون شريكة مع الأعمال 1.
لماذا يجب عليك استخدام تعددية المستأجرين في منتج SaaS
التوسع باستخدام تعددية المستأجرين
بالنسبة للشركات الكبيرة، تعددية المستأجرين هي الأساس لتلبية متطلباتهم بفعالية من حيث التوفر وإدارة الموارد وإدارة التكاليف وأمان البيانات. على المستوى الفني، يعتمد اعتماد نهج متعدد المستأجرين على تبسيط عمليات التطوير لديك، وتقليل التحديات التقنية، وتشجيع التوسع السلس.
إنشاء تجربة موحدة
عند فحص جذور منتجات SaaS، يشبه ذلك بناء يضم شققًا متنوعة. جميع المستأجرين يشاركون المرافق المشتركة مثل المياه والكهرباء والغاز، ومع ذلك يحتفظون بسيطرة مستقلة على إدارة مساحتهم ومواردهم. يبسط هذا النهج إدارة الممتلكات.
ضمان الأمان من خلال عزل المستأجر
في بنية تعددية المستأجرين، يتم تقديم مصطلح "المستأجر" لإنشاء حدود تفصل بين الموارد والبيانات وتأمينها بين المستأجرين المختلفين ضمن مثيل مشترك. يضمن ذلك بقاء بيانات وعمليات كل مستأجر متميزة وآمنة، حتى إذا كانوا يستخدمون نفس الموارد الأساسية.
لماذا يجب عليك تحقيق عزل المستأجر؟
عند مناقشة التطبيقات متعددة المستأجرين، يكون من الضروري دائمًا تحقيق عزل المستأجر. يعني ذلك الحفاظ على البيانات والموارد المختلفة للمستأجرين منفصلة وآمنة داخل نظام مشترك (على سبيل المثال، بنية تحتية سحابية أو تطبيق متعدد المستأجرين). يمنع ذلك أي محاولات غير مصرح بها للوصول إلى موارد مستأجر آخر.
بينما قد تبدو التفسير مجردة، سنستخدم أمثلة وتفاصيل رئيسية لشرح عقلية العزل وممارساتها الأفضل.
عزل المستأجر لا يتعارض م ع عقلية "المشاركة" في التعددية
ذلك لأن عزل المستأجر ليس بالضرورة بناءً على مستوى موارد البنية التحتية. في عالم التعددية والعزل، يرى البعض العزل كتقسيم صارم بين الموارد الفعلية للبنية التحتية. يؤدي ذلك عادةً إلى نموذج حيث يكون لكل مستأجر قواعد بيانات، وحسابات، أو سحابات خاصة منفصلة. في سيناريوهات الموارد المشتركة، مثل التطبيقات متعددة المستأجرين، يمكن أن يكون تحقيق العزل بناءً منطقيًا.
يركز عزل المستأجر بشكل حصري على استخدام "سياق المستأجر" لتحديد الوصول إلى الموارد. يقيم سياق المستأجر الحالي ويستخدم هذا السياق لتحديد الموارد المتاحة لذلك المستأجر.
المصادقة والتفويض ليست مساوية لـ "العزل"
استخدام المصادقة والتفويض للتحكم في الوصول إلى بيئات SaaS الخاصة بك مهم، ولكنه ليس كافياً للعزل الكامل. تكون هذه الآليات جزءًا واحدًا فقط من الأسهم الأمنية.
غالبًا ما يسأل الناس سؤالًا، هل يمكنني استخدام الحلول العامة للتفويض والتحكم في الوصول القائم على الأدوار لتحقيق عزل المستأجر؟
وإليك الشيء، يمكنك بناء تطبيق متعدد المستأجرين ولكنك لا تستطيع أن تقول إنك قد حققت واستخدمت استراتيجيات عزل المستأجر كممارسة أفضل. لا نوصي بها عمومًا لأن
لتوضيح الأمر، ضع في اعتبارك حالة قمت فيها بإعداد المصادقة والتفويض لنظام SaaS الخاص بك. عندما يقوم المستخدمون بتسجيل الدخول، يتلقون رمزًا يحتوي على معلومات حول دورهم، يحدد ما يمكنهم القيام به في التطبيق. يعزز هذا النهج الأمان ولكنه لا يضمن العزل.
استخدام "المنظمة" لتمثيل مستأجر منتج SaaS، لتحقيق عزل المستأجر
الاعتماد فقط على المصادقة والتفويض لن يمنع مستخدمًا لديه الدور الصحيح من الوصول إلى موارد مستأجر آخر. لذلك نحتاج إلى دمج سياق "المستأجر"، مثل معرف المستأجر، لتقييد الوصول إلى الموارد.
هنا يأتي دور عزل المستأجر. يستخدم معرفات محددة للمستأجر لإنشاء حدود، مثل الجدران، الأبواب، والأقفال، لضمان فصل واضح بين المستأجرين.
إدارة الهوية في التطبيقات متعددة المستأجرين
ناقشنا عزل المستأجر، ولكن ماذا عن الهويات؟ كيف تقرر ما إذا كانت هوياتك يجب أن تكون "معزولة" أم لا؟
غالبًا ما يكون هناك لبس حول مفهوم "عزل الهوية". قد يشير إلى الحالات التي يكون فيها للمستخدم الواقعي هويتان في الفهم العام للناس.
- يمكن أن توجد كلتا الهويتين ضمن نظام هوية واحد. على سبيل المثال، قد يكون لدى سارة بريد إلكتروني شخصي مسجل جنبًا إلى جنب مع بريد إلكتروني مؤسسي متصل بتسجيل الدخول الفردي (SSO).
- يحتفظ المستخدمون بهويتين متميزتين ضمن أنظمة هوية منفصلة، تمثل منتجات منفصلة تمامًا. هذه المنتجات غير مرتبطة تمامًا ببعضها البعض.
في بعض الأحيان، تُشار إلى هذه السيناريوهات على أنها "هوية معزولة". لكن هذا المصطلح قد لا يساعد في اتخاذ قرار.
بدلاً من تحديد ما إذا كنت بحاجة إلى "عزل الهوية"، قم بالنظر في
يمكن أن يرشدك هذا الجواب في تصميم النظام الخاص بك. لإجابة موجزة بخصوص تطبيق متعدد المستأجرين،
في التطبيقات متعددة المستأجرين، تُشترك الهويات، على عكس الموارد والبيانات الخاصة بالمستأجر، بين العديد من المستأجرين. تخيل نفسك كمدير بناية؛ لن ترغب في الحفاظ على قائمتين من الأسماء لإدارة هويات مستأجريك.
عند السعي لتحقيق عزل المستأجر، قد تكون لاحظت التكرار المتكرر لمصطلح "المنظمة"، الذي يُعتبر غالبًا كممارسة أفضل لبناء التطبيقات متعددة المستأجرين.
باستخدام مفهوم "المنظمة"، يمكنك تحقيق عزل المستأجر في تطبيقك متعدد المستأجرين مع الحفاظ على نظام هوية موحد.