יצירת מופע של 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 serviceusage.services.enable permission. 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.

    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 serviceusage.services.enable permission. 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.

    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.

אחרי שיוצרים את סוכן השירות של Secure Source Manager, צריך להקצות את התפקיד Secure Source Manager Service Agent ‏(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
    

    ‫Where projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e is the 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
    }
    

    ‫Where projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e is the 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. אתם יכולים ליצור מאגרי קוד ולצפות בהם ובכל הבעיות ובקשות המשיכה המשויכות להם דרך ממשק האינטרנט.

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