הצפנת נתונים באמצעות מפתחות הצפנה בניהול הלקוח

במסמך הזה מוסבר איך להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) כדי להצפין ולשלוט בנתונים במנוחה בשירות ענן באמצעות Cloud Key Management Service. ‏CMEK משולב עם התאמה אישית של קוד ב-Gemini Code Assist.

‏Gemini Code Assist לא תומך בשימוש במפתחות של Cloud EKM.

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

במסמך הזה תלמדו:

  • איך יוצרים CMEK
  • מתן הרשאות לחשבון השירות של Gemini Code Assist.
  • יצירת אינדקס למאגר קוד באמצעות CMEK.
  • הסרת הגישה למאגר CMEK.

כברירת מחדל, Gemini for Google Cloud מצפין תוכן של לקוחות במנוחה. Gemini מטפלת בהצפנה בשבילכם, בלי שתצטרכו לבצע פעולות נוספות. האפשרות הזו נקראת הצפנת ברירת המחדל של Google.

אם אתם רוצים לשלוט במפתחות ההצפנה, תוכלו להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) ב-Cloud KMS עם שירותים משולבים של CMEK, כולל Gemini. השימוש במפתחות של Cloud KMS מאפשר לכם לשלוט ברמת ההגנה שלהם, במיקום שלהם, בלוח הזמנים של הרוטציה, בהרשאות השימוש והגישה ובגבולות הקריפטוגרפיים שלהם. באמצעות Cloud KMS תוכלו גם להציג יומני ביקורת ולשלוט במחזורי החיים של המפתחות. במקום ש-Google תהיה הבעלים של מפתחות הצפנת המפתחות (KEK) הסימטריים שמגינים על הנתונים שלכם, אתם שולטים במפתחות האלה ומנהלים אותם ב-Cloud KMS.

אחרי שמגדירים את המשאבים באמצעות מפתחות CMEK, חוויית הגישה למשאבים של Gemini דומה לזו של שימוש בהצפנת ברירת המחדל של Google. מידע נוסף על אפשרויות ההצפנה זמין במאמר מפתחות הצפנה בניהול הלקוח (CMEK).

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

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

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

    gcloud components update
    

יצירת CMEK והענקת הרשאות

כדי ליצור מפתח CMEK ולהקצות לחשבון השירות של Gemini Code Assist הרשאות על המפתח, מבצעים את המשימות הבאות:

  1. בפרויקט Google Cloud שבו רוצים לנהל את המפתחות, מבצעים את הפעולות הבאות:

    1. מפעילים את Cloud Key Management Service API.

    2. אפשר ליצור אוסף מפתחות ומפתח באמצעות אחת מהאפשרויות הבאות:

  2. מקצים לחשבון השירות של Gemini Code Assist את תפקיד ה-IAM CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter). מעניקים את ההרשאה הזו למפתח שיצרתם.

    המסוף

    1. עוברים אל ניהול מפתחות.

      כניסה לדף Key management

    2. בוחרים את המפתח שיצרתם.

    3. מעניקים גישה לחשבון השירות של Gemini Code Assist:

      1. לוחצים על Add principal.
      2. מוסיפים את חשבון השירות של Gemini Code Assist. חשבון השירות הוא service-PROJECT_NUMBER@gcp-sa-cloudaicompanions.iam.gserviceaccount.com, כאשר PROJECT_NUMBER הוא מספר הפרויקט של הפרויקט Google Cloud שבו פועל Gemini Code Assist.
      3. בקטע Select a role, בוחרים באפשרות Cloud KMS > Cloud KMS CryptoKey Encrypter/Decrypter.
      4. לוחצים על שמירה.
    4. חוזרים על השלב הקודם כדי להעניק גישה לחשבון שיוצר את האינדקס של מאגר הקוד באמצעות CMEK.

    5. חוזרים לדף Key management ובוחרים שוב את המפתח.

    6. בוחרים באפשרות הצגת חלונית המידע. התפקידים אמורים להופיע בעמודה תפקיד/חבר.

    gcloud

    1. כדי להעניק גישה לחשבון השירות של Gemini Code Assist, בסביבת מעטפת משתמשים ב-פקודה kms keys add-iam-policy-binding:

      gcloud kms keys add-iam-policy-binding KEY_NAME \
          --project=PROJECT_ID \
          --location=LOCATION \
          --keyring=KEYRING_NAME \
          --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-cloudaicompanion.iam.gserviceaccount.com" \
          --role="roles/cloudkms.cryptoKeyEncrypterDecrypter"
      

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

      • KEY_NAME: שם המפתח.
      • PROJECT_ID: המזהה של הפרויקט שמכיל את המפתח.
      • LOCATION: מיקום המפתח.
      • KEYRING_NAME: שם אוסף המפתחות.
      • PROJECT_NUMBER: מספר הפרויקט של הפרויקט ב- Google Cloud שבו הופעל Gemini Code Assist.
    2. חוזרים על השלב הקודם כדי להעניק גישה לחשבון שיוצר את האינדקס של מאגר הקוד באמצעות CMEK.

    מידע נוסף על הפקודה הזו זמין במסמכי העזרה של gcloud kms keys add-iam-policy-binding.

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

