הגדרת תנאים לאישורים ארגוניים

אחד העקרונות המרכזיים של Chrome Enterprise Premium הוא שהגישה לשירותים ניתנת על סמך מידע הקשרי עליכם ועל המכשיר שלכם. ‫Chrome Enterprise Premium מסיק באופן דינמי את רמת הגישה שניתנה למשתמש או למכשיר יחיד על ידי הערכה של כמה מקורות נתונים, ומשתמש ברמת האמון הזו כחלק מתהליך קבלת ההחלטות שלו.

Access Context Manager הוא מנוע המדיניות של מודל האבטחה של אפס אמון ב-Chrome Enterprise Premium. בעזרת Access Context Manager אתם יכולים להגדיר בקרת גישה פרטנית שמבוססת על מאפיינים לאפליקציות ולמשאבים ב- Google Cloud .

אפשר להשתמש ברמות גישה כדי לאפשר גישה למשאבים על סמך מידע לפי הקשר לגבי הבקשה. באמצעות רמות גישה, אתם יכולים להתחיל לארגן רמות של אמון. לדוגמה, אתם יכולים ליצור רמת גישה בשם High_Level שמאפשרת בקשות מקבוצה קטנה של אנשים עם הרשאות גבוהות. יכול להיות שתרצו גם לזהות קבוצה כללית יותר שאתם סומכים עליה, כמו טווח של כתובות IP שאתם רוצים לאשר בקשות ממנו. במקרה כזה, תוכלו ליצור רמת גישה בשם Medium_Level כדי לאשר את הבקשות האלה.

אחת מהדרישות העיקריות לגישה במודל אבטחה של אפס אמון היא לאפשר גישה רק כשהמכשיר מנוהל על ידי החברה או נמצא בבעלותה. יש כמה דרכים לקבוע אם מכשיר נמצא בבעלות החברה. דרך אחת היא לבדוק אם במכשיר יש אישור תקף שהונפק על ידי החברה. אישור ארגוני במכשיר יכול להעיד על כך שהוא בבעלות החברה.

אישורים ארגוניים לבקרת גישה מבוססת-הקשר הם תכונה של הפתרון הכולל לגישה מבוססת-אישורים של Chrome Enterprise Premium. התכונה הזו משתמשת באישורים של המכשיר כאות חלופי שמותאם להקשר, כדי לקבוע אם המכשיר הוא נכס בבעלות החברה. התכונה הזו נתמכת בדפדפן Google Chrome בגרסה 110 ואילך.

במכשיר יכולים להיות כמה אישורים, ולכן אפשר לגשת לאישורים ארגוניים ברמת הגישה בהתאמה אישית באמצעות המאקרו .exists(e, p):

device.certificates.exists(cert, predicate)

בדוגמה, cert הוא מזהה שמשמש ב-predicate, שנקשר לאישור המכשיר. המאקרו exists() משלב תוצאות של פרדיקטים לכל רכיב עם האופרטור "או" (||), כלומר פקודות המאקרו מחזירות ערך True אם לפחות אישור אחד עומד בביטוי predicate.

לאישור יש את המאפיינים הבאים שאפשר לבדוק ביחד. חשוב לזכור שהשוואות של מחרוזות הן תלויות אותיות רישיות.

מאפיין תיאור ביטוי פרדיקט לדוגמה (כאשר cert הוא מזהה של פקודות מאקרו)
is_valid הערך True אם האישור תקף ולא פג תוקף (בוליאני).

בודקת אם תוקף האישור לא פג ואם הוא חתום על ידי ישות עוגן אמינה. חשוב לדעת שאימות של נקודות קצה לא בודק ביטול של אישורים.

cert.is_valid
cert_fingerprint טביעת האצבע של האישור (SHA256 ללא ריפוד ב-base64).

טביעת האצבע היא תקציר SHA256 בקידוד base64 ללא ריפוד, בפורמט בינארי, של האישור בקידוד 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 | tr -d =

cert.cert_fingerprint == origin.clientCertFingerprint()
root_ca_fingerprint טביעת האצבע של אישור ה-CA הבסיסי שמשמש לחתימה על האישור (SHA256 ללא ריפוד ב-base64).

טביעת האצבע היא תקציר SHA256 בקידוד base64 ללא ריפוד, בפורמט בינארי, של האישור בקידוד 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 | tr -d =

cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT"
issuer שם המנפיק (שמות מורחבים במלואם).

כדי למצוא את שם המנפיק, אפשר להשתמש בשיטה הבאה:

מריצים את הפקודה הבאה על האישור:

$ openssl x509 -in ca_1.crt -issuer issuer= /C=US/ST=CA/L=MTV/O=ExampleCorp/OU=ExampleUnit/CN=inter_1/emailAddress=admin@example.com

