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

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

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

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

כשמפתח CMEK רשום, Gemini Enterprise קורא ל-Cloud KMS מדי פעם כדי לשמור על מופע מבודד מבחינה לוגית של הנתונים שלכם. זה קורה גם אם הגדרת ה-CMEK לא מוגדרת כברירת מחדל ואין אפליקציות או מחברי נתונים שמשתמשים בה. השימוש נובע מההגדרה ומההפעלה של המכונה, ולא מנפח הנתונים או ממספר המשתמשים שניגשים אליה. ראו המחירון של Cloud Key Management Service.

כדי להפסיק לחלוטין את השימוש ב-Cloud KMS, צריך לבטל את הרישום של מפתח Cloud KMS, להשבית את המפתח או לבטל את ההרשאות שלו. השבתת Gemini Enterprise API לא מוחקת את CmekConfig או את הנתונים שלכם, ואתם ממשיכים להיות מחויבים על השימוש ב-CMEK.

המגבלות של Cloud KMS ב-Gemini Enterprise

המגבלות הבאות חלות על מפתחות CMEK ‏ (Cloud KMS) ב-Gemini Enterprise:

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

    המגבלות הבאות חלות על EKM או HSM עם CMEK:

    • המכסה של EKM ו-HSM לקריאות הצפנה ופענוח צריכה להיות לפחות 1,000 QPM של מרווח. במאמר בדיקת המכסות של Cloud KMS מוסבר איך בודקים את המכסות.

    • אם משתמשים ב-EKM, המפתח צריך להיות נגיש במשך יותר מ-90% מכל חלון זמן שארוך מ-30 שניות. אם המפתח לא נגיש במשך פרק הזמן הזה, יכולה להיות לכך השפעה שלילית על ההוספה לאינדקס ועל עדכניות החיפוש.

    • אם יש בעיות בחיוב, בעיות מתמשכות של חריגה מהמכסה או בעיות מתמשכות של חוסר נגישות במשך יותר מ-12 שעות, השירות משבית באופן אוטומטי את ה-CmekConfig שמשויך למפתח EKM או HSM.

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

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

חשוב לוודא שאתם עומדים בדרישות המוקדמות הבאות:

  • יוצרים מפתח סימטרי של Cloud KMS במספר אזורים. אפשר לקרוא מידע נוסף במאמרים יצירת אוסף מפתחות ויצירת מפתח במסמכי התיעוד של Cloud KMS.

    • מגדירים את תקופת הרוטציה ל-Never (Manual rotation).

    • בשדה Location, בוחרים באפשרות Multi-region, ובתפריט הנפתח בוחרים באפשרות europe או us.

  • אם אתם משתמשים במחברים של צד שלישי, צרו שלושה מפתחות סימטריים של Cloud KMS באזור יחיד. במקרים אחרים, המאפיין הזה הוא אופציונלי.

    us single-regions europe single-regions
    us-east1 europe-west1
    us-central1 europe-west4
    us-west1 europe-north1
  • תפקיד ה-IAM של CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) במפתח הוקצה לסוכן השירות של Discovery Engine. כתובת האימייל של חשבון סוכן השירות היא בפורמט הבא: service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.. במאמר הקצאה או ביטול של תפקיד יחיד מוסבר איך מקצים תפקיד לסוכן שירות.

  • תפקיד ה-IAM של CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) במפתח הוקצה לסוכן השירות של Cloud Storage. אם לא מקצים את התפקיד הזה, ייבוא הנתונים של אפליקציות ומחברי נתונים שמוגנים באמצעות CMEK ייכשל, כי Discovery Engine לא יכול ליצור את הקטגוריה והספרייה הזמניות שמוגנות באמצעות CMEK ונדרשות לייבוא.

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

רישום מפתח Cloud KMS

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

רישום מפתח Cloud KMS במספר אזורים

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

חשוב לוודא ש:

  • האזור לא מוגן כבר באמצעות מפתח. התהליך הבא ייכשל אם כבר רשום מפתח לאזור באמצעות פקודת ה-REST. כדי לבדוק אם יש מפתח פעיל ב-Gemini Enterprise למיקום מסוים, קראו את המאמר הצגת מפתחות Cloud KMS.

התהליך

REST