יצירת אינדקס למאגר קוד באמצעות CMEK

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

gcloud

משתמשים בפקודה gemini code-repository-indexes create:

gcloud gemini code-repository-indexes create CODE_REPOSITORY_INDEX_NAME \
    --location=LOCATION \
    --kms-key="projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME"

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

  • CODE_REPOSITORY_INDEX_NAME: השם של האינדקס החדש של מאגר הקוד שיצרתם.
  • LOCATION: מיקום המפתח.
  • KEY_PROJECT_ID: מזהה הפרויקט של המפתח.
  • KEYRING_NAME: שם אוסף המפתחות.
  • KEY_NAME: שם המפתח.

API

  1. יוצרים קובץ JSON שמכיל את הפרטים הבאים:

      {
        "kmsKey": "projects/KEY_PROJECT_ID/locations/KEY_LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME"
      }
    

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

    • KEY_PROJECT_ID: מזהה הפרויקט של המפתח
    • KEY_LOCATION: מיקום המפתח
    • KEYRING_NAME: שם אוסף המפתחות
    • KEY_NAME: שם המפתח
  2. משתמשים בפקודה cURL כדי להפעיל את השיטה projects.locations.codeRepositoryIndexes.create:

    curl -X POST --data-binary @JSON_FILE_NAME \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://cloudaicompanion.googleapis.com/v1/projects/PROJECT_ID/locations/KEY_LOCATION/codeRepositoryIndexes?codeRepositoryIndexId=CODE_REPOSITORY_INDEX_NAME"

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

    • JSON_FILE_NAME: הנתיב לקובץ ה-JSON שיצרתם בשלב הקודם.
    • PROJECT_ID: המזהה של הפרויקט שבו רוצים ליצור את המאגר.
    • KEY_LOCATION: המיקום שבו רוצים ליצור את המאגר, שצריך להתאים למיקום שבו נמצא ה-CMEK.
    • CODE_REPOSITORY_INDEX_NAME: השם של המדד החדש של מאגר הקוד שיצרתם. לדוגמה, zg-btf-0001.

התשובה מחזירה קבוצה של רשומות ביומן.

הסרת גישה למאגר CMEK

יש כמה דרכים להסיר את הגישה למאגר מוצפן באמצעות CMEK:

מומלץ לבטל את ההרשאות מחשבון השירות של Gemini Code Assist לפני השבתה או השמדה של מפתח. השינויים בהרשאות מתבצעים תוך שניות, כך שאפשר לראות את ההשפעות של השבתת מפתח או השמדתו.