إشعار

تم تغيير اسم Duet AI إلى "Gemini في Google Workspace". مزيد من المعلومات

التحكم في الوصول إلى التطبيقات استنادًا إلى سياق المستخدم والجهاز

أمثلة على الوصول الواعي بالسياق للوضع المتقدم

توضّح هذه المقالة حالات استخدام الوصول الواعي بالسياق التي تتضمن سياسات تستخدم مستويات الوصول المُخصّصة.  في هذه الأمثلة، يمكنك إنشاء مستويات الوصول المُخصَّصة في الوضع المتقدم، باستخدام لغة التعبير الشائعة (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
     )
  )
)

أمثلة على الأجهزة

فتح القسم  |  تصغير الكل والانتقال إلى أعلى الصفحة

السماح بالوصول من جهاز استنادًا إلى الإشارات التي تم الإبلاغ عنها من قِبل شريك BeyondCorp Alliance

يمكنك استخدام إشارات الجهاز التي تم الإبلاغ عنها من قِبل شريك BeyondCorp Alliance. في هذا المثال، يتم استخدام برامج Lookout كتطبيق.

يستخدم مستوى الوصول هذا السمة device للتحقّق من الإبلاغ عن الجهاز المستخدم للوصول إلى Google Workspace من خلال Lookout على أنه "متوافق مع السياسات"، وأن نتيجة الكفاءة "جيد جدًا".

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"
issuer

اسم جهة الإصدار
(الأسماء الموسَّعة بالكامل)

للعثور على اسم جهة الإصدار، شغِّل الأمر التالي في الشهادة:

$ openssl x509 -in ca_1.crt -noout
-issuer
issuer=
/C=IN/ST=UP/L=NCR/O=BCEDemo/
OU=BCEDemo_1/CN=inter_1/
emailAddress=test_inter1@beyondcorp.in

سلسلة جهة الإصدار المستخدَمة في مستوى الوصول هي عكس الإخراج ويتم استبدال "/" بفاصلة، على سبيل المثال:

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"
subject اسم موضوع الشهادة
(الأسماء الموسَّعة بالكامل)
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 لطلب تفعيل ميزتا تشفير القرص وقفل الشاشة. بالإضافة إلى ذلك، يجب أن يوافق المشرفون على الجهاز.

تتم الموافقة تلقائيًا على جميع الأجهزة التي تم إنشاؤها من خلال Endpoint Verification. ومع ذلك، قد تحتاج في بعض الحالات إلى حظر جهاز، مثل حالة فقدان جهاز. وفي هذه الحالات، لن ترغب في أن تتمكن هذه الأجهزة من الوصول إلى موارد الشركة.

بالنسبة إلى أمثلة مستويات الوصول الأخرى في هذا المستند، سنفترض أن مستوى الوصول هذا يحمل الاسم Require_Secure_Device.  

// طلب تفعيل تشفير القرص وقفل الشاشة 
// يسري هذا على جميع الأنظمة الأساسية الرئيسية (Windows وMac وLinux وCrOS وiOS وAndroid)
// هذه المعلومات أساسية ويجب أن تعتمد على جميع مستويات الوصول الأخرى
device.encryption_status == DeviceEncryptionStatus.ENCRYPTED &&
device.is_secured_with_screenlock &&
device.is_admin_approved_device

السماح بالوصول إلى الأجهزة باستخدام متصفِّح Chrome مع متطلبات الأمان الأساسية

في هذا المثال، يستخدم مستوى الوصول السمة device للمطالبة بمتصفح Chrome مع متطلبات الأمان الأساسية.

// طلب إدارة Chrome على مستوى الملف الشخصي أو المتصفح، ويلزم
// تفعيل الإبلاغ عن الأحداث الأمنية ويجب استخدام الإصدار 97 أو إصدار أحدث
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 المُدار". يفترض المثال التالي أن مستوى الوصول التابع يُسمى Demand_Managed_Chrome

// طلب متصفّح Chrome المُدار (استنادًا إلى مستوى الوصول “Require_Managed_Chrome”)
// ويتطلب فحص المحتوى لعمليات التنزيل، بالإضافة إلى تفعيل ميزة "التحقّق من عنوان URL"
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 حديثة
هناك طابعان زمنيان يصدرهما CrowdStrike كجزء من درجة Falcon Zero Trust Assessments (ZTA):
  • تم إصداره في الطابع الزمني (iat) 
  • الطابع الزمني لانتهاء الصلاحية (exp) (الذي يبدو بعد أسبوعين من تاريخ الإصدار في الطابع الزمني في الإصدار الحالي)

يستخدم مستوى الوصول السمة device لضمان حداثة بيانات CrowdStrike. يُرجى العِلم أن خدمة BeyondCorp Enterprise تتضمن تأخيرًا أساسيًا لمدة 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 الجهاز متوافقًا

تعمل خدمة BeyondCorp Enterprise مع العديد من شركاء المنظومة المتكاملة BeyondCorp Alliance لدمج إشارات أجهزتهم وسياقها في حل BeyondCorp Enterprise. يمكن للشركاء مشاركة أي عدد من السمات مع BeyondCorp، وإحدى هذه السمات هي is_compliant_device attribute. يستخدم المثال التالي السمة device لتوضيح كيفية التحقّق مما إذا كان أي من شركاء BeyondCorp Alliance مُدمجًا مع BeyondCorp Enterprise ويُعتبر الجهاز متوافقًا.

توسِّع وحدة ماكرو exists التعبير لكل شريك من BeyondCorp Alliance مع عامل التشغيل (or) ||.

// تحقّق لمعرفة ما إذا كان أي من شركاء BCA يعتبرون الجهاز متوافقًا.
["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 نوبات عمل من الاثنين إلى الجمعة.

// نوبة العمل 1 - من الاثنين إلى الجمعة، من منتصف الليل إلى الساعة 8 صباحًا
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')


// نوبة العمل 2 - من الاثنين إلى الجمعة، من 8 صباحًا إلى 4 مساءً
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')


// نوبة العمل 3 - من الاثنين إلى الجمعة، من الساعة 4 مساءً إلى منتصف الليل
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

 

هل كان ذلك مفيدًا؟

كيف يمكننا تحسينها؟
true
ابدأ اليوم فترة تجريبية مجانية لمدة 14 يومًا

بريد إلكتروني احترافي وإمكانية تخزين عبر الإنترنت وتقاويم مشتركة واجتماعات فيديو والمزيد. ابدأ اليوم استخدام الإصدار التجريبي المجاني من G Suite‏.

بحث
محو البحث
إغلاق البحث
القائمة الرئيسية
7088657681324914653
true
مركز مساعدة البحث
true
true
true
true
true
73010
false
false