בדף הזה מוסבר איך להפעיל גישה מבוססת-אישורים (CBA) באמצעות אישורי הארגון שלכם.
אם אין לכם תשתית של מפתח ציבורי (PKI), אתם יכולים להשתמש באישורים שמוקצים על ידי אימות נקודות קצה.
דרישה חשובה במודל הגישה של אפס אמון היא לאפשר גישה רק למכשירים מורשים. ב-CBA של בקרת גישה מבוססת-הקשר נעשה שימוש באישורים ובמפתחות הפרטיים שלהם שמאוחסנים במאגר מפתחות מאובטח במכשיר, כדי לקבוע אם המכשיר מורשה. כדי להפעיל את התכונה הזו, צריך לבצע את הפעולות הבאות.
לפני שמתחילים
מוודאים שיצרתם רמות גישה מבוססות-הקשר (CBA) עבור הפרויקט שלכם ב- Google Cloud . אם אתם צריכים ליצור רמות גישה, תוכלו לעיין במאמר בנושא יצירת רמות גישה לגישה מבוססת-אישורים.
חשוב לוודא שאתם אוכפים CBA על המשאבים שלכם Google Cloud באחת מהשיטות הבאות:
(מומלץ) אכיפת גישה מבוססת-אישורים באמצעות כללי מדיניות של בקרת גישה מבוססת-הקשר: הגדרת כללים שקשורים למשתמשים.
אכיפת גישה מבוססת-אישורים באמצעות VPC Service Controls: הגדרת כללים לגבי נתונים.
כשאתם אוכפים CBA על המשאבים שלכם ב- Google Cloud , כדי לגשת למשאבים ב- Google Cloud , משתמש מורשה צריך להציג גם אישור מכשיר תקף.Google Cloud
העלאת עוגני האמון
כדי לאפשר ל'בקרת גישה מבוססת הקשר' לאסוף ולאמת את האישור הארגוני של מכשיר, צריך להעלות את עוגני האמון שמשמשים להנפקת אישור המכשיר. עוגני המהימנות הם אישור CA בסיסי עם חתימה עצמית ואישורי הביניים והאישורים המשניים הרלוונטיים. כדי להעלות את עוגני האמון, צריך לבצע את השלבים הבאים:
במסוף Google Admin, עוברים אל מכשירים > רשתות > אישורים, ואז בוחרים את היחידה הארגונית שאליה רוצים להעלות את עוגני האמון. מוודאים שהיחידה הארגונית שבחרתם מכילה את המשתמשים שרוצים להעניק להם גישה.
בוחרים באפשרות הוספת אישור ומזינים שם לאישור הבסיס.
לוחצים על העלאה כדי להעלות את האישור.
בוחרים באפשרות הפעלת בדיקת נקודת הקצה ולוחצים על הוספה.
האישור שצריך להעלות הוא אישור ה-CA, שהוא הגורם שהנפיק את אישורי הלקוח שהותקנו במכשירים של החברה. אם לחברה שלכם אין אישור CA ואישורי לקוח תואמים, אתם יכולים ליצור אותם באמצעות Google Cloud שירות רשות האישורים. השלבים להתקנת אישורי לקוח במאגרי מפתחות מקומיים שונים בכל מערכת הפעלה, והם לא נכללים במסגרת המסמך הזה.
הגדרת דפדפן Chrome של המשתמשים לשימוש באישור הארגוני
כדי להתקין את התוסף Endpoint Verification ל-Chrome לכל המשתמשים בארגון, צריך לפעול לפי ההוראות במאמר הגדרה של Endpoint Verification. התוסף הזה מסנכרן את המטא-נתונים של האישורים עם הקצה העורפי של Google Cloud.
אחרי שמגדירים את תוסף הדפדפן, מגדירים את מדיניות Chrome AutoSelectCertificateForURLs כך שתאפשר ל-Endpoint Verification לחפש את אישור המכשיר ולאסוף אותו דרך Chrome.
מוודאים שהממשק המרכזי לניהול דפדפן Chrome מנהל את דפדפן Chrome של המשתמשים.
במסוף Admin, מוסיפים את המדיניות
AutoSelectCertificateForUrls:עוברים אל מכשירים > Chrome > הגדרות > הגדרות משתמש ודפדפן > אישורים של לקוח.
בוחרים את היחידה הארגונית המתאימה.
מוסיפים מדיניות.
בדוגמה הבאה מוסיפים את המדיניות
AutoSelectCertificateForUrls:{"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{"CN":"CERT_ISSUER"}}} {"pattern":"https://console-secure.cloud.google.com","filter":{"ISSUER":{"CN":"CERT_ISSUER"}}} {"pattern":"https://storage.mtls.cloud.google.com","filter":{"ISSUER":{"CN":"CERT_ISSUER"}}}בדוגמה,
CERT_ISSUERהוא השם המוכר של אישור ה-CA.
אחרי ההגדרה הזו, המשתמשים יכולים לגשת למשאבים מוגנים Google Cloud בדפדפן Chrome בכתובת console-secure.cloud.google.com.
אימות הגדרת המדיניות (אופציונלי)
בדפדפן Chrome, מקלידים
chrome://policy.בודקים ש-
AutoSelectCertificateForUrlsמופיע בקטע Chrome Policies (כללי מדיניות של Chrome).מוודאים שהערך של Applies to (חל על) הוא Machine (מכונה). ב-ChromeOS, הערך של חל על הוא המשתמש הנוכחי.
מוודאים שהסטטוס של המדיניות לא מסומן כקונפליקט. אם הסטטוס מציין שיש התנגשות, אפשר לקרוא מידע נוסף במאמר ניהול המדיניות של Chrome.
הגדרת כלי שורת הפקודה לשימוש באישור הארגון
אם משתמשים בארגון שלכם צריכים לגשת למשאבים משורת הפקודה, הם צריכים לבצע את הפעולות הבאות כדי להפעיל CBA באמצעות אישור הארגון שלהם בכלי שורת הפקודה. Google Cloud
הכלים הנתמכים בשורת הפקודה כוללים את האפשרויות הבאות:
Google Cloud CLI
Terraform CLI (נדרש ה-CLI של gcloud כדי להתקין ולהגדיר רכיבי עזר).
מכיוון שהאישורים של המכשירים מאוחסנים במאגרי מפתחות מקומיים, Google Cloud CLI כולל רכיב קוד פתוח שנקרא Enterprise Certificate Proxy (ECP) כדי ליצור אינטראקציה עם ממשקי API לניהול מפתחות.
אם אתם משתמשים במערכת Windows, אתם צריכים להתקין את ספריית זמן הריצה של Visual Studio C++.
מערכות ההפעלה הנתמכות והמאגרים המובנים שלהן כוללים את האפשרויות הבאות:
macOS עם מחזיק מפתחות
Microsoft Windows עם CryptoAPI
Linux עם PKCS #11
צריך להגדיר את ECP עם פרטי המטא-נתונים הנדרשים כדי לאתר את האישור במאגרי המפתחות.
התקנה והגדרה של ECP באמצעות Google Cloud CLI
התקנת Google Cloud CLI והפעלת CBA מתקינים כשהאפשרות
bundled pythonמופעלת.ב-macOS וב-Linux, מריצים את הסקריפט
install.shאחרי שמורידים אותו:$ ./google-cloud-sdk/install.shמתקינים את רכיב העזר של ECP באמצעות Google Cloud CLI:
gcloud components install enterprise-certificate-proxyמפעילים את ההגדרה של אישור ECP באמצעות Google Cloud CLI:
Linux
$ gcloud auth enterprise-certificate-config create linux
--label=<CERT_LABEL> --module=<PKCS11_MODULE_PATH> --slot=<SLOT_ID>
דוגמה:
$ gcloud auth enterprise-certificate-config create linux
--label="Google Endpoint Verification" --module=/usr/lib/x86_64-linux-gnu/pkcs11/libcredentialkit_pkcs11.so.0 --slot=0x1234567
macOS
$ gcloud auth enterprise-certificate-config create macos
--issuer=<CERT_ISSUER>
דוגמה:
$ gcloud auth enterprise-certificate-config create macos
--issuer="Google Endpoint Verification"
Windows
$ gcloud auth enterprise-certificate-config create windows
--issuer=<CERT_ISSUER> --provider=<PROVIDER> --store=<STORE>
דוגמה:
$ gcloud auth enterprise-certificate-config create windows
--issuer="Google Endpoint Verification" --provider=current_user --store=MY
אפשר גם להגדיר את ECP באופן ידני. הוא מאוחסן כקובץ JSON במיקום הבא במכשיר של המשתמש:
Linux ו-macOS:
~/.config/gcloud/certificate_config.jsonב-Windows:
%APPDATA%\gcloud\certificate_config.json
דוגמאות נוספות להגדרה ולסכימה זמינות במאמרי העזרה של ECP ב-GitHub.
Linux
{
"cert_configs": {
"pkcs11": {
"label": "<CERT_LABEL>",
"slot": "<SLOT_ID>",
"module": "<PKCS11_MODULE_PATH>"
}
},
"libs": {
"ecp": "/usr/lib/google-cloud-sdk/bin/ecp",
"ecp_client": "/usr/lib/google-cloud-sdk/platform/enterprise_cert/libecp.so",
"tls_offload": "/usr/lib/google-cloud-sdk/platform/enterprise_cert/libtls_offload.so"
}
}
macOS
{
"cert_configs": {
"macos_keychain": {
"issuer": "<CERT_ISSUER>"
}
},
"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
{
"cert_configs": {
"windows_store": {
"store": "MY",
"provider": "current_user",
"issuer": "<CERT_ISSUER>"
}
},
"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"
}
}
אחרי ההגדרה הזו, המשתמשים יכולים לגשת למשאבים מוגנים Google Cloud באמצעות כלי שורת פקודה על ידי הפעלת הדגל CBA.
כדי להפעיל CBA ב-CLI של Google Cloud, מריצים את הפקודה הבאה כדי להגדיר את המאפיין context_aware/use_client_certificate לערך true:
$ gcloud config set context_aware/use_client_certificate true
כדי להפעיל CBA בכל שאר כלי שורת הפקודה, כולל Terraform, מגדירים את משתנה הסביבה GOOGLE_API_USE_CLIENT_CERTIFICATE לערך true.