כדי לרשום מפתח משלכם ל-Gemini Enterprise:

  1. מפעילים את השיטה UpdateCmekConfig עם המפתח שרוצים לרשום.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"kmsKey":"projects/KMS_PROJECT_ID/locations/KMS_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"}' \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=SET_DEFAULT"
    

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

    • ‫KMS_PROJECT_ID: מזהה הפרויקט שמכיל את המפתח. מספר הפרויקט לא יעבוד.
    • KMS_LOCATION: מספר האזורים של המפתח: us או europe.
    • ‫KEY_RING: השם של אוסף המפתחות שמכיל את המפתח.
    • ‫KEY_NAME: השם של המפתח.
    • ‫PROJECT_ID: מזהה הפרויקט שמכיל את האפליקציה או את מחבר הנתונים.
    • ‫LOCATION: האזור המרובה של האפליקציה או מחבר הנתונים: us או eu.
    • ‫CMEK_CONFIG_ID: מגדירים מזהה ייחודי למשאב CmekConfig, לדוגמה default_cmek_config.
    • ‫SET_DEFAULT: מגדירים את הערך true כדי להשתמש במפתח כמפתח ברירת המחדל לאפליקציות ולמחברי נתונים שייווצרו בהמשך במספר האזורים.

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

    כדי לעקוב אחרי פעולת הרישום, אתם יכולים לתעד את הערך של name שהוחזר על ידי ה-method, ולפעול לפי ההוראות במאמר קבלת פרטים על פעולה ממושכת.

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

  3. יוצרים את האפליקציה. להוראות, ראו יצירת אפליקציה ומידע על אפליקציות ומאגרי נתונים.

המסוף

התהליך

כדי לרשום מפתח משלכם ל-Gemini Enterprise, בצעו את השלבים הבאים:

  1. נכנסים לדף Gemini Enterprise במסוף Google Cloud .

    Gemini Enterprise

  2. לוחצים על Settings ובוחרים בכרטיסייה CMEK.

  3. לוחצים על Add key במיקום us או eu.

    לוחצים על הוספת מפתח למיקום.
    לוחצים על "הוספת מפתח".
    1. לוחצים על התפריט הנפתח Select a Cloud KMS key ובוחרים את המפתח.

      • אם המפתח נמצא בפרויקט אחר, לוחצים על Switch project, לוחצים על שם הפרויקט, מקלידים את שם המפתח שיצרתם ובוחרים את המפתח.

      • אם אתם יודעים את שם המשאב של המפתח, לוחצים על Enter manually, מדביקים את שם המשאב של המפתח ולוחצים על Save.

    2. לוחצים על אישור > שמירה.

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

  5. יוצרים את האפליקציה. להוראות, ראו יצירת אפליקציה ומידע על אפליקציות ומאגרי נתונים.

הפעולה הזו רושמת את המפתח ויוצרת CmekResource בשם default_cmek_config.

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

רישום מפתחות Cloud KMS באזור יחיד למחברים של צד שלישי

REST

