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

בדף הזה מוסבר איך להפעיל גישה מבוססת-אישורים (CBA) באמצעות אישורים שהוקצו לכם באימות נקודת הקצה.

אתם יכולים להשתמש באימות בנקודת קצה (Endpoint) כדי להקצות באופן אוטומטי אישורים בחתימה עצמית למכשיר. אישורים שמוקצים באמצעות אימות נקודות קצה מאפשרים לכם להשתמש ב-CBA בלי תשתית PKI. האישורים האלה מאוחסנים ב-keychain ב-macOS, במאגרי אישורים ב-Windows ובמערכות קבצים ב-Linux.

אם יש לכם תשתית PKI, תוכלו לקרוא את המאמר הפעלת גישה מבוססת-אישורים באמצעות אישורי הארגון כדי להפעיל CBA.

אפשר להפעיל אישורים שסופקו על ידי אימות בנקודת קצה (Endpoint) במערכות ההפעלה הבאות:

  • ‫macOS ו-Windows באמצעות דפדפן Chrome
  • ‫macOS,‏ Windows ו-Linux באמצעות Google Cloud CLI

אם מערכת ההפעלה שלכם לא מופיעה ברשימה, אפשר לעיין במאמר בנושא שימוש במערכות הפעלה שלא נתמכות באופן מלא.

לפני שמתחילים

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

הגדרת אימות של נקודות קצה

פועלים לפי ההוראות להתקנת התוסף Endpoint Verification ל-Chrome בכל מכשירי המשתמשים בארגון. התוסף מספק אישורים בחתימה עצמית למכשירים שלכם ומסנכרן את המטא-נתונים של האישורים עם Google Cloud.

מתקינים את אפליקציית העזר לאימות נקודות קצה. האפליקציה הזו נדרשת לשימוש באימות נקודות קצה עם CBA.

הגדרת דפדפן Chrome של משתמשים

