יצירת מופע של Secure Source Manager

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

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

כדי ליצור אינסטנס עם VPC Service Controls מופעל, אפשר לעיין במאמר בנושא הגדרה של Secure Source Manager בגבול גזרה של VPC Service Controls.

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

  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

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות ליצירת מופע של Secure Source Manager, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ Secure Source Manager Instance Owner ‏ (roles/securesourcemanager.instanceOwner) בפרויקט Google Cloud .

תפקידים ב-Secure Source Manager לא מופיעים במסוף Google Cloud עד שהם מוקצים לחשבון משתמש. במאמר הענקה וביטול של תפקידים ב-IAM מוסבר איך נותנים תפקיד ב-Secure Source Manager בפעם הראשונה.

הצפנת נתונים

כברירת מחדל, Google Cloud הנתונים במנוחה מוצפנים באופן אוטומטי באמצעות מפתחות הצפנה שמנוהלים על ידי Google. אם יש לכם דרישות ספציפיות בנושא תאימות או רגולציה שקשורות למפתחות שמגנים על הנתונים, אתם יכולים ליצור מופעים של 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אחרת, יצירת המופע תיכשל.

יצירת מופע

כדי ליצור מופע:

‫CLI של gcloud

  1. מריצים את הפקודה הבאה כדי ליצור מכונה. יכול להיות שתתבקשו לבצע אימות ל-CLI של gcloud.

    gcloud source-manager instances create INSTANCE_ID \
        --region=LOCATION \
        --project=PROJECT_ID \
        --kms-key=projects/KEY_PROJECT/locations/KEY_LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY
    

    כאשר:

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

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

    • PROJECT_ID הוא מזהה הפרויקט שבו רוצים ליצור מופע.

    • -kms-key הוא סימון אופציונלי. כוללים את האפשרות הזו אם רוצים להשתמש במפתח הצפנה בניהול הלקוח (CMEK) כדי ליצור את המכונה. מפתחות CMEK צריכים להיות באותו מיקום שבו אתם יוצרים את המכונה, אבל הם יכולים להיות בפרויקט אחר. אם רוצים להשתמש בהצפנה שמוגדרת כברירת מחדל ב-Google, לא צריך לציין את הדגל הזה. אם רוצים להצפין את הנתונים באמצעות CMEK, מחליפים את הערכים הבאים:

      • KEY_PROJECT עם הפרויקט שבו יצרתם את המפתח.
      • KEY_LOCATION עם המיקום של המפתח.
      • KEYRING_NAME בשם של אוסף המפתחות.
      • KEY מחליפים בשם המפתח.

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

    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.

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

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

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

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

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

    • OPERATION_NAME בשם הפעולה מהתגובה של פקודת היצירה.
    • 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/test",
      "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/test",
      "createTime": "2022-11-01T14:31:32.416413630Z",
      "updateTime": "2022-11-01T14:31:32.416413630Z",
      "labels": {
        "ldap": "user",
        "source": "manual"
      },
      "state": "ACTIVE",
      "hostConfig": {
        "html": "test-098765432109.us-central1.sourcemanager.dev",
        "api": "test-098765432109-api.us-central1.sourcemanager.dev",
        "gitHttp": "test-098765432109-git.us-central1.sourcemanager.dev"
      }
    }
    }
    

    כאשר test-098765432109.us-central1.sourcemanager.dev היא כתובת ה-URL של ה-HTML של המכונה.

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

API

  1. מריצים את הפקודה הבאה כדי ליצור מכונה. יכול להיות שתתבקשו לבצע אימות ל-CLI של gcloud.

    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 '{ "kms_key":"projects/KEY_PROJECT/locations/KEY_LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY"}'
    
    

    כאשר:

    • INSTANCE_ID הוא המזהה הקבוע של המופע. המזהה יכול לכלול רק אותיות קטנות, מספרים ומקפים, והוא חייב להתחיל באות.

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

    • PROJECT_ID הוא מזהה הפרויקט שבו רוצים ליצור מופע.

    • -d הוא דגל נתונים אופציונלי של HTTP POST שאפשר להשתמש בו כדי לציין מפתח CMEK להצפנת המופע. אם רוצים להשתמש בהצפנה של Google שמוגדרת כברירת מחדל, לא צריך להוסיף את הדגל הזה. אם רוצים להצפין את הנתונים באמצעות CMEK, מחליפים את הערכים הבאים:

      • KEY_PROJECT עם הפרויקט שבו יצרתם את המפתח.
      • KEY_LOCATION עם המיקום של המפתח.
      • KEYRING_NAME בשם של אוסף המפתחות.
      • KEY מחליפים בשם המפתח.

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

    {
    "name": "projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e",
    "metadata": {
      "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata",
      "createTime": "2022-11-01T14:31:32.420469714Z",
      "target": "projects/my-project/locations/us-central1/instances/test",
      "verb": "create",
      "requestedCancellation": false,
      "apiVersion": "v1"
    },
    "done": false
    }
    

    כאשר projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e הוא OPERATION_NAME.

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

  2. מעתיקים את OPERATION_NAME.

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

    curl \
        -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        https://securesourcemanager.googleapis.com/v1/OPERATION_NAME
    

    כאשר 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": "2022-11-01T14:31:32.420469714Z",
      "endTime": "2022-11-01T14:48:34.140378114Z",
      "target": "projects/my-project/locations/us-central1/instances/test",
      "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/test",
      "createTime": "2022-11-01T14:31:32.416413630Z",
      "updateTime": "2022-11-01T14:31:32.416413630Z",
      "labels": {
        "ldap": "user",
        "source": "manual"
      },
      "state": "ACTIVE",
      "hostConfig": {
        "html": "test-098765432109.us-central1.sourcemanager.dev",
        "api": "test-098765432109-api.us-central1.sourcemanager.dev",
        "gitHttp": "test-098765432109-git.us-central1.sourcemanager.dev"
      }
    }
    }
    

    כאשר test-098765432109.us-central1.sourcemanager.dev היא כתובת ה-URL של ה-HTML של המכונה.

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

Terraform

כדי ליצור מופע של Secure Source Manager באמצעות Terraform, משתמשים במשאב google_secure_source_manager_instance.

גישה למופע

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

כדי ליצור מאגרי מידע במופע, צריך את התפקיד Repo Creator ‏ (roles/securesourcemanager.repoCreator) בפרויקט של המופע ואת התפקיד Instance Repository Creator ‏(roles/securesourcemanager.instanceRepositoryCreator) במופע של Secure Source Manager.

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

    INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.dev

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

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

  2. יופיע מסך OAuth שבו תתבקשו לאשר לאפליקציה sourcemanager.dev גישה לחשבון Google שלכם.

  3. לחצו על הלחצן Allow (אישור).

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

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