כדי לרשום מפתח משלכם ל-Gemini Enterprise:

  1. מפעילים את השיטה UpdateCmekConfig עם המפתח שרוצים לרשום.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"kmsKey":"projects/KMS_PROJECT_ID/locations/KMS_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"}' \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=SET_DEFAULT"
    

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

    • ‫KMS_PROJECT_ID: מזהה הפרויקט שמכיל את המפתח. מספר הפרויקט לא יעבוד.
    • ‫KMS_LOCATION: האזור של המפתח: us או europe.
    • ‫KEY_RING: השם של אוסף המפתחות שמכיל את המפתח.
    • ‫KEY_NAME: השם של המפתח.
    • ‫PROJECT_ID: מזהה הפרויקט שמכיל את האפליקציה או את מחבר הנתונים.
    • ‫LOCATION: האזור המרובה של האפליקציה או מחבר הנתונים: us או eu.
    • ‫CMEK_CONFIG_ID: מגדירים מזהה ייחודי למשאב CmekConfig, לדוגמה default_cmek_config.
    • ‫SET_DEFAULT: צריך להגדיר את הערך true כדי להשתמש במפתח כמפתח ברירת המחדל לאפליקציות ולמחברי נתונים שייווצרו בהמשך במספר האזורים.

  2. אופציונלי: מתעדים את הערך של name שמוחזר על ידי ה-method, ופועלים לפי ההוראות במאמר קבלת פרטים על פעולה ממושכת כדי לראות מתי הפעולה הושלמה.

    בדרך כלל, רישום של מפתח נמשך כמה דקות.

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

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

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "kmsKey":"projects/KMS_PROJECT_ID/locations/KMS_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME",
      "singleRegionKeys": [ \
        {"kmsKey": "projects/KMS_PROJECT_ID/locations/REGION_1/keyRings/KEY_RING_1/cryptoKeys/KEY_NAME_1"}, \
        {"kmsKey": "projects/KMS_PROJECT_ID/locations/REGION_2/keyRings/KEY_RING_2/cryptoKeys/KEY_NAME_2"}, \
        {"kmsKey": "projects/KMS_PROJECT_ID/locations/REGION_3/keyRings/KEY_RING_3/cryptoKeys/KEY_NAME_3"} \
      ] \
    }' \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=SET_DEFAULT"
    

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

    • ‫KMS_PROJECT_ID: מזהה הפרויקט שמכיל את המפתח. מספר הפרויקט לא יעבוד.

    • מגדירים את הערכים של REGION:

      • ‫REGION_1: למיקום eu, מגדירים את הערך europe-west1, ולמיקום us, מגדירים את הערך us-east1.

      • ‫REGION_2: למיקום eu, מגדירים את הערך europe-west4, ולמיקום us, מגדירים את הערך us-central1.

      • ‫REGION_3: למיקום eu, מגדירים את הערך europe-north1, ולמיקום us, מגדירים את הערך us-west1.

    • ‫KEY_RING: השם של אוסף המפתחות שמכיל את המפתח.

    • ‫KEY_NAME: השם של המפתח במספר אזורים.

    • ‫LOCATION: האזור של האפליקציה או של מחבר הנתונים: us או eu.

    • ‫PROJECT_ID: מזהה הפרויקט שמכיל את האפליקציה או את מחבר הנתונים.

    • ‫CMEK_CONFIG_ID: המזהה של המשאב CmekConfig. משתמשים באותו ערך כמו בשלב 1, לדוגמה, default_cmek_config.

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

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

  5. יוצרים את האפליקציה. להוראות, ראו יצירת אפליקציה ומידע על אפליקציות ומאגרי נתונים.

המסוף

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

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

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

התהליך

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

  1. נכנסים לדף Gemini Enterprise במסוף Google Cloud .

    Gemini Enterprise

  2. לוחצים על Settings ובוחרים בכרטיסייה CMEK.

  3. לוחצים על Add key למיקום בארה"ב או באיחוד האירופי.

    לוחצים על הוספת מפתח למיקום.
    לוחצים על "הוספת מפתח".
    1. לוחצים על התפריט הנפתח Select a cloud kms key ובוחרים את המפתח.

      • אם המפתח נמצא בפרויקט אחר, לוחצים על Switch project, לוחצים על שם הפרויקט, מקלידים את שם המפתח שיצרתם ובוחרים את המפתח.

      • אם אתם יודעים את שם המשאב של המפתח, לוחצים על Enter manually, מדביקים את שם המשאב של המפתח ולוחצים על Save.

    2. לוחצים על אישור > שמירה.

      המפתח נרשם ונוצר CmekResource בשם default_cmek_config.

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

    לוחצים על "הגדרת מפתחות לאזור יחיד" ועל המפתחות הספציפיים למיקום.
    לוחצים על "הגדרת מפתחות לאזור יחיד".
    1. לוחצים על התפריט הנפתח Select a cloud kms key ובוחרים את המפתח לכל אזור.

      • אם המפתח נמצא בפרויקט אחר, לוחצים על Switch project, לוחצים על שם הפרויקט, מקלידים את שם המפתח שיצרתם ובוחרים את המפתח.

      • אם אתם יודעים את שם המשאב של המפתח, לוחצים על Enter manually, מדביקים את שם המשאב של המפתח ולוחצים על Save.

    2. לוחצים על Save.

      כך המפתחות לאזור יחיד נרשמים ב-CmekResource שנקרא default_cmek_config.

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

  6. יוצרים את האפליקציה. להוראות, ראו יצירת אפליקציה ומידע על אפליקציות ומאגרי נתונים.

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