כדי לקבל את מחרוזת המנפיק של רמת הגישה, הופכים את הפלט ומחליפים כל לוכסן (/) בפסיק (,):

EMAILADDRESS=admin@example.com, CN=inter_1, OU=ExampleUnit, O=ExampleCorp, L=MTV, ST=CA, C=US

cert.issuer == "EMAILADDRESS=admin@example.com, CN=inter_1, OU=ExampleUnit, O=ExampleCorp, L=MTV, ST=CA, C=US"
subject שם הנושא של האישור (שמות מורחבים במלואם). cert.subject == "CA_SUB"
serial_number המספר הסידורי של האישור (מחרוזת). cert.serial_number == "SERIAL_NUMBER"
template_id מזהה התבנית של תבנית האישור של תוסף X.509 לאישור (מחרוזת). cert.template_id == "TEMPLATE_ID"

בטבלה הבאה מפורטות דוגמאות למדיניות שאפשר להגדיר:

מדיניות לדוגמה ביטוי
למכשיר יש אישור תקף שחתום על ידי אישור הבסיס של החברה. device.certificates.exists(cert, cert.is_valid && cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT")
למכשיר יש אישור תקף שהונפק על ידי המנפיק CA_ABC. device.certificates.exists(cert, cert.is_valid && cert.issuer == "EMAILADDRESS=admin@example.com, CN=inter_1, OU=ExampleUnit, O=ExampleCorp, L=MTV, ST=CA, C=US")

הגדרת אישורים ארגוניים

לפני שמגדירים אישורי ארגון, צריך לוודא שהגדרתם רמות גישה בהתאמה אישית. להוראות, קראו את המאמר יצירת רמת גישה בהתאמה אישית.

כדי להגדיר את כללי המדיניות המתאימים, אתם יכולים להשתמש בהגדרה של רמת גישה בהתאמה אישית ב-Access Context Manager. ברמות גישה בהתאמה אישית, נעשה שימוש בביטויים בוליאניים שנכתבו בקבוצת משנה של Common Expression Language (CEL) כדי לבדוק את המאפיינים של לקוח ששולח בקשה.

העלאת ישויות עוגן אמינות במסוף Admin

כדי ש-Chrome Enterprise Premium יאסוף ויאמת את אישור הארגון של המכשיר, צריך להעלות את ישויות העוגן האמינות וכל אישור ביניים שמשמש להנפקת אישור המכשיר. ישויות העוגן האמינות הן אישור CA (רשות אישורים) בסיסי בחתימה עצמית, ואישורי הביניים והאישורים המשניים הרלוונטיים. כדי להעלות את ישויות העוגן האמינות:

  1. במסוף Admin, נכנסים אל מכשירים > רשתות > אישורים.
  2. בוחרים את היחידה הארגונית המתאימה.
  3. לוחצים על הוספת אישור.
  4. מזינים את שם האישור.
  5. מעלים את האישור.
  6. מסמנים את התיבה Endpoint Verification.
  7. לוחצים על הוספה.
  8. מוודאים שהמשתמשים שייכים ליחידה הארגונית שאליה העליתם את ישויות העוגן האמינות.

הגדרת מדיניות AutoSelectCertificateForUrls

כדי שתוסף Endpoint Verification יוכל לחפש את אישור המכשיר ולאסוף אותו דרך Chrome, צריך להגדיר את המדיניות AutoSelectCertificateForUrls לפי השלבים הבאים:

  1. מוודאים שדפדפן Chrome מנוהל על ידי הממשק המרכזי לניהול דפדפן Chrome.

  2. במסוף Admin, מוסיפים את המדיניות AutoSelectCertificateForUrls:

    1. במסוף Admin, עוברים אל מכשירים > Chrome > הגדרות > הגדרות משתמש ודפדפן > אישורי לקוח.
    2. בוחרים את היחידה הארגונית המתאימה.
    3. מוסיפים מדיניות AutoSelectCertificateForUrls, על סמך הדוגמה הבאה:

      {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{"CN":"CERTIFICATE_ISSUER_NAME"}}}
      

      מחליפים את CERTIFICATE_ISSUER_NAME בשם הנפוץ של הרשות המנפיקה לאישורים. אל תשנו את הערך של pattern.

כדי לאמת את הגדרת המדיניות, מבצעים את השלבים הבאים:

  1. עוברים אל chrome://policy בדפדפן.
  2. בודקים את הערך שהוגדר במדיניות AutoSelectCertificateForUrls.
  3. מוודאים שהערך של Applies to במדיניות מוגדר כ-Machine. ב-ChromeOS, הערך חל על המשתמש הנוכחי.
  4. מוודאים שבשדה Status של המדיניות לא מופיע הערך Conflict.

המאמרים הבאים