מופעים של Private Service Connect לא חושפים נקודות קצה לאינטרנט הציבורי. כשיוצרים מופע של Private Service Connect, נוצרות נקודות קצה (endpoints) כדי לספק גישת SSH (Git) ו-HTTPS (Git, ממשק אינטרנט, API) למופע. לנקודות הקצה צריך להקצות כתובות IP ברשת הפרטית. כל התנועה מהמופע של Private Service Connect ואליו עוברת דרך נקודות הקצה של Private Service Connect.
מידע נוסף על שימוש ב-Private Service Connect כדי לגשת לשירותים מנוהלים באופן פרטי מתוך רשת VPC זמין במאמר Private Service Connect.
Secure Source Manager הוא שירות של דייר יחיד. מומלץ שמופע יחיד של Secure Source Manager יכלול רק משתמשים מלקוח אחד שלGoogle Cloud , אלא אם כמה חברות שיש ביניהן קשר חוזי צריכות להשתמש במופע יחיד לצורך שיתוף פעולה.
אם אתם עובדים עם כמה חברות ורוצים לשתף איתן פעולה בקוד המקור, מומלץ ליצור מופע נפרד לכל חברה.
לפני שמתחילים
-
נכנסים לחשבון 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.
Enable the Secure Source Manager 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.-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
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.
Enable the Secure Source Manager 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.-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירת מופע של Private Service Connect Secure Source Manager, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
- תפקיד אדמין ב-Access Context Manager (
roles/accesscontextmanager.policyAdmin) בארגון - Instance Owner role (
roles/securesourcemanager.instanceOwner) במופע -
כדי ליצור זהות שירות ומאגר רשויות אישורים:
מנהל תפעול של שירות CA (
roles/privateca.caManager) בארגון
יצירת זהות בשירות ומאגר רשויות אישורים
בקטע הזה מוסבר איך להשתמש באישור CA משלכם. אם אתם מתכוונים להשתמש בדומיינים מותאמים אישית עם המופע הפרטי שלכם, אתם צריכים להשתמש באישור CA משלכם. כדי להשתמש באישור שמנוהל על ידי Googleבלי דומיינים בהתאמה אישית, לא צריך לעשות שום דבר חוץ מהפעלת gcloud source-manager instances create
הפקודה בלי ליצור זהות שירות ומאגר CA. מידע נוסף זמין במאמר יצירת מופע של Secure Source Manager באמצעות Private Service Connect.
אם אתם משתמשים באישור CA משלכם, אתם צריכים לציין שם של מאגר רשויות אישורים (CA) כשאתם יוצרים מופע פרטי של Secure Source Manager. בקשה לחתימה על אישור ה-SSL של ה-HTTPS של המופע נשלחת למאגר רשויות האישורים.
מריצים את הפקודה הבאה כדי ליצור זהות שירות עבור Secure Source Manager API בפרויקט:
gcloud beta services identity create \ --service=securesourcemanager.googleapis.com \ --project=PROJECT_IDכאשר PROJECT_ID הוא מזהה הפרויקט.
הפלט אמור להיראות כך:
Service identity created: service-PROJECT_NUM@gcp-sa-sourcemanager.iam.gserviceaccount.comכאשר
service-PROJECT_NUM@gcp-sa-sourcemanager.iam.gserviceaccount.comהוא סוכן השירות של Secure Source Manager ו-PROJECT_NUM הוא מספר הפרויקט.יוצרים מאגר של רשויות אישורים (CA) עם בקשות לאישורים מבוססות CSR.
יוצרים רשות אישורים. אתם יכולים ליצור רשות אישורים (CA) ראשית או משנית, בהתאם לצרכים שלכם.
- כדי ליצור רשות אישורים (CA) בסיסית, פועלים לפי ההוראות במאמר יצירת רשות אישורים (CA) בסיסית.
- כדי ליצור רשות אישורים משנית מרשות אישורים ראשית ב- Google Cloud, פועלים לפי ההוראות במאמר יצירת רשות אישורים משנית.
- כדי ליצור רשות אישורים משנית מרשות אישורים חיצונית, פועלים לפי ההוראות במאמר יצירת רשות אישורים משנית מרשות אישורים חיצונית.
למידע נוסף על ההבדלים בין רשויות אישורים (CA) בסיסיות לבין רשויות אישורים משניות, אפשר לעיין במאמר קביעת ההגדרות של רשות אישורים.
צריך להעניק להרשאות זהות השירות של Secure Source Manager API לבקש אישורים חדשים במאגר CA:
gcloud privateca pools add-iam-policy-binding CA_POOL_NAME \ --location=CA_LOCATION \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com' \ --role='roles/privateca.certificateRequester' \ --project=CA_PROJECT_IDמחליפים את מה שכתוב בשדות הבאים:
- CA_POOL_NAME בשם שנתתם למאגר CA.
- CA_LOCATION עם האזור או האזור של מאגר ה-CA.
- PROJECT_NUMBER עם מספר הפרויקט שבו מופעל Secure Source Manager. כדי לאתר את מספר הפרויקט, אפשר לעיין במאמר בנושא זיהוי פרויקטים.
- CA_PROJECT_ID עם מזהה הפרויקט שבו יצרתם את מאגר ה-CA.
יצירת מופע של Secure Source Manager עם Private Service Connect
אתם יכולים להקצות דומיינים מותאמים אישית למופע הפרטי שלכם עבור נקודות הקצה של HTML, API, Git HTTP ו-Git SSH. בדומיינים מותאמים אישית נדרש אישור CA משלכם. לכן, כשיוצרים מופע עם דומיינים בהתאמה אישית, צריך לספק מאגר של רשויות אישורים. אפשר להגדיר דומיינים בהתאמה אישית רק במהלך יצירת המכונה באמצעות ה-API. אי אפשר לשנות אותן אחרי שיוצרים את המופע.
gcloud
יוצרים מופע של Private Service Connect באמצעות הפקודה הבאה:
gcloud source-manager instances create INSTANCE_ID \
--region=LOCATION \
--project=PROJECT_ID \
--is-private \
--ca-pool=projects/CA_PROJECT/locations/CA_LOCATION/caPools/CA_POOL_NAME
מחליפים את מה שכתוב בשדות הבאים:
- INSTANCE_ID בשם שרוצים לתת למופע.
- LOCATION עם האזור שבו רוצים ליצור את המופע. מידע על מיקומים נתמכים זמין במאמר מיקומים.
- PROJECT_ID בשם הפרויקט שבו רוצים ליצור את המופע.
- CA_PROJECT עם שם הפרויקט של מאגר רשויות האישורים. חובה אם משתמשים באישור CA משלכם.
- CA_LOCATION עם האזור שבו יצרתם את מאגר ה-CA. חובה אם משתמשים באישור CA משלכם.
- CA_POOL_NAME עם השם של מאגר ה-CA. חובה אם משתמשים באישור CA משלכם.
API
יוצרים מופע של Private Service Connect באמצעות הפקודה הבאה:
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://securesourcemanager.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances?instance_id=INSTANCE_ID \
-H "Content-Type: application/json" \
-d '{"private_config":{"is_private":true,"ca_pool":"projects/CA_PROJECT/locations/CA_LOCATION/caPools/CA_POOL_NAME","custom_host_config":{"api":"API_CUSTOM_DOMAIN", "html":"HTML_CUSTOM_DOMAIN", "git_ssh":"GIT_SSH_CUSTOM_DOMAIN", "git_http":"GIT_HTTP_CUSTOM_DOMAIN"}}}'
מחליפים את מה שכתוב בשדות הבאים:
- INSTANCE_ID בשם שרוצים לתת למופע.
- LOCATION עם האזור שבו רוצים ליצור את המופע. מידע על מיקומים נתמכים זמין במאמר מיקומים.
- PROJECT_ID בשם הפרויקט שבו רוצים ליצור את המופע.
- CA_PROJECT עם שם הפרויקט של מאגר רשויות האישורים. חובה אם משתמשים באישור CA משלכם או בדומיינים מותאמים אישית.
- CA_LOCATION עם האזור שבו יצרתם את מאגר ה-CA. חובה אם משתמשים באישור CA משלכם או בדומיינים מותאמים אישית.
- CA_POOL_NAME עם השם של מאגר ה-CA. חובה אם משתמשים באישור CA משלכם או בדומיינים מותאמים אישית.
- API_CUSTOM_DOMAIN עם הדומיין המותאם אישית שלכם לגישה ל-API, לדוגמה
api.source.example.com. חובה רק אם משתמשים בדומיינים בהתאמה אישית. - HTML_CUSTOM_DOMAIN עם הדומיין המותאם אישית שלכם לגישה לממשק המשתמש באינטרנט, לדוגמה
source.example.com. נדרש רק אם משתמשים בדומיינים בהתאמה אישית. - GIT_SSH_CUSTOM_DOMAIN עם הדומיין המותאם אישית שלכם לגישת Git SSH, לדוגמה
ssh.source.example.com. נדרש רק אם משתמשים בדומיינים בהתאמה אישית. - GIT_HTTP_CUSTOM_DOMAIN עם הדומיין המותאם אישית שלכם לגישת Git HTTP, לדוגמה
git.source.example.com. נדרש רק אם משתמשים בדומיינים בהתאמה אישית.
Terraform
כדי ליצור מכונה של Private Service Connect באמצעות Terraform, משתמשים במשאב google_secure_source_manager_instance עם השדה private_config.is_private שמוגדר לערך true.
מתחילה פעולה ממושכת של יצירת מופע. יצירת המופע נמשכת עד 60 דקות. הפלט אמור להיראות כך:
Create request issued for [my-instance].
done: false
metadata:
'@type': type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata
apiVersion: v1
createTime: '2023-02-27T20:57:52.315609549Z'
requestedCancellation: false
target: projects/my-project/locations/us-central1/instances/my-instance
verb: create
name: projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e
כאשר
projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e
הוא OPERATION_NAME.
כדי לבדוק את סטטוס הפעולה, צריך את OPERATION_NAME.
כדי לבדוק את סטטוס הפעולה, מריצים את הפקודה הבאה:
gcloud source-manager operations describe OPERATION_NAME \
--region=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
- OPERATION_NAME עם שם הפעולה מהתגובה של פקודת היצירה.
- LOCATION עם האזור שבו רוצים ליצור את המופע. מידע על מיקומים נתמכים זמין במאמר מיקומים.
אחרי יצירת המופע, הפלט יכלול את נקודות הקצה של Private Service Connect httpServiceAttachment ו-sshServiceAttachment, יחד עם שמות המארחים של html, api, gitHttp ו-gitSsh.
גישה למופע הפרטי
אתם יכולים לגשת למופע Private Service Connect על ידי יצירת נקודות קצה של Private Service Connect על סמך כללי העברה, או על ידי יצירת קצוות עורפיים של Private Service Connect על סמך מאזני עומסים.
קצוות עורפיים מסוג Private Service Connect שמבוססים על מאזני עומסים הם גמישים יותר ומאפשרים לכם לשלב שירותים אחרים של Google Cloud Google כמו Cloud Build, אבל הם מורכבים יותר וכוללים חיוב נוסף.
נקודות קצה של Private Service Connect שמבוססות על כללי העברה הן פשוטות יותר ועולות פחות. עם זאת, אי אפשר להתחבר ל-Cloud Build או לשירותים אחרים שלGoogle Cloud .
כדי להגדיר בק-אנדים של Private Service Connect שמבוססים על מאזני עומסים עבור מכונת Private Service Connect ולחבר אותה ל-Cloud Build, אפשר לעיין במאמר חיבור Cloud Build למכונת Private Service Connect.
הגדרת נקודות קצה של Private Service Connect על סמך כללי העברה
כדי ליצור נקודות קצה מסוג Private Service Connect, פועלים לפי ההוראות במאמר גישה לשירותים שפורסמו דרך נקודות קצה.
כדי לקבל את כתובות ה-URI של קבצים מצורפים של שירותי HTTP ו-SSH במופע של Secure Source Manager, מריצים את הפקודה הבאה:
gcloud source-manager instances describe INSTANCE_ID \ --region=LOCATIONמחליפים את מה שכתוב בשדות הבאים:
- INSTANCE_ID בשם המכונה. כדי להציג רשימה של מכונות באזור מסוים, מריצים את הפקודה
gcloud source-manager instances list --region=LOCATION. - LOCATION עם המיקום של המכונה. מידע על מיקומים נתמכים זמין במאמר מיקומים.
הפלט כולל:
createTime: '2023-09-22T18:21:35.729454612Z' hostConfig: api: my-project-012345678901-api.us-central1.p.sourcemanager.dev gitHttp: my-project-012345678901-git.us-central1.p.sourcemanager.dev gitSsh: my-project-012345678901-ssh.us-central1.p.sourcemanager.dev html: my-project-012345678901.us-central1.p.sourcemanager.dev name: projects/my-project/locations/us-central1/instances/my-instance privateConfig: caPool: projects/my-project/locations/us-central1/caPools/my-ca-pool httpServiceAttachment: projects/abc12345d1a1234a0a-tp/regions/us-central1/serviceAttachments/http-psc isPrivate: true sshServiceAttachment: projects/abc12345d1a1234a0a-tp/regions/us-central1/serviceAttachments/ssh-psc state: ACTIVE updateTime: '2023-09-22T18:39:53.390563549Z'-
projects/abc12345d1a1234a0a-tp/regions/us-central1/serviceAttachments/http-pscהוא ה-URI של קובץ השירות HTTP של המכונה. -
projects/abc12345d1a1234a0a-tp/regions/us-central1/serviceAttachments/ssh-pscהוא ה-URI של קובץ השירות של ה-SSH של המכונה.
- INSTANCE_ID בשם המכונה. כדי להציג רשימה של מכונות באזור מסוים, מריצים את הפקודה
אחרי שיוצרים את נקודות הקצה (endpoints) של Private Service Connect, צריך להגדיר רשומות DNS פרטיות. הוראות להגדרת רשומות DNS פרטיות מופיעות במאמר הגדרה ידנית של DNS. אם הגדרתם דומיינים בהתאמה אישית למופע שלכם, צריך ליצור רשומות DNS שממפות את הדומיינים בהתאמה אישית לכתובות ה-IP הפנימיות של קבצים מצורפים לשירות. אחרת, משתמשים בשמות המארחים בשדה
hostConfigשל המופע:- ממפים את הערך של
hostConfig.html(או הדומיין המותאם אישית של ה-HTML), שלhostConfig.api(או הדומיין המותאם אישית של ה-API) ושלhostConfig.gitHttp(או הדומיין המותאם אישית של Git HTTP) לכתובת ה-IP הפנימית של קובץ ה-HTTP המצורף לשירות. - ממפים את הערך של
hostConfig.ssh(או את הדומיין המותאם אישית של Git SSH) לכתובת ה-IP הפנימית של קובץ ה-SSH המצורף לשירות.
לדוגמה, בפלט של הדוגמה הקודמת, הערך של
Google CloudhostConfig.htmlהואmy-project-012345678901.us-central1.p.sourcemanager.dev.- ממפים את הערך של
אימות Git באמצעות דומיינים מותאמים אישית
אם אתם משתמשים בדומיינים מותאמים אישית עבור המופע הפרטי שלכם, אתם צריכים לבצע את ההגדרה הבאה בצד הלקוח בכל מכונה כדי להשתמש ב-Git באמצעות HTTPS.
ההגדרה הזו מקשרת את Git אל gcloud credential helper כדי לאמת את הדומיין המותאם אישית.
מגדירים את Git כך שישתמש ב-
gcloudhelper עבור דומיין ה-HTTP המותאם אישית של Git:git config --global credential.'https://GIT_HTTP_CUSTOM_DOMAIN'.helper gcloud.shמחליפים את GIT_HTTP_CUSTOM_DOMAIN בדומיין המותאם אישית שהגדרתם לגישת Git HTTP.
מאשרים את הדומיין המותאם אישית ב-
gcloud:gcloud config set core/credentialed_hosted_repo_domains GIT_HTTP_CUSTOM_DOMAINכדי לאשר כמה דומיינים, צריך לספק אותם כרשימה שמופרדת בפסיקים.
שימוש ב-CA עם Secure Source Manager API
ל-Secure Source Manager יש מישור בקרה ומישור נתונים. נקודות הקצה של מישור הנתונים מתארחות ישירות במופע של Secure Source Manager, ולכן צריך להתחבר לשם המארח של ה-API של המופע כדי לגשת אליהן.
כדי להשתמש במופע פרטי של Secure Source Manager, צריך להשתמש ב-CA שיצרתם בקטע יצירת זהות שירות ומאגר רשויות אישורים.
כדי להוריד את רשות האישורים (CA), מריצים את הפקודה הבאה:
gcloud privateca pools get-ca-certs CA_POOL \ --location LOCATION \ --output-file=root-cert.pem \ --project PROJECTכדי לבצע קריאות ל-API למופע שלכם, צריך להעביר את אישור ה-CA ל-API של Secure Source Manager במישור הנתונים.
לדוגמה, הפקודה הבאה מעבירה את אישור ה-CA
root-cert.pemל-Secure Source Manager API כדי להציג רשימה של מאגרי מידע במופע הפרטיmy-instanceבמיקוםus-central1.curl \ --cacert root-cert.pem \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://my-instance-01234567890-api.us-central1.sourcemanager.dev/v1/projects/01234567890/locations/us-central1/repositories
המאמרים הבאים
- קישור Cloud Build למכונה של Secure Source Manager עם Private Service Connect.
- הגדרה של Secure Source Manager בגבול גזרה של VPC Service Controls