במכונות של 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, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
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, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירת מופע של Private Service Connect Secure Source Manager, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
- תפקיד אדמין ב-Access Context Manager (
roles/accesscontextmanager.policyAdmin) בארגון - תפקיד הבעלים של המופע (
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 של המופע נשלחת למאגר רשויות להנפקת אישורים (CA).
מריצים את הפקודה הבאה כדי ליצור זהות שירות עבור Secure Source Manager API בפרויקט:
gcloud beta services identity create \ --service=securesourcemanager.googleapis.com \ --project=PROJECT_IDPROJECT_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.
יוצרים רשות אישורים. אתם יכולים ליצור רשות אישורים ברמה הבסיסית או רשות אישורים משנית, בהתאם לצרכים שלכם.
- כדי ליצור רשות אישורי בסיס, פועלים לפי ההוראות במאמר יצירת רשות אישורי בסיס.
- כדי ליצור רשות אישורים משנית מרשות אישורים ראשית ב- Google Cloud, פועלים לפי ההוראות במאמר יצירת רשות אישורים משנית.
- כדי ליצור רשות אישורים משנית מרשות אישורים חיצונית, פועלים לפי ההוראות במאמר יצירת רשות אישורים משנית מרשות אישורים חיצונית.
למידע נוסף על ההבדלים בין רשויות אישורים בסיסיות ומשניות, קראו את המאמר קביעת ההגדרות של רשות האישורים.
נותנים לזהות השירות של 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 משלכם. לכן, כשיוצרים מכונה עם דומיינים בהתאמה אישית, צריך לספק מאגר 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 משלכם.
- 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 משלכם או בדומיינים בהתאמה אישית.
- 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 , כמו 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 בשם המכונה. כדי להציג רשימה של מכונות באזור מסוים, מריצים את
אחרי שיוצרים את נקודות הקצה של Private Service Connect, צריך להגדיר רשומות DNS פרטיות. הוראות להגדרת רשומות DNS פרטיות מופיעות במאמר הגדרה ידנית של DNS. אם הגדרתם דומיינים בהתאמה אישית למכונה, צרו רשומות DNS שממפות את הדומיינים בהתאמה אישית לכתובות ה-IP הפנימיות של קובצי ה-attachment של השירות. אחרת, משתמשים בשמות המארחים בשדה
hostConfigשל המכונה:- ממפים את הערך של
hostConfig.html(או של דומיין ה-HTML המותאם אישית), שלhostConfig.api(או של דומיין ה-API המותאם אישית) ושלhostConfig.gitHttp(או של דומיין ה-HTTP המותאם אישית של Git) לכתובת ה-IP הפנימית של קובץ ה-HTTP המצורף. - ממפים את הערך של
hostConfig.ssh(או הדומיין בהתאמה אישית של Git SSH) לכתובת ה-IP הפנימית של צירוף השירות של SSH.
לדוגמה, בפלט של הדוגמה הקודמת, הערך של
hostConfig.htmlהואmy-project-012345678901.us-central1.p.sourcemanager.dev.- ממפים את הערך של
אימות Git עם דומיינים בהתאמה אישית
אם אתם משתמשים בדומיינים בהתאמה אישית למכונה הפרטית, בצעו את ההגדרה הבאה בצד הלקוח בכל מכונה כדי להשתמש ב-Git דרך HTTPS.
ההגדרה הזו מקשרת את Git לכלי העזר לאימות פרטי הכניסה של gcloud כדי לאמת את הדומיין בהתאמה אישית.
מגדירים את Git כך שישתמש בכלי העזר
gcloudלדומיין ה-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