במאמר הזה מוסבר איך להשתמש באפשרויות המתקדמות להגדרת מחברים של חשבונות Developer Connect.
מחבר חשבונות הוא תכונה של Developer Connect שעוזרת לקשר את חשבון Google Cloud לחשבון האישי שלכם אצל ספק של כלי פיתוח שאינו Google. המשתמשים יכולים לציין את סוג הנתונים שאליהם מחבר החשבונות יוכל לגשת על ידי בחירת ההיקפים המתאימים למחבר הזה. אחרי שיוצרים חיבור של מחבר חשבונות לארגון, משתמשים בארגון יכולים להשתמש בחיבור הזה כדי לאשר שימוש בחשבונות האישיים שלהם עם החיבור הזה.
אפשר להגדיר מחבר חשבונות באמצעות לקוח OAuth שהוגדר מראש ב-Developer Connect (לדוגמה, GitHub או GitLab), או להשתמש בלקוח OAuth מותאם אישית משלכם (לדוגמה, מופע GitHub Enterprise מקומי).
לפני שמתחילים
-
נכנסים לחשבון Google.
אם עדיין אין חשבון, יוצרים חשבון חדש.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Developer Connect API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Developer Connect API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.- אופציונלי: יוצרים מפתח הצפנה בניהול הלקוח (CMEK) להצפנת סודות האימות שנוצרים על ידי Developer Connect.
הפעלת Developer Connect מפעילה גם את Secret Manager API.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות ליצירת מחבר חשבון, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין של OAuth ב-Developer Connect (roles/developerconnect.oauthAdmin) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת מחבר חשבונות באמצעות ספקים זמינים
בשלבים הבאים מוסבר איך ליצור מחבר חשבונות לספקים המובנים. אם רוצים ליצור מחבר חשבונות ולציין לקוח OAuth בהתאמה אישית, אפשר לעיין במאמר בנושא יצירת מחבר חשבונות באמצעות לקוח OAuth בהתאמה אישית.
מסוף Google Cloud
פותחים את Developer Connect במסוף Google Cloud .
בוחרים באפשרות Account connectors (מחברים לחשבון).
לוחצים על יצירת מחבר.
בוחרים את האזור שבו רוצים ליצור את מחבר החשבון הזה.
נותנים למחבר החשבון שם.
בקטע סוג ההגדרה בוחרים באפשרות לקוחות OAuth שהוגדרו מראש.
בוחרים את ספק ה-OAuth.
בוחרים אם להפעיל את הפרוקסי של Developer Connect.
כשהפרוקסי מופעל, Developer Connect שולח פקודות Git או מבצע קריאות HTTP (או שניהם) לספק בשמכם. מידע נוסף
בוחרים את ההיקפים שיוקצו ל-Developer Connect עבור מחבר החשבון הזה.
היקפי ההרשאות קובעים אילו פעולות יכולה Developer Connect לבצע בשירות של הספק שנבחר. היקפי ההרשאות משתנים בהתאם לספק. צריך לבחור לפחות היקף הרשאות אחד, אלא אם לספק אין היקפי הרשאות.
יכול להיות שלא יהיו היקפי הרשאות זמינים לבחירה, בהתאם לספק. יכול להיות שתוכלו להוסיף אותם באופן ידני. יכול להיות גם שנדרשים היקפי הרשאות.
לוחצים על יצירה כדי לסיים את יצירת מחבר החשבון הזה.
Google Cloud CLI
כדי ליצור מחבר חשבונות, מריצים את הפקודה הבאה:
gcloud alpha developer-connect account-connectors create my-ac \
--location=LOCATION \
--provider-oauth-config-system-id=PROVIDER \
--provider-oauth-config-scopes=SCOPES \
--project=PROJECT_ID
בפקודה הזו, מחליפים את מה שכתוב בשדות הבאים:
LOCATIONבאזור שבו אתם יוצרים את מחבר החשבון הזה.PROVIDERעם ספק ה-SCM שאליו אתם מתחברים:
GITHUB,GITLABאוBITBUCKET_CLOUD.
PROJECT_IDבמזהה הפרויקט (ולא במספר הפרויקט) של הפרויקט שבו אתם יוצרים את מחבר החשבון הזה.
יצירת מחבר חשבונות באמצעות לקוח OAuth מותאם אישית
בשלבים הבאים מוסבר איך להגדיר מחבר חשבונות לשימוש בלקוח OAuth שאתם מציינים. אם רוצים ליצור מחבר חשבונות באמצעות הספקים המובנים, אפשר לעיין במאמר יצירת מחבר חשבונות באמצעות ספקים זמינים.
מסוף Google Cloud
פותחים את Developer Connect במסוף Google Cloud .
בוחרים באפשרות Account connectors (מחברים לחשבון).
לוחצים על יצירת מחבר.
בוחרים את האזור שבו רוצים ליצור את מחבר החשבון הזה.
נותנים למחבר החשבון שם.
בשדה סוג ההגדרה בוחרים באפשרות לקוח OAuth בהתאמה אישית.
במסך Create account connector מוצג URI להפניה אוטומטית.
מעתיקים את ה-URI של ההפניה האוטומטית.
ה-URI יהיה בפורמט הבא:
https://developerconnect.google.com/redirect/custom/projects/<project_number>/locations/<location>/accountConnectors/<account_connector_id>ב-URI הזה,
<project_number>הוא מספר הפרויקט, ולא מזהה הפרויקט.יוצרים את האפליקציה בהתאמה אישית עבור מערכת ה-SCM שבחרתם, באמצעות כתובת ה-URI להפניה אוטומטית שהעתקתם, ואז חוזרים לטופס הזה כדי לספק את הפרטים של לקוח ה-OAuth:
בוחרים את הספק.
בשדה מארח URI, מציינים את ה-URI של מערכת ניהול קוד המקור.
מזינים את הכתובת של שרת ההרשאות בשדה Authorization URI (כתובת ה-URI של ההרשאה). הכתובת הזו מופיעה בפורמט הבא:
GitHub Enterprise:
https://<host_name>/login/oauth/authorizeGitLab Enterprise: https://<host_name>/oauth/authorizeBitBucket Data Center: https://<host_name>/rest/oauth2/latest/authorizeבשדה Token URI, מציינים את ה-URI שבו רוצים להשתמש כדי להחליף קוד הרשאה באסימון גישה. הכתובת הזו מופיעה בפורמט הבא:
GitHub Enterprise:
https://<host_name>/login/oauth/access_tokenGitLab Enterprise: https://<host_name>/oauth/access_tokenBitBucket Data Center: https://<host_name>/rest/oauth2/latest/tokenבשדה מזהה לקוח, מציינים את מזהה הלקוח של אפליקציית ה-OAuth.
מזינים את סוד הלקוח כדי לאמת את האפליקציה בשרת ההרשאות.
אם מחבר החשבון ישתמש ב-proxy של Developer Connect כדי להנפיק פקודות Git, בוחרים באפשרות הפעלת ה-proxy של Developer Connect.
בקטע היקפים, בוחרים מתוך רשימת ההיקפים הזמינים.
אפשר להגדיר רשתות ואבטחה:
בוחרים אם מחבר החשבון הזה ישתמש באינטרנט הציבורי או ברשת פרטית.
אם מדובר ברשת פרטית, צריך לספק את הפרטים הבאים:
אישור ה-CA לשימוש
המידע על שירות מדריך השירותים:
אפשר לזהות את הפרויקט של שירות Service Directory, או לציין את האזור, מרחב השמות ושם השירות.
מפעילים או משביתים את PKCE לאפליקציה הזו.
שירות ה-OAuth צריך לתמוך ב-PKCE.
לוחצים על יצירה כדי לסיים את יצירת מחבר החשבון הזה.
Google Cloud CLI
```sh
gcloud alpha developer-connect account-connectors create my-ac \
--location=LOCATION \
--project=PROJECT_ID \
--custom-provider-oauth-config-system-id=PROVIDER \
--custom-oauth-config-host-uri= HOST_URI \
--custom-oauth-config-auth-uri=AUTH_URI \
--custom-provider-oauth-config-scopes=SCOPES \
--custom-oauth-config-token-uri=TOKEN_URI \
--custom-oauth-config-client-id=CLIENT_ID \
--custom-oauth-config-client-secret=SECRET
```
בפקודה הזו, מחליפים את מה שכתוב בשדות הבאים:
LOCATIONבאזור שבו אתם יוצרים את מחבר החשבון הזה.
PROJECT_IDבמזהה הפרויקט (ולא במספר הפרויקט) של הפרויקט שבו אתם יוצרים את מחבר החשבון הזה.PROVIDERעם ספק ה-SCM שאליו אתם מתחברים:
GITHUB_ENTERPRISE,GITLAB_ENTERPRISEאוBITBUCKET_DATA_CENTER.
HOST_URIבכתובת ה-URL של מערכת ניהול קוד המקור.
AUTH_URIעם כתובת ה-URL שמשמשת לאימות אצל ספק ה-SCM שבחרתם.לדוגמה:
GitHub Enterprise:
https://<host_name>/login/oauth/authorizeGitLab Self Hosted:
https://<host_name>/oauth/authorizeBitBucket Data Center:
https://<host_name>/rest/oauth2/latest/authorize
SCOPESעם רשימה מופרדת בפסיקים של כל היקפי הגישה של ספק OAuth שרוצים לכלול במחבר החשבון הזה.
TOKEN_URIעם ה-URI שמשמש להחלפת קוד הרשאה בטוקן גישה.
CLIENT_IDעם מזהה הלקוח של אפליקציית ה-OAuth.SECRETעם הסוד שסופק על ידי מערכת ה-SCMS שאליה אתם מתחברים.
חיבור החשבון שלך
אחרי שיוצרים מחבר חשבון, עדיין צריך לקשר את Developer Connect לחשבון שלכם אצל הספק לפני שתוכלו להשתמש במחבר החשבון.
פותחים את Developer Connect במסוף Google Cloud .
בוחרים באפשרות Account connectors (מחברים לחשבון).
בדף Account connectors מפורטים כל מחברי החשבונות שיש לכם בפרויקט.
לוחצים על השם של כלי החיבור לחשבון שרוצים לקשר אליו את החשבון אצל הספק.
יוצג הדף Connector details.
לוחצים על קישור החשבון.
מוצגת תיבת דו-שיח לאימות OAuth.
מזינים את המידע בתיבת הדו-שיח כדי לבצע אימות מול הספק.
לוחצים על Authorize.
עדכון של מחבר חשבון
אפשר לעדכן מחבר חשבונות קיים, אבל אפשר לעדכן רק את היקפי ההרשאות של המחבר, להפעיל או להשבית את הגדרת ה-proxy, או גם וגם. אם מעדכנים את היקפי ההרשאות של מחבר חשבונות מסוים, כל המשתמשים הקיימים במחבר הזה מוסרים.
פותחים את Developer Connect במסוף Google Cloud .
בדף מאגרי Git ב-Developer Connect.
בוחרים באפשרות Account connectors (מחברים לחשבון).
בדף Account connectors מפורטים כל מחברי החשבונות שיש לכם בפרויקט.
לוחצים על השם של כלי החיבור לחשבון שרוצים לעדכן.
יוצג הדף Connector details.
לוחצים על Edit.
ברשימה Scopes, בוחרים את ההיקפים שרוצים לאפשר למחבר החשבון הזה.
לוחצים על Save.
מחיקה של מחבר חשבונות
פותחים את Developer Connect במסוף Google Cloud .
בדף מאגרי Git ב-Developer Connect.
בוחרים באפשרות Account connectors (מחברים לחשבון).
בדף Account connectors מפורטים כל מחברי החשבונות שיש לכם בפרויקט.
בתפריט עוד, בוחרים באפשרות מחיקה.
יוצג הדף Connector details.
לוחצים על Edit.