הצגת מפתחות Cloud KMS

כדי לראות מפתח רשום ל-Gemini Enterprise, מבצעים אחת מהפעולות הבאות:

  • אם יש לכם את שם המשאב CmekConfig, אתם יכולים להפעיל את ה-method‏ GetCmekConfig:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID"
    

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

    • ‫LOCATION: האזור המרובה של האפליקציה או מחבר הנתונים: us או eu.
    • ‫PROJECT_ID: מזהה הפרויקט שמכיל את הנתונים.
    • ‫CMEK_CONFIG_ID: המזהה של המשאב CmekConfig. אם רשמתם את המפתח באמצעות המסוף, המזהה הוא default_cmek_config.

    דוגמה לקריאה ולתגובה של curl:

    $ curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config"
    
    { "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config", "kmsKey": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key", "kmsKeyVersion": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key/cryptoKeyVersions/2", "state": "ACTIVE", "isDefault": true, "lastRotationTimestampMicros": "1788220800000000" }

  • אם אין לכם את שם המשאב של CmekConfig, הפעילו את ה-method‏ ListCmekConfigs:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs"
    

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

    • ‫LOCATION: האזור של האפליקציה או של מחבר הנתונים: us או eu.
    • ‫PROJECT_ID: מזהה הפרויקט שמכיל את הנתונים.

    דוגמה לקריאה ולתגובה של curl:

    $ curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs"
    
    { "cmek_configs": [ { "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config", "kmsKey": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key", "kmsKeyVersion": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key/cryptoKeyVersions/2", "state": "ACTIVE", "isDefault": true, "lastRotationTimestampMicros": "1788220800000000" } ] }

איך מוודאים שמפתח Cloud KMS מוכן לשימוש

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

  1. לראות את מפתחות Cloud KMS שרשומים. איך רואים את המפתחות של Cloud KMS?

  2. בודקים את הפלט של הפקודה. ה-CmekConfig מוכן לשימוש אם כל הערכים הבאים מופיעים בפלט:

    • "state": "ACTIVE"
    • "isDefault": true

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

אפשר גם לבדוק אם מוגדרת הגדרת ברירת מחדל של CMEK (כלומר, "isDefault": true) באמצעות מסוף Google Cloud :

  1. נכנסים לדף Gemini Enterprise במסוף Google Cloud .

  2. לוחצים על Settings ובוחרים בכרטיסייה CMEK.

  3. מוודאים שבסטטוס ההגדרה של המיקום מוצג המפתח הרשום.

ביטול ההגדרה של Cloud KMS שמוגדרת כברירת מחדל

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

כדי לבטל את הגדרת ברירת המחדל, צריך להפעיל את ה-method‏ UpdateCmekConfig עם הערך false ב-set_default:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=false"

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

  • ‫LOCATION: האזור של האפליקציה או של מחבר הנתונים: us או eu.
  • ‫PROJECT_ID: מזהה הפרויקט שמכיל את האפליקציה או את מחבר הנתונים.
  • ‫CMEK_CONFIG_ID: המזהה של המשאב CmekConfig. אם רשמתם את המפתח באמצעות המסוף, המזהה הוא default_cmek_config.

ביטול ההגדרה של ברירת המחדל לא מוחק את CmekConfig או את המפתח, והשימוש ב-Cloud KMS נמשך. כדי להפסיק את השימוש ב-Cloud KMS, צריך לבטל את הרישום של המפתח.

ביטול הרישום של מפתח Cloud KMS

כדי לבטל את הרישום של המפתח ב-Gemini Enterprise:

  1. מפעילים את השיטה DeleteCmekConfig עם שם המשאב של CmekConfig שרוצים לבטל את הרישום שלו.

    curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID"
    

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

    • ‫LOCATION: האזור של האפליקציה או של מחבר הנתונים: us או eu.
    • ‫PROJECT_ID: מזהה הפרויקט שמכיל את האפליקציה או את מחבר הנתונים.
    • ‫CMEK_CONFIG_ID: המזהה של המשאב CmekConfig. אם רשמתם את המפתח באמצעות המסוף, המזהה הוא default_cmek_config.

    דוגמה לקריאה ולתגובה של curl:

    $ curl -X DELETE
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config"
     
    {
     "name": "projects/my-ai-app-project-123/locations/us/operations/delete-cmek-config-56789",
     "metadata": {
      "@type": "type.googleapis.com/google.cloud.discoveryengine.v1.DeleteCmekConfigMetadata"
     }
    }
    

  2. אופציונלי: מתעדים את הערך של name שהוחזר על ידי ה-method, ופועלים לפי ההוראות במאמר קבלת פרטים על פעולה ממושכת כדי לראות מתי הפעולה הושלמה.

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