כדי להגדיר את דפדפן Chrome של המשתמשים כך שישתמש באישורים שהוקצו על ידי Endpoint Verification, צריך להגדיר את מדיניות Chrome‏ AutoSelectCertificateForURLs כדי לאפשר ל-Endpoint Verification לחפש את אישור המכשיר ולאסוף אותו דרך Chrome.

  1. מוודאים שדפדפן Chrome של המשתמשים מנוהל על ידי הממשק המרכזי לניהול דפדפן Chrome.
  2. במסוף Google Admin, מוסיפים את המדיניות AutoSelectCertificateForUrls.

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

      {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      {"pattern":"https://console-secure.cloud.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      {"pattern":"https://storage.mtls.cloud.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      

אחרי שמסיימים את ההגדרה, המשתמשים יכולים לגשת למשאביGoogle Cloud מוגנים באמצעות דפדפן Chrome בכתובת console-secure.cloud.google.com.

(אופציונלי) אימות הגדרת המדיניות

  1. בדפדפן Chrome, מקלידים chrome://policy.
  2. מוודאים שהמדיניות AutoSelectCertificateForUrls מופיעה בקטע Chrome Policies (מדיניות Chrome).
  3. מוודאים שהערך של Applies to (חל על) הוא Machine (מכונה). ב-ChromeOS, הערך של חל על הוא המשתמש הנוכחי.
  4. מוודאים שאין סתירה בסטטוס של המדיניות. אם הסטטוס הוא 'קונפליקט', אפשר לקרוא מידע נוסף במאמר בנושא ניהול המדיניות של Chrome.

הגדרת כלי שורת פקודה

אתם יכולים להגדיר את הכלים הבאים כך שישתמשו באימות נקודות קצה (endpoint) של אישורים שהוקצו:

  • ‫Google Cloud CLI
  • ‫Terraform CLI (נדרש ה-CLI של gcloud כדי להתקין ולהגדיר רכיבי עזר).

מכיוון שאישורי המכשירים מאוחסנים במאגרי המפתחות של macOS ו-Windows, ה-CLI של gcloud מגיע עם רכיב הקוד הפתוח Enterprise Certificate Proxy (ECP) כדי ליצור אינטראקציה עם ממשקי ה-API לניהול מפתחות.

אם אתם משתמשים במערכת Windows, אתם צריכים להתקין את ספריית זמן הריצה של Visual Studio C++.

  1. מתקינים את ה-CLI של gcloud. מתקינים כשהאפשרות 'התקנה עם Python בחבילה' מופעלת.
  2. הפעלת CBA.
  3. ב-macOS וב-Linux, מורידים את install.shהסקריפט ומריצים אותו.

    ./google-cloud-sdk/install.sh
    
  4. משתמשי Linux, עוברים לשלב הפעלת CBA ואימות נקודות קצה של אישורים שהוקצו . משתמשי macOS ו-Windows, מבצעים את השלבים הבאים.

    1. מתקינים את רכיב העזר של ECP באמצעות ה-CLI של gcloud.

      
      gcloud components install enterprise-certificate-proxy
      
    2. מאתחלים את הגדרת אישור ה-ECP באמצעות ה-CLI של gcloud.

      macOS

      
      gcloud auth enterprise-certificate-config create macos \
      --issuer="Google Endpoint Verification"
      

      Windows

      
      gcloud auth enterprise-certificate-config create windows \
      --issuer="Google Endpoint Verification" \
      --provider=current_user \
      --store=MY
      

      (אופציונלי) מריצים את הפקודה הבאה כדי להגדיר את אישור ה-ECP באופן ידני.

      macOS

      ההגדרה של ECP מאוחסנת בקובץ JSON שנמצא במיקום ~/.config/gcloud/certificate_config.json.

      {
        "cert_configs": {
            "macos_keychain": {
              "issuer": "Google Endpoint Verification"
            }
        },
        "libs": {
          "ecp": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/bin/ecp",
          "ecp_client": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/platform/enterprise_cert/libecp.dylib",
          "tls_offload": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/platform/enterprise_cert/libtls_offload.dylib"
        }
      }
      

      Windows

      ההגדרה של ECP מאוחסנת בקובץ JSON שנמצא במיקום %APPDATA%\gcloud\certificate_config.json.

      {
        "cert_configs": {
          "windows_store": {
            "store": "MY",
            "provider": "current_user",
            "issuer":"Google Endpoint Verification"
          }
        },
        "libs": {
          "ecp": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/bin/ecp.exe",
          "ecp_client": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/enterprise_cert/libecp.dll",
          "tls_offload": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/enterprise_cert/libtls_offload.dll"
        }
      }
      
  5. הפעלת אימות מבוסס-אישורים (CBA) ואישורים שהוקצו לאימות בנקודת קצה (Endpoint).

    • ב-CLI של gcloud, מריצים את הפקודה הבאה.

      gcloud config set context_aware/use_client_certificate true
      
    • בכל שאר כלי שורת הפקודה, כולל Terraform, צריך להגדיר את משתנה הסביבה.

      export GOOGLE_API_USE_CLIENT_CERTIFICATE=1
      

שימוש במערכות הפעלה שלא נתמכות באופן מלא

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

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

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

בדוגמה הזו, ארגון משתמש במכשירי macOS,‏ Windows ו-ChromeOS. הארגון רוצה להגן על הגישה שמגיעה מהמסוףGoogle Cloud .

  1. יוצרים רמת גישה שמחייבת גישה מבוססת-אישורים לכל המכשירים, חוץ ממכשירי ChromeOS שבהם נדרשת מדיניות של מכשיר בבעלות החברה. מחליפים את קובץ ה-YAML בביטוי המותאם אישית הבא:

    certificateBindingState(origin, device) == CertificateBindingState.CERT_MATCHES_EXISTING_DEVICE
     || (device.os_type == OsType.DESKTOP_CHROME_OS && device.is_corp_owned_device)
    
  2. משלימים את השלבים שמתוארים בהליכים הקודמים.

    1. יצירת מדיניות מבוססת-הקשר
    2. הגדרת אימות של נקודות קצה
    3. הגדרת דפדפן Chrome של משתמשים לשימוש באישורים שהוקצו על ידי Endpoint Verification