توضّح هذه المقالة حالات استخدام ميزة "الوصول الواعي بالسياق" التي تتضمّن سياسات تستخدم مستويات الوصول المُخصّصة. في هذه الأمثلة، يمكنك إنشاء مستويات الوصول المُخصَّصة في الوضع "المتقدّم"، باستخدام لغة التعبير العادي (CEL).
يُرجى ملاحظة أنّه يمكنك أيضًا استخدام الدوال ووحدات الماكرو عند إنشاء مستويات وصول مُخصَّصة باستخدام تعبيرات CEL.
للاطّلاع على أمثلة على مستويات الوصول التي جرى تطويرها في الوضع "الأساسي" (باستخدام واجهة الوصول الواعي بالسياق)، يُرجى الانتقال إلى أمثلة على الوصول الواعي بالسياق "الوضع الأساسي".
أمثلة على المصادقة
السماح بالوصول إلى المستخدمين استنادًا إلى مدى قوة بيانات اعتماد تسجيل دخول المستخدم
لتحسين أمان الوصول إلى التطبيقات التي تحتوي على بيانات حسّاسة، يمكنك تحديد طريقة المصادقة المستخدمة عندما سجّل المستخدم الدخول إلى النظام لتحديد ما إذا كان يمكنه الوصول إلى التطبيق أم لا.
مثلاً، لا يُسمح للمستخدمين الذين سجّلوا الدخول باستخدام كلمة المرور فقط بالوصول إلا إلى التطبيقات التي لا تحتوي على أي معلومات حساسة، في حين يمكن السماح للمستخدم الذي سجّل الدخول باستخدام مفتاح أمان للجهاز كعامل ثانٍ بالوصول إلى التطبيقات الأكثر حساسية في المؤسسة.
يستخدم مستوى الوصول هذا سمات request.auth للتحقُّق من تسجيل المستخدمين الدخول باستخدام كلٍ من كلمة مرور ومفتاح للجهاز للتحقُّق بخطوتين، ويمكنهم الوصول إلى التطبيقات الحسّاسة.
request.auth.claims.crd_str.pwd == true && request.auth.claims.crd_str.hwk == true
السماح بالوصول إلى المستخدمين الذين لديهم بيانات اعتماد مصادقة قوية
وغالبًا ما يريد المشرفون فرض الوصول إلى موارد الشركة بعد مصادقة المستخدم ببيانات اعتماد قوية فقط. يستخدم المثال التالي السمتَين levels وrequest.auth على النحو التالي:
- إذا كان المستخدم يستخدم جهاز شركة، ستكون أي حزمة مصادقة متعدّدة العوامل (MFA)، باستثناء الرسائل القصيرة (SMS)، كافية (يمكن أن تشمل الطرق الإشعارات الفورية أو مفتاح أمان الأجهزة أو البرامج أو كلمة مرور لمرة واحدة).
- إذا كان المستخدم يستخدم جهازًا غير مملوك للشركة، يجب استخدام مفتاح أمان للأجهزة أو البرامج.
// فرض المصادقة الأساسية المتعددة العوامل (غير الرسائل القصيرة) على أجهزة الشركة ومفتاح الأمان (جهاز أو برنامج) في حال عدم توفّر
levels.Require_Secure_Device &&
(
(
levels.Require_Corporate_Device &&
request.auth.claims.crd_str.mfa &&
!request.auth.claims.crd_str.sms
) ||
(
!levels.Require_Corporate_Device &&
(
request.auth.claims.crd_str.hwk || request.auth.claims.crd_str.swk
)
)
)
السماح بالوصول إلى التطبيقات من الجلسات المرتبطة ببيانات اعتماد الجلسة المرتبطة بالجهاز (DBSC) فقط
يقتصر على تطبيقات الويب على أجهزة الكمبيوتر ولا ينطبق على التطبيقات على الأجهزة الجوّالة أو واجهات برمجة التطبيقات.
يمكنك تحسين أمان الوصول إلى التطبيقات التي تحتوي على بيانات حسّاسة من خلال طلب بيانات اعتماد الجلسة المرتبطة بالجهاز (DBSC). تربط "بيانات اعتماد الجلسة المرتبطة بالجهاز" (DBSC) جلسة المستخدم بجهازه عندما يستخدم متصفّح Chrome على نظام التشغيل Windows، ما قد يقلل بشكل كبير من خطر استغلال الجلسات.
يستخدم مستوى الوصول هذا السمة request.auth للتحقّق من ربط جلسات المستخدم بجهاز معيّن. إذا كان الأمر كذلك، يتم منح التطبيق الإذن بالوصول؛ وإذا لم يكن كذلك (أي أنّ الجلسة ليست مرتبطة ببيانات DBSC)، يتم رفض الإذن بالوصول.
لتجنُّب حدوث أخطاء، يمكنك تفعيل "بيانات اعتماد الجلسة المرتبطة بالجهاز (DBSC)" لجميع حسابات المستخدمين الخاضعة لمستوى الوصول هذا. لمعرفة التفاصيل، يُرجى الانتقال إلى مقالة تفعيل "بيانات اعتماد الجلسة المرتبطة بالجهاز" (DBSC).
يجب ضبط مستوى الوصول على وضع المراقبة قبل تفعيل "وضع النشاط". يمكنك في "وضع المراقبة" اختبار تأثير فرض مستوى الوصول بدون إيقاف وصول المستخدمين.
يمكنك استخدام تعبير CEL هذا لإنشاء مستوى الوصول المخصَّص:
request.auth.sessionBoundToDevice(origin) == true
يمكنك استخدام تعبير CEL هذا لفرض "بيانات اعتماد الجلسة المرتبطة بالجهاز (DBSC)" على أجهزة Windows التي تعمل بالإصدار 136 من متصفّح Chrome أو الإصدارات الأحدث فقط:
!(device.os_type == OsType.DESKTOP_WINDOWS && device.chrome.versionAtLeast("136.0.0")) || request.auth.sessionBoundToDevice(origin) == true
أمثلة على الأجهزة
السماح بالوصول من جهاز استنادًا إلى الإشارات التي تم الإبلاغ عنها من قِبل شريك BeyondCorp Alliance
يمكنك استخدام إشارات الجهاز التي تم الإبلاغ عنها من قِبل شريك BeyondCorp Alliance. في هذا المثال، يتم استخدام برامج Lookout كتطبيق.
يستخدم مستوى الوصول هذا السمة device للتحقّق من إبلاغ Lookout عن الجهاز المستخدم للوصول إلى Google Workspace على أنّه "متوافق مع السياسات" مع نتيجة كفاءة "جيد جدًا".
device.vendors["Lookout"].is_compliant_device == true && device.vendors["Lookout"].device_health_score == DeviceHealthScore.VERY_GOODالسماح بالوصول من متصفّح Chrome مُدار فقط مع آخر التحديثات
يستخدم مستوى الوصول هذا السمة device للتحقُّق من استخدام المستخدمين لأحدث إصدار من متصفِّح Chrome المُدار، ولا يسمح بالوصول إلا من خلال هذا المتصفّح.
device.chrome.management_state == ChromeManagementState.CHROME_MANAGEMENT_STATE_BROWSER_MANAGED && device.chrome.versionAtLeast("94.0.4606.81")السماح بالوصول باستخدام شهادة مؤسسة
يمكنك استخدام شهادات المؤسسات للأجهزة في مستويات الوصول المُخصَّصة لتحديد ما إذا كان الجهاز من الأصول المملوكة للشركة. يستخدم مستوى الوصول هذا السمة device لإثبات ملكية الأصل. اقرأ إعداد شروط شهادة المؤسسة لمزيد من المعلومات والأمثلة.
يمكن أن يتضمّن الجهاز أكثر من شهادة. يتم استخدام شهادات المؤسسة في مستوى وصول مُخصَّص باستخدام وحدة ماكرو exists(). على سبيل المثال:
device.certificates.exists(cert, predicate)
في هذا المثال، cert هي مُعرّف بسيط يمكنك استخدامه في المتغيّر predicate لربطه بشهادة المؤسسة للجهاز. تدمج وحدة الماكرو exists() نتائج predicate لكل عنصر مع عامل التشغيل or (||). تعرض وحدات الماكرو صحيح إذا كانت شهادة واحدة على الأقل تستوفي تعبير predicate.
يسرد الجدول أدناه السمات التي يمكنك استخدامها لإنشاء تعبيرات CEL لاستخدامها مع مستويات الوصول المخصصة. يُرجى العِلم أنّ مقارنات السلاسل حساسة لحالة الأحرف.
| السمة | الوصف | مثال على تعبير predicate (حيث cert هي معرّف لوحدات الماكرو) |
|---|---|---|
| is_valid |
صحيح إذا كانت الشهادة صالحة ولم تنته صلاحيتها. |
cert.is_valid |
| cert_fingerprint | الملف المرجعي للشهادة (base64 غير مضافة SHA256) |
cert.cert_fingerprint == origin. clientCertFingerprint() |
| root_ca_fingerprint | الملف المرجعي لشهادة CA الجذر المستخدَمة لتوقيع هذه الشهادة (base64 غير مُضافة SHA256) |
cert.root_ca_fingerprint == "the_fingerprint" |
| جهة إصدار البطاقة |
اسم جهة الإصدار للعثور على اسم جهة الإصدار، شغِّل الأمر التالي في الشهادة: $ openssl x509 -in ca_1.crt -noout سلسلة جهة الإصدار المستخدَمة في مستوى الوصول هي عكس الإخراج ويتم استبدال "/" بفاصلة، على سبيل المثال: EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN |
cert.issuer == "EMAILADDRESS=test_inter1 @beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN" |
| الموضوع | اسم موضوع الشهادة (الأسماء الموسَّعة بالكامل) |
cert.subject == "CA_SUB" |
| serial_number |
الرقم التسلسلي للشهادة |
cert.serial_number == "123456789" |
| template_id | رقم تعريف نموذج X.509 للإضافة Certificate Template للشهادة (سلسلة) |
cert.template_id == "1.3.6.1.4.1.311.21. 8.15608621.11768144. 5720724. 16068415.6889630.81. 2472537.7784047" |
أمثلة على السياسات شائعة الاستخدام:
تحقَّق من أنّ الجهاز يحتوي على شهادة مؤسسة صالحة موقَّعة من خلال شهادة الجذر للشركة
device.certificates.exists(cert, cert.is_valid && cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT")
التحقُّق من صحة جهة إصدار شهادة المؤسسة على الجهاز
device.certificates.exists(cert, cert.is_valid && cert.issuer == "EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN")
السماح بالوصول إلى الأجهزة المُفعَّل بها ميزتا تشفير القرص وقفل الشاشة
يستخدم هذا المثال السمة device لطلب تفعيل ميزتا تشفير القرص وقفل الشاشة. بالإضافة إلى ذلك، يجب أن يوافق المشرفون على الجهاز.
تتم الموافقة تلقائيًا على جميع الأجهزة التي تم إنشاؤها من خلال "التحقُّق من نقاط النهاية". ومع ذلك، قد تحتاج في بعض الحالات إلى حظر جهاز، مثل حالة فقدان جهاز. وفي هذه الحالات، لن ترغب في أن تتمكن هذه الأجهزة من الوصول إلى موارد الشركة.
بالنسبة إلى أمثلة مستويات الوصول الأخرى في هذا المستند، سنفترض أنّ مستوى الوصول هذا يحمل الاسم Require_Secure_Device.
// Require disk encryption and screen lock enabled
// This is applicable across all major platforms (Windows, Mac, Linux, CrOS, iOS, Android)
// This foundational and should be depended upon by all other access levels
device.encryption_status == DeviceEncryptionStatus.ENCRYPTED &&
device.is_secured_with_screenlock &&
device.is_admin_approved_device
السماح بالوصول إلى الأجهزة باستخدام متصفِّح Chrome مع متطلبات الأمان الأساسية
في هذا المثال، يستخدم مستوى الوصول السمة device للمطالبة بمتصفح Chrome مع متطلبات الأمان الأساسية.
// Require Chrome to be managed at profile or browser level, must have
// security event reporting enabled and must be version 97 or greater
levels.Require_Secure_Device &&
(
device.chrome.management_state == ChromeManagementState.CHROME_MANAGEMENT_STATE_BROWSER_MANAGED ||
device.chrome.management_state == ChromeManagementState.CHROME_MANAGEMENT_STATE_PROFILE_MANAGED
) &&
device.chrome.is_security_event_analysis_enabled &&
device.chrome.versionAtLeast("97")
السماح بالوصول إلى الأجهزة باستخدام متصفِّح Chrome مع متطلبات الأمان
يستخدم هذا المثال السمة device لطلب استخدام المستخدم لمتصفّح Chrome أو ملف شخصي مُدار على Chrome، ومن تفعيل موصِّلات حماية البيانات والتهديدات في متصفّح Chrome. يستخدم المثال سمة levels للإشارة إلى مستوى الوصول المُحدَّد سابقًا "طلب متصفّح Chrome المُدار". يفترض المثال التالي أن مستوى الوصول التابع يُسمى Require_Managed_Chrome.
// Require managed chrome (dependent on "Require_Managed_Chrome" access level)
// and require content inspection for downloads as well as URL check enabled
levels.Require_Managed_Chrome &&
device.chrome.is_file_download_analysis_enabled &&
device.chrome.is_realtime_url_check_enabled
السماح بالوصول إلى الأجهزة المملوكة للشركة
من متطلبات التحكُّم في الوصول عدم السماح بالوصول إلا عندما يكون الجهاز مُدارًا أو مملوكًا للشركة. هناك عدة طرق لتحديد ما إذا كان الجهاز مملوكًا للشركة أو مُدارًا، بما في ذلك:
- إذا كان الجهاز يحتوي على رقم تسلسلي يطابق رقمًا في نظام إدارة الأصول في الشركة
- إذا كان الجهاز يحتوي على شهادة مؤسسة صالحة صادرة عن الشركة
يمكن استخدام هاتين الطريقتين في مستوى الوصول المخصّص التالي الذي يستخدم سمتَي levels وdevice لتحديد ما إذا كان الجهاز مملوكًا للشركة أم مُدارًا.
// يكون الجهاز مملوكًا لشركة في حال استيفاء أحد الشروط التالية:
// 1. إذا كان الرقم التسلسلي يتطابق مع ما حمّله المشرف
// 2. إذا كان الجهاز يحتوي على شهادة صالحة صادرة عن المؤسسة
levels.Require_Secure_Device &&
(
device.is_corp_owned_device ||
device.certificates.exists(cert, cert.is_valid && cert.root_ca_fingerprint == "SOME_ROOT_CA_FINGERPRINT")
)
الملف المرجعي هو base64 غير المضاف بتشفير SHA256 digest (بتنسيق ثنائي) للشهادة بترميز DER. يمكن إنشاء السلسلة من الشهادة بتنسيق PEM باستخدام الإجراء التالي مع openssl:
$ openssl x509 -in cert.pem -out cert.der -outform DER
$ openssl dgst -sha256 -binary cert.der > digest.sha
$ openssl base64 -in digest.sha
السماح بالوصول فقط عندما تكون بيانات الجهاز من CrowdStrike حديثة
- تم إصداره في الطابع الزمني (iat)
- الطابع الزمني لانتهاء الصلاحية (exp)
يستخدم مستوى الوصول السمة device لضمان حداثة بيانات CrowdStrike. يُرجى العِلم أنّ خدمة Chrome Enterprise Premium تتضمّن تأخيرًا أساسيًا لمدة 90 دقيقة عند استخدام أي تقييم جديد من Falcon ZTA، لذا لا يُنصَح باستخدام المُدد التي تقل مدتها عن ساعة.
// تأكَّد من صحة أحد هذه الشروط للبيانات من Crowdstrike:
// يلزم استيفاء أحد الشروط التالية
// 1. تم تقييم الجهاز خلال آخر يوم
// 2. لم تنتهِ صلاحية التقييم (أسبوعان منذ آخر iat)
"CrowdStrike" in device.vendors && (
request.time - timestamp(device.vendors["CrowdStrike"].data["iat"]) < duration("1d") ||
timestamp(device.vendors["CrowdStrike"].data["exp"]) - request.time > duration("0m")
)
السماح بالوصول عندما يعتبر BeyondCorp Alliance الجهاز متوافقًا
تعمل Chrome Enterprise Premium مع العديد من شركاء المنظومة المتكاملة BeyondCorp Alliance لدمج إشارات أجهزتهم وسياقها في حل Chrome Enterprise Premium. يمكن للشركاء مشاركة أي عدد من السمات مع Chrome Enterprise Premium، وإحدى هذه السمات هي السمة is_compliant_device. يستخدم المثال التالي السمة device لتوضيح كيفية التحقّق مما إذا كان أي من شركاء BeyondCorp Alliance مُدمجًا مع Chrome Enterprise Premium ويُعتبر الجهاز متوافقًا.
توسِّع وحدة ماكرو exists التعبير لكل شريك من BeyondCorp Alliance مع عامل التشغيل (or) ||.
// Check to see if any of the BCA partners consider the device to be compliant
["CrowdStrike", "Tanium", "PANW", "Check Point", "Lookout"].exists(
v, v in device.vendors && device.vendors[v].is_compliant_device
)
السماح بالوصول عندما تكون حالة التشغيل التي تم التحقق منها من خلال Android باللون الأخضر
يستخدم هذا المثال سمات device لضمان تشغيل الأجهزة لإصدار Android آمن.
تتحقّق ميزة "التشغيل المتحقّق منه" مما إذا كان الرمز المنفَّذ صادرًا من مصدر موثوق به (عادةً ما يكون المصنّع الأصلي للجهاز) بدلاً من مصدر مهاجم أو تلف. لمعرفة التفاصيل، يُرجى الانتقال إلى التشغيل المُتحقّق منه.
// يتطلب حالة التشغيل المتحقق منها من خلال Android باللون الأخضر
device.android_device_security.verified_boot == true
السماح بالوصول إلى الأجهزة التي تجتاز فحوصات امتثال مجموعة أدوات اختبار التوافق (CTS)
يستخدم هذا المثال سمات device لطلب اجتياز الأجهزة لفحص امتثال "مجموعة أدوات اختبار التوافق" (CTS). لمعرفة التفاصيل، يُرجى الانتقال إلى مجموعة أدوات اختبار التوافق.
// طلب اجتياز الأجهزة لفحص امتثال "مجموعة أدوات اختبار التوافق" (CTS)
device.android_device_security.cts_profile_match == true
السماح بالوصول إلى الأجهزة التي تم تفعيل ميزة "التحقّق من التطبيقات" في "Google Play للحماية" فيها
يستخدم هذا المثال سمات device لطلب تفعيل ميزة التحقّق من التطبيقات في "Google Play للحماية" على الأجهزة.
تفحص ميزة "التحقّق من التطبيقات" التطبيقات بحثًا عن التهديدات عندما يتم تثبيتها من مصادر بخلاف Google Play. وتفحص أيضًا هذه الميزة الأجهزة بشكلٍ دوري بحثًا عن التطبيقات التي قد تتسبب بضرر. يتم تشغيل خدمة "التحقّق من التطبيقات" بشكلٍ تلقائي. بالنسبة إلى الأجهزة الخاضعة للإدارة المتقدّمة، يمكنك تحديد ما إذا كان بإمكان المستخدمين إيقافها أم لا. ولمزيد من المعلومات، يمكنك الاطّلاع على تطبيق الإعدادات على الأجهزة الجوّالة التي تعمل بنظام التشغيل Android.
// طلب تفعيل الأجهزة ميزة "التحقق من التطبيقات" في "Google Play للحماية"
device.android_device_security.verify_apps_enabled == true
عدم السماح بالوصول إلى الأجهزة التي تتضمّن تطبيقات قد تتسبّب بضرر
يستخدم هذا المثال سمات device لرفض الوصول إلى الأجهزة التي تحتوي على تطبيقات قد تتسبّب بضرر. غالبًا ما تُسمّى هذه التطبيقات "البرامج الضارة". لمعرفة التفاصيل، يُرجى الانتقال إلى التطبيقات التي قد تتسبّب بضرر (PHA).
// رفض الوصول إلى الأجهزة التي تحتوي على تطبيقات قد تتسبّب بضرر Android_device_security.has_potentially_harmful_apps != true
أمثلة على الوصول المستند إلى الوقت
السماح بالوصول للعاملين بنظام النوبات فقط خلال ساعات العمل
تريد المؤسسات التأكّد من أنّ العاملين بنظام النوبات يمكنهم الوصول فقط إلى موارد الشركة خلال ساعات العمل. تستخدِم مستويات الوصول التالية سمة levels لتحديد 3 نوبات عمل من الاثنين إلى الجمعة.
// Shift 1 - Monday to Friday, midnight to 8am
levels.Require_Secure_Device &&
request.time.getDayOfWeek("America/Los_Angeles") >= 1 &&
request.time.getDayOfWeek("America/Los_Angeles") <= 5 &&
request.time.timeOfDay("America/Los_Angeles").between('00:00:00', '08:00:00')
// Shift 2 - Monday to Friday, 8am to 4pm
levels.Require_Secure_Device &&
request.time.getDayOfWeek("America/Los_Angeles") >= 1 &&
request.time.getDayOfWeek("America/Los_Angeles") <= 5 &&
request.time.timeOfDay("America/Los_Angeles").between('08:00:00', '16:00:00')
// Shift 3 - Monday to Friday, 4pm to midnight
levels.Require_Secure_Device &&
request.time.getDayOfWeek("America/Los_Angeles") >= 1 &&
request.time.getDayOfWeek("America/Los_Angeles") <= 5 &&
request.time.timeOfDay("America/Los_Angeles").between('16:00:00', '00:00:00')
// السماح للعاملين بنظام النوبات بالوصول إلى الموارد من الاثنين إلى الجمعة بين 9 صباحًا و5 مساءً، باستثناء يوم 4 تموز (يوليو).
levels.Require_Secure_Device &&
request.time.getDayOfWeek("America/Los_Angeles") >= 1 &&
request.time.getDayOfWeek("America/Los_Angeles") <= 5 &&
!(
request.time.getMonth("America/Los_Angeles") == 6 &&
request.time.getDayOfMonth("America/Los_Angeles") == 3
) &&
request.time.timeOfDay("America/Los_Angeles").between('09:30:00', '17:00:00')
السماح بالوصول المؤقت
تريد المؤسسات أحيانًا السماح بالوصول إلى إجراءات الوصول العاجل (Break Glass) في حالات الطوارئ عندما لا يكون لدى المشرف إمكانية الوصول إلى جهاز آمن، ولكنه يحتاج إلى الوصول في حالات الطوارئ لفترة قصيرة.
في هذه الحالة، يمكنك إنشاء مستوى وصول مقيّد بالوقت والموقع الجغرافي باستخدام سمة levels وتخصيصها للمشرف المحدّد. عند منح مستوى الوصول هذا، لن يكون صالحًا إلا خلال الوقت المحدد. وبعد انتهاء هذه الفترة الزمنية، سيتم التحكّم في إذن وصول المشرف مرة أخرى من خلال المتطلبات الحالية.
// السماح بالوصول المؤقت إلى الموارد في 1 آذار (مارس) 2022، في الفترة بين الساعة 10 مساءً إلى منتصف الليل،
// ويجب أن تأتي إمكانية الوصول هذه من داخل منطقة الولايات المتحدة.
levels.Require_Secure_Device &&
request.time.between('2022-03-01T23:00:00+08:00', '2022-03-02T23:59:59+08:00') &&
origin.region_code == "US"
// يُرجى العِلم أنّ وقت الانتهاء غير مشمول، لذا قد لا يتمكّن المستخدمون من الوصول إلى المحتوى خلال ثانيتَين
// في المثال أعلاه. يمكنك أيضًا استخدام
// !between('00:00:01','16:00:00')
مثال على دمج الشروط من مستويين
تحديد مستوى وصول جديد من خلال الجمع بين الشروط من مستويين للوصول
يستخدم مستوى الوصول هذا سمات levels، ويتطلّب أن يستوفي المستخدمون الشروط المجمّعة لمستويَين من مستويات الوصول. في هذا المثال، يشير access_level_name_1 وaccess_level_name_2 إلى الاسم الداخلي.
levels.access_level_name_1 && levels.access_level_name_2
إنّ Google وGoogle Workspace والعلامات والشعارات المرتبطة بهما هي علامات تجارية مسجَّلة مملوكة من قِبل شركة Google LLC. وجميع أسماء الشركات والمنتجات الأخرى هي علامات تجارية تملكها الشركات ذات الصلة بها.