אם נתוני משתמשי הקצה עדיין מוגנים על ידי CmekConfig, הבקשה תיכשל ותופיע השגיאה FAILED_PRECONDITION, בדומה לשגיאה הבאה:

The default user store is currently protected by this CmekConfig. Please unset
the default CmekConfig (UpdateCmekConfig with set_default set to false) before
trying to delete the CmekConfig.

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

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

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

אימות באמצעות מסוף Google Cloud

  1. כדי לבדוק אם אפליקציה מוגנת באמצעות מפתח:

    1. נכנסים לדף Gemini Enterprise במסוף Google Cloud .

    2. לוחצים על אפליקציות ובוחרים את האפליקציה הרצויה.

    3. לוחצים על אבטחה ומוצאים את הקטע הגדרת CMEK.

    4. מוודאים שבשדה KMS key מוצג המפתח הרשום.

  1. כדי לבדוק אם מחבר נתונים מוגן באמצעות מפתח:

    1. נכנסים לדף Gemini Enterprise במסוף Google Cloud .

    2. לוחצים על מאגרי נתונים ובוחרים את מחבר הנתונים.

    3. מוודאים שבשדה KMS key מוצג המפתח הרשום.

אימות באמצעות CLI או API

  1. כדי לאמת מאגר נתונים:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "x-goog-user-project: PROJECT_ID" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID"
    

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

    • LOCATION: מספר האזורים של הפרויקט: us או eu.
    • ‫PROJECT_ID: מזהה הפרויקט שמכיל את האפליקציה או את מחבר הנתונים.
    • ‫DATA_STORE_ID: המזהה של מאגר הנתונים שמשויך לאפליקציה או למחבר הנתונים.

    דוגמה לקריאת curl:

    curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    -H "Content-Type: application/json"
    -H "x-goog-user-project: my-ai-app-project-123"
    "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/collections/default_collection/dataStores/my-data-store-1"
    

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

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "x-goog-user-project: PROJECT_ID" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/ENGINE_ID"
    

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

    • LOCATION: מספר האזורים של הפרויקט: us או eu.
    • ‫PROJECT_ID: מזהה הפרויקט שמכיל את האפליקציה.
    • ‫ENGINE_ID: מזהה האפליקציה.

    דוגמה לקריאת curl:

    curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    -H "Content-Type: application/json"
    -H "x-goog-user-project: my-ai-app-project-123"
    "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/collections/default_collection/engines/my-app"
    

  3. בודקים את הפלט של הפקודה: אם השדה cmekConfig מופיע בפלט ובשדה kmsKey מוצג המפתח שרשמתם, סימן שהאפליקציה או מחבר הנתונים מוגנים באמצעות המפתח.

    דוגמה לתגובה למאגר נתונים:

    {
     "name": "projects/969795412903/locations/us/collections/default_collection/dataStores/my-data-store-1",
     "displayName": "my-data-store-1",
     "industryVertical": "GENERIC",
     "createTime": "2023-09-05T21:20:21.520552Z",
     "solutionTypes": [
       "SOLUTION_TYPE_SEARCH"
     ],
     "defaultSchemaId": "default_schema",
     "cmekConfig": {
       "name": "projects/969795412903/locations/us/collections/default_collection/dataStores/my-data-store-1/cmekConfigs/default_cmek_config",
       "kmsKey": "projects/my-ai-app-project-123/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"
     }
    }
    

    דוגמה לתגובה לאפליקציה:

    {
      "name": "projects/969795412903/locations/us/collections/default_collection/engines/my-app",
      "displayName": "my-app",
      "dataStoreIds": [
        "my-data-store-1"
      ],
      "solutionType": "SOLUTION_TYPE_SEARCH",
      "searchEngineConfig": {
        "searchTier": "SEARCH_TIER_STANDARD"
      },
      "industryVertical": "GENERIC",
      "appType": "APP_TYPE_INTRANET",
      "cmekConfig": {
       "name": "projects/969795412903/locations/us/collections/default_collection/dataStores/my-data-store-1/cmekConfigs/default_cmek_config",
       "kmsKey": "projects/my-ai-app-project-123/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"
     }
    }
    

נתונים אחרים שמוגנים באמצעות המפתח של Cloud KMS

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

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

נתוני משתמשי קצה והגדרת ברירת המחדל של Cloud KMS

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

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

פעולה ההשפעה על נתוני משתמשי הקצה
הגדרתם את CmekConfig כברירת המחדל (set_default=true) נתוני משתמשי הקצה מוגנים באמצעות המפתח הזה.
הגדרתם CmekConfig אחר כברירת המחדל נתוני משתמשי הקצה מוגנים באמצעות המפתח החדש. נתונים שמאוחסנים במפתח הקודם לא מועברים ואי אפשר לגשת אליהם.
ביטלת את ההגדרה כברירת מחדל (set_default=false) נתוני משתמשי הקצה לא מוגנים יותר באמצעות CMEK, וחוזרים להיות מוגנים באמצעות Google-owned and Google-managed encryption key. נתונים שמאוחסנים במפתח הקודם לא מועברים ואי אפשר לגשת אליהם.

נתוני משתמשי הקצה מוגנים באמצעות ה-CmekConfig שמוגדר כברירת מחדל, ולכן אי אפשר למחוק CmekConfig כל עוד הוא מגן על נתוני משתמשי הקצה. כדי למחוק אותו, קודם צריך לבטל את ההגדרה של Cloud KMS שמשמשת כברירת מחדל. מידע נוסף מופיע במאמר ביטול הרישום של מפתח Cloud KMS.

החלפת מפתחות של Cloud KMS

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

מידע כללי על רוטציית מפתחות מופיע במאמר רוטציית מפתחות במדריך של Cloud KMS.

חשוב: אל תחליפו מפתחות באפליקציות או במחברי נתונים שמשויכים להמלצות או לאפליקציות שצריכות ניתוח נתונים, ואל תחליפו את המפתחות באזור יחיד שמשמשים למחברים של צד שלישי. המגבלות של Cloud KMS ב-Gemini Enterprise

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

  1. יוצרים גרסת מפתח חדשה ומגדירים אותה כגרסה הראשית. הוראות מפורטות זמינות במאמר רוטציה של מפתח במדריך של Cloud KMS.

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

  2. מוודאים ש-Gemini Enterprise זיהה את גרסת המפתח החדשה. כדי לראות את ה-CmekConfig, קראו את המאמר הצגת מפתחות Cloud KMS. בודקים את השדות הבאים בפלט:

    • ‫kmsKeyVersion מציג את גרסת המפתח החדשה.
    • state הוא ACTIVE.
    • lastRotationTimestampMicros מראה מתי התחיל הסבב.
  3. חשוב להשאיר את גרסת המפתח הקודמת פעילה למשך 30 יום לפחות אחרי שגרסת המפתח החדשה מופיעה ב-kmsKeyVersion.

  4. משביתים את גרסת המפתח הקודמת ומוודאים שהכול פועל כמו קודם. למידע נוסף, קראו את המאמר הפעלה והשבתה של גרסאות מפתחות במדריך של Cloud KMS.

  5. אחרי שמוודאים שהשבתת גרסת המפתח הקודמת לא גרמה לבעיות, משמידים אותה. במדריך של Cloud KMS מוסבר איך משמידים ומשחזרים גרסאות של מפתחות.

אם מפתח Cloud KMS מושבת או מבוטל

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

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

פתרון בעיות: השגיאה "לא נמצאו פרויקטים של מפתחות KMS"

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

KMS key projects/[...] not found for location: [...] and project number: [...]

הבעיה: הודעת השגיאה הזו יכולה להטעות. זה לא בהכרח אומר שהמפתח לא קיים. במקום זאת, יכול להיות שהמפתח ב-KMS לא רשום לשימוש ב-Gemini Enterprise במיקום שצוין.

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