יצירת מופע של Secure Source Manager לשימוש עם זהויות מאוחדות

במאמר הזה מוסבר איך ליצור מופע של Secure Source Manager שמשתמש באיחוד שירותי אימות הזהות של כוח עבודה עם ספק זהויות (IdP) חיצוני.

מידע נוסף על איחוד שירותי אימות הזהויות של כוח העבודה זמין במאמר איחוד שירותי אימות הזהויות של כוח העבודה.

מידע על מגבלות באיחוד שירותי אימות הזהות של כוח עבודה ב-Secure Source Manager זמין במאמר איחוד שירותי אימות הזהות: מוצרים ומגבלות.

‫Secure Source Manager הוא שירות של דייר יחיד. מומלץ שמופע יחיד של Secure Source Manager יכלול רק משתמשים מלקוח אחד שלGoogle Cloud , אלא אם כמה חברות שיש ביניהן קשר חוזי צריכות להשתמש במופע יחיד לצורך שיתוף פעולה.

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

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

  1. נכנסים לחשבון Google.

    אם עדיין אין חשבון, יוצרים חשבון חדש.

  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  4. התקינו את ה-CLI של Google Cloud.

  5. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  6. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  7. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  8. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  9. התקינו את ה-CLI של Google Cloud.

  10. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  11. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init

הצפנת נתונים

כברירת מחדל, Google Cloud הנתונים במנוחה מוצפנים אוטומטית באמצעותGoogle-owned and Google-managed encryption keys. אם יש לכם דרישות ספציפיות בנושא תאימות או רגולציה שקשורות למפתחות שמגנים על הנתונים שלכם, אתם יכולים ליצור מופעים של Secure Source Manager שמוצפנים באמצעות מפתחות הצפנה בניהול הלקוח (CMEK).

אל תשמרו מידע אישי רגיש במזהי מופעים או בצמדי מפתח/ערך של תוויות, כי הם לא מוצפנים באמצעות CMEK.

אם אתם יוצרים את המופע הראשון של Secure Source Manager בפרויקט, אתם צריכים ליצור באופן ידני את סוכן השירות של Secure Source Manager על ידי הרצת הפקודה הבאה:

gcloud beta services identity create \
    --service=securesourcemanager.googleapis.com \
    --project=PROJECT_ID

כאן, PROJECT_ID הוא מזהה הפרויקט שבו יוצרים את המופע של Secure Source Manager.

אחרי שיוצרים את חשבון השירות לכל מוצר ולכל פרויקט (P4SA), צריך להקצות את התפקיד 'סוכן שירות של Secure Source Manager' (roles/securesourcemanager.serviceAgent) למנהל הראשי service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.comאחרת, יצירת המופע תיכשל.

הגדרת איחוד שירותי אימות הזהויות של כוח העבודה

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

  1. יוצרים מאגר של איחוד שירותי אימות הזהויות של כוח העבודה.

  2. מגדירים את הספק של מאגר הזהויות של כוח העבודה עם מיפויי המאפיינים הבאים:

    • google.subject
    • google.email

יצירת מופע

gcloud

לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:

  • INSTANCE_ID: השם של המכונה שרוצים ליצור.
  • LOCATION: האזור שבו רוצים ליצור את המכונה. מידע על המיקומים הנתמכים זמין במאמר מיקומים.
  • PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את המופע.

מריצים את הפקודה הבאה:

‫Linux,‏ macOS או Cloud Shell

gcloud source-manager instances create INSTANCE_ID --region=LOCATION --project=PROJECT_ID --enable-workforce-identity-federation

‏Windows (PowerShell)

gcloud source-manager instances create INSTANCE_ID --region=LOCATION --project=PROJECT_ID --enable-workforce-identity-federation

Windows‏ (cmd.exe)

gcloud source-manager instances create INSTANCE_ID --region=LOCATION --project=PROJECT_ID --enable-workforce-identity-federation

מתחילה פעולה ממושכת של יצירת מכונה. הפלט אמור להיראות כך:

  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 כי תצטרכו להשתמש בו כדי לבדוק את סטטוס הפעולה.

יצירת המופע נמשכת עד 60 דקות.

API

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

  • INSTANCE_ID: השם של המופע שרוצים ליצור.
  • LOCATION: האזור שבו רוצים ליצור את המכונה. מידע על מיקומים נתמכים זמין במאמר מיקומים.
  • PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את המופע.

מריצים את הפקודה הבאה:

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 "{workforce_identity_federation_config: {enabled: true}}"

מתחילה פעולה ממושכת של יצירת מכונה. הפלט אמור להיראות כך:

{
"name": "OPERATION_NAME",
"metadata": {
  "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata",
  "createTime": "2022-11-01T14:31:32.420469714Z",
  "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID",
  "verb": "create",
  "requestedCancellation": false,
  "apiVersion": "v1"
},
"done": false
}

פלט לדוגמה שכולל את הערכים הבאים:

  • OPERATION_NAME: שם הפעולה, לדוגמה, projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e.
  • PROJECT_ID: הפרויקט ב- Google Cloud .
  • LOCATION: האזור שבו נמצאת המכונה.

חשוב לרשום את OPERATION_NAME כי תצטרכו להשתמש בו כדי לבדוק את סטטוס הפעולה.

יצירת המופע נמשכת עד 60 דקות.

Terraform

בדוגמה הבאה נוצר מופע של Secure Source Manager עם איחוד שירותי אימות הזהות של כוח העבודה:

resource "google_secure_source_manager_instance" "instance" {
  instance_id = "INSTANCE_ID"
  location    = "LOCATION"
  project     = "PROJECT_ID"
  workforce_identity_federation_config {
    enabled = true
  }
}

בדיקת סטטוס הפעולה

gcloud

לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:

  • OPERATION_NAME: שם הפעולה מהתגובה של פקודת היצירה.
  • LOCATION: האזור של המכונה.

מריצים את הפקודה הבאה:

‫Linux,‏ macOS או Cloud Shell

gcloud source-manager operations describe OPERATION_NAME --region=LOCATION

‏Windows (PowerShell)

gcloud source-manager operations describe OPERATION_NAME --region=LOCATION

Windows‏ (cmd.exe)

gcloud source-manager operations describe OPERATION_NAME --region=LOCATION

כשהמופע יהיה מוכן, התגובה תיראה כך:

  "name": "projects/my-project/locations/us-central1/operations/operation-123456789012-5ec69948c0f2b-60dd727f-a9b97a2e",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata",
    "createTime": "2022-11-01T14:31:32.420469714Z",
    "endTime": "2022-11-01T14:48:34.140378114Z",
    "target": "projects/my-project/locations/us-central1/instances/my-instance",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.Instance",
    "name": "projects/my-project/locations/us-central1/instances/my-instance",
    "createTime": "2022-11-01T14:31:32.416413630Z",
    "updateTime": "2022-11-01T14:31:32.416413630Z",
    "labels": {
      "ldap": "user",
      "source": "manual"
    },
    "state": "ACTIVE",
    "hostConfig": {
      "html": "my-instance-098765432109.us-central1.sourcemanager.dev",
      "api": "my-instance-098765432109-api.us-central1.sourcemanager.dev",
      "gitHttp": "my-instance-098765432109-git.us-central1.sourcemanager.dev"
    }
  }

כאשר my-instance-098765432109.us-central1.sourcemanager.dev היא כתובת ה-URL של ה-HTML של המופע.

API

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • OPERATION_NAME: שם הפעולה מהתגובה של פקודת היצירה.

ה-method של ה-HTTP וכתובת ה-URL:

GET https://securesourcemanager.googleapis.com/v1/OPERATION_NAME

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

כשהמופע יהיה מוכן, התגובה תיראה כך:

  "name": "projects/my-project/locations/us-central1/operations/operation-123456789012-5ec69948c0f2b-60dd727f-a9b97a2e",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata",
    "createTime": "2024-10-28T15:37:39.009812863Z",
    "endTime": "2024-10-28T16:10:58.416640259Z",
    "target": "projects/my-project/locations/us-central1/instances/my-instance",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.Instance",
    "name": "projects/my-project/locations/us-central1/instances/my-instance",
    "createTime": "2024-10-28T15:37:39.004550840Z",
    "updateTime": "2024-10-28T15:37:39.867857246Z",
    "state": "ACTIVE",
    "hostConfig": {
      "html": "my-instance-326202322590.us-central1.sourcemanager.dev",
      "api": "my-instance-326202322590-api.us-central1.sourcemanager.dev",
      "gitHttp": "my-instance-326202322590-git.us-central1.sourcemanager.dev",
      "gitSsh": "my-instance-326202322590-ssh.us-central1.sourcemanager.dev"
    },
    "workforceIdentityFederationConfig": {
      "enabled": true
    }
  }

כאשר my-instance-098765432109.us-central1.sourcemanager.dev היא כתובת ה-URL של ה-HTML של המופע.

מעתיקים את כתובת ה-URL של ה-HTML מהתגובה של סטטוס הבדיקה המוצלחת. תצטרכו את כתובת ה-URL הזו כדי לגשת למופע דרך ממשק האינטרנט שלו.

גישה למופע

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

  1. כדי לגשת למופע של Secure Source Manager דרך ממשק האינטרנט שלו, מעתיקים את כתובת ה-URL הבאה לסרגל הכתובות בדפדפן.

    INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.dev

    מחליפים את מה שכתוב בשדות הבאים:

    • INSTANCE_ID בשם המכונה.
    • PROJECT_NUMBER עם מספר הפרויקט של המופע Google Cloud. מידע על זיהוי פרויקטים זמין במאמר זיהוי פרויקטים.
    • LOCATION עם האזור של המכונה.

    מופיע מסך OAuth שבו מתבקש שם הספק.

  2. מזינים את השם של ספק הזהויות של כוח העבודה בפורמט הבא:

    locations/global/workforcePools/POOL_ID/providers/PROVIDER_ID
    

    מחליפים את מה שכתוב בשדות הבאים:

    • POOL_ID במזהה מאגר איחוד הזהויות של כוח העבודה.
    • PROVIDER_ID עם מזהה הספק של איחוד שירותי אימות הזהות של כוח העבודה.

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

    תתבקשו להיכנס באמצעות פרטי הכניסה של הספק.

  3. נכנסים באמצעות פרטי הכניסה של הספק.

  4. ייפתח ממשק האינטרנט של Secure Source Manager. מכאן אפשר ליצור מאגרי מידע, בעיות ובקשות משיכה ולצפות בהם.

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

יצירת הגדרות התחברות ב-CLI של gcloud

כדי לבצע אימות באמצעות פרטי הכניסה של מאגר הזהויות של כוח העבודה למופע של Secure Source Manager באמצעות פקודות ה-CLI של gcloud או פקודות Git, צריך ליצור הגדרת כניסה עם מאגר הזהויות של כוח העבודה.

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

אחרי האימות, אפשר להשתמש בפקודות Git כדי ליצור אינטראקציה עם מופע Secure Source Manager. כדי להתחיל להשתמש ב-Git, אפשר לעיין במאמר שימוש ב-Git לניהול קוד מקור.

המאמרים הבאים