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

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

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

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

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

מידע נוסף על שימוש ב-CMEK ב-Colab Enterprise זמין בדף בנושא CMEK ב-Colab Enterprise. מידע נוסף על השימוש ב-CMEK במופעים של Gemini Enterprise Agent Platform Workbench זמין בדף בנושא CMEK במופעים של Agent Platform Workbench.

CMEK for Gemini Enterprise Agent Platform resources

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

היתרונות של CMEK

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

כשמריצים משימת אימון AutoML או מותאמת אישית, הקוד פועל במכונה וירטואלית (VM) אחת או יותר שמנוהלות על ידי Gemini Enterprise Agent Platform. כשמפעילים CMEK למשאבים של Gemini Enterprise Agent Platform, המפתח שאתם מציינים, ולא מפתח שמנוהל על ידי Google, משמש להצפנת נתונים בדיסקים של מכונות וירטואליות (VM) שמוגדרות להפעלה אוטומטית. מפתח ה-CMEK מצפין את סוגי הנתונים הבאים:

  • עותק של הקוד במכונות הווירטואליות.
  • כל הנתונים שנטענים על ידי הקוד.
  • כל הנתונים הזמניים שנשמרים בדיסק המקומי על ידי הקוד.
  • מודלים שאומנו באמצעות AutoML.
  • קובצי מדיה (נתונים) שהועלו למערכי נתונים של מדיה.

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

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

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

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

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

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

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

מפתחות חיצוניים

אתם יכולים להשתמש ב-Cloud External Key Manager‏ (Cloud EKM) כדי ליצור מפתחות חיצוניים שאתם מנהלים, ולהצפין איתם נתונים בתוך Google Cloud.

כשמשתמשים במפתח Cloud EKM, ל-Google אין שליטה על הזמינות של המפתח שמנוהל חיצונית. אם תבקשו גישה למשאב שמוצפן באמצעות מפתח שמנוהל חיצונית, והמפתח לא יהיה זמין, Gemini Enterprise Agent Platform ידחה את הבקשה. יכול להיות שיעברו עד 10 דקות מרגע שהמפתח יהיה זמין ועד שתוכלו לגשת למשאב.

מידע נוסף על שיקולים לשימוש במפתחות חיצוניים זמין במאמר בנושא Cloud External Key Manager.

שימוש ב-CMEK עם מוצרים אחרים Google Cloud

הגדרת CMEK למשאבים של Gemini Enterprise Agent Platform לא מגדירה באופן אוטומטי CMEK למוצרים אחרים של Google Cloud שבהם אתם משתמשים יחד עם Gemini Enterprise Agent Platform. כדי להשתמש ב-CMEK להצפנת נתונים בGoogle Cloud מוצרים אחרים, נדרש ביצוע הגדרה נוספת. לדוגמה:

משאבים שנתמכים כרגע על ידי CMEK

אלה המשאבים הנוכחיים של Gemini Enterprise Agent Platform שמכוסים על ידי CMEK. גם התמיכה ב-CMEK בתכונות בגרסת טרום-השקה (Preview) היא בסטטוס Preview.

משאב חומר הלימוד מוצפן קישורים למאמרי עזרה
מערך נתונים
  • כל הנתונים המיובאים של המשתמש (לדוגמה, תוכן טקסט) עבור DataItems ו-Annotations.
  • תוכן שנוצר על ידי משתמשים, כמו AnnotationSpecs, ColumnSpecs.
מודל
  • קבצים של מודלים שהועלו.
  • תוצאות ההערכה של המודל שאומן.
נקודת קצה (endpoint)
  • כל קובצי המודל שמשמשים לפריסת המודל בנקודת הקצה. הנתונים האלה לא כוללים נתונים בזיכרון, אבל המודל יבוטל אוטומטית אם המפתח מושבת.
CustomJob
  • עותק של הקוד במכונות הווירטואליות שמשמשות להפעלת הפעולה.
  • כל הנתונים שנטענים על ידי הקוד.
  • נתונים זמניים שנשמרים בדיסק המקומי על ידי הקוד.
HyperparameterTuningJob
  • עותק של הקוד במכונות הווירטואליות שמשמשות להפעלת הפעולה.
  • כל הנתונים שנטענים על ידי הקוד.
  • נתונים זמניים שנשמרים בדיסק המקומי על ידי הקוד.
TrainingPipeline
  • עותק של הקוד במכונות הווירטואליות שמשמשות להפעלת הפעולה.
  • כל הנתונים שנטענים על ידי הקוד.
  • נתונים זמניים שנשמרים בדיסק המקומי על ידי הקוד.
  • מודלים שעברו אימון באמצעות AutoML.
BatchPredictionJob (לא כולל BatchPrediction של תמונות AutoML)
  • כל הקבצים הזמניים (לדוגמה, קבצי מודלים, יומנים, דיסקים של מכונות וירטואליות) שנעשה בהם שימוש במשימה כדי להמשיך את משימת החיזוי באצווה.
  • אם התוצאות של BatchPrediction מאוחסנות ביעד שהמשתמש סיפק, המערכת תפעל לפי הגדרת ההצפנה של ערך ברירת המחדל. אחרת, הוא יוצפן גם באמצעות CMEK.
ModelDeploymentMonitoringJob
  • כל הקבצים הזמניים (לדוגמה, קבצים של מערך נתונים לאימון, יומנים, דיסקים של מכונות וירטואליות) שמשמשים בעבודה לעיבוד של משימת המעקב אחר פריסת המודל.
  • כל הנתונים שמשמשים לזיהוי חריגות במעקב.
  • אם המפתח מושבת, עבודת המעקב אחר פריסת המודל תושהה.
PipelineJob
  • משימת צינור עיבוד הנתונים וכל משאבי המשנה שלה.
MetadataStore
  • כל התוכן במאגר המטא-נתונים.
TensorBoard
  • כל הנתונים מיומני TensorBoard שהועלו, כולל נתונים סקלריים, היסטוגרמות, הגדרות גרפים, תמונות וטקסט.
Featurestore
  • מאגר התכונות וכל התוכן במאגר התכונות.
Index
  • כל קובצי הנתונים שמשמשים לאינדקסים של חיפוש וקטורי מאוחסנים ב-Cloud Storage, ב-Pub/Sub ובאחסון פנימי. צריך ליצור את Index ואת IndexEndpoint עם אותו מפתח.
IndexEndpoint
  • כל קובצי הנתונים שמשמשים לאינדקסים של חיפוש וקטורי מאוחסנים ב-Cloud Storage, ב-Pub/Sub ובאחסון פנימי. צריך ליצור את Index ואת IndexEndpoint עם אותו מפתח.
סביבת זמן ריצה ב-Colab Enterprise
  • דיסק האתחול ודיסקי הנתונים של המכונה הווירטואלית של זמן הריצה
נוטבוק של Colab Enterprise
  • קובץ המחברת והתגובות שלו
Agent Runtime
  • עותק של קובצי המקור של הסוכן, כולל קוד, סקריפטים וכל קובץ תלות
  • קובצי האימג' של הקונטיינרים שנבנו מקובצי המקור של הסוכן
  • המופעים הפעילים שנפרסו מקובצי האימג' של הקונטיינר של הסוכן

תמיכה ב-CMEK בצינורות של כוונון AI גנרטיבי

תמיכה ב-CMEK ניתנת בצינור ההתאמה של הדגמים הבאים:

  • BERT
  • T5
  • image-generation (GPU)

מגבלות

אין תמיכה ב-CMEK במוצרים הבאים:

  • חיזוי באצווה של מודל תמונות AutoML (BatchPredictionJob)
  • כוונון TPU
  • Memory Bank של Agent Platform או סשנים של Agent Platform שהוגדרו לשימוש בנקודת הקצה הגלובלית. ב-Cloud KMS נדרש שמפתחות ההצפנה יהיו בתוך גבול קבוע של מיקום גיאוגרפי של נתונים. מכיוון שלאזור הגלובלי אין גבול גיאוגרפי פיזי, הוא לא יכול להצפין משאבים אזוריים או רב-אזוריים שממוקמים באזור מסוים.

הגדרת CMEK למשאבים

בקטעים הבאים מוסבר איך ליצור מאגד מפתחות ומפתח ב-Cloud Key Management Service, להעניק הרשאות הצפנה ופענוח של Agent Platform למפתח וליצור משאבים שמשתמשים ב-CMEK.

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

במדריך הזה אנחנו מניחים שאתם משתמשים בשני פרויקטים נפרדים Google Cloud כדי להגדיר CMEK לנתוני Agent Platform:

  • פרויקט לניהול מפתח ההצפנה (נקרא 'פרויקט Cloud KMS').
  • פרויקט לגישה לנתונים או לפלט של Agent Platform ב-Cloud Storage, ולאינטראקציה עם מוצרים אחרים של Google Cloudשאתם צריכים לתרחיש השימוש שלכם (נקרא 'פרויקט AI Platform').

ההגדרה המומלצת הזו תומכת בהפרדה בין תפקידים.

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

הגדרת הפרויקט ב-Cloud KMS

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  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. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud KMS 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

  5. 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

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Cloud KMS 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

הגדרת פרויקט AI Platform

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  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. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Agent Platform 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

  5. 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

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Agent Platform 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

הגדרת Google Cloud CLI

חלק מהשלבים במדריך הזה מחייבים שימוש ב-CLI של gcloud, ואחרים לא.

התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

gcloud init

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

יצירה של אוסף מפתחות ומפתח

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

חשוב ליצור את אוסף המפתחות והמפתח בפרויקט Cloud KMS.

מתן הרשאות ל-Agent Platform

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

service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com

כדי למצוא את חשבון השירות המתאים לפרויקט AI Platform, עוברים לדף IAM במסוף Google Cloud ומוצאים את החבר שתואם לפורמט של כתובת האימייל הזו, כשמספר הפרויקט של פרויקט AI Platform מחליף את המשתנה AI_PLATFORM_PROJECT_NUMBER. לחשבון השירות יש גם את השם Agent Platform Service Agent.

מעבר לדף IAM

רושמים את כתובת האימייל של חשבון השירות הזה ומשתמשים בה בשלבים הבאים כדי לתת לו הרשאה להצפין ולפענח נתונים באמצעות המפתח. אפשר להעניק הרשאה באמצעות מסוף Google Cloud או באמצעות Google Cloud CLI:

מסוף Google Cloud

  1. במסוף Google Cloud , לוחצים על Security ובוחרים באפשרות Key Management. תועברו לדף Cryptographic Keys ותצטרכו לבחור את פרויקט Cloud KMS.

    כניסה לדף Cryptographic Keys

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

  3. מסמנים את תיבת הסימון של המפתח שיצרתם בקטע הקודם של המדריך הזה. אם חלונית המידע עם שם המפתח לא פתוחה, לוחצים על Show info panel.

  4. בחלונית המידע, לוחצים על הוספת חברים כדי לפתוח את תיבת הדו-שיח הוספת חברים לKEY_NAME. בתיבת הדו-שיח הזו, מבצעים את הפעולות הבאות:

    1. בתיבה New members (משתמשים חדשים), מזינים את כתובת האימייל בחשבון השירות שרשמתם לעצמכם בקטע הקודם: service-AI_PLATFORM_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
    2. בתפריט הנפתח Select a role, לוחצים על Cloud KMS ואז בוחרים בתפקיד Cloud KMS CryptoKey Encrypter/Decrypter.

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

gcloud

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

gcloud kms keys add-iam-policy-binding KEY_NAME \
  --keyring=KEY_RING_NAME \
  --location=REGION \
  --project=KMS_PROJECT_ID \
  --member=serviceAccount:service-AI_PLATFORM_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com \
  --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

בפקודה הזו, מחליפים את ה-placeholder הבאים:

  • KEY_NAME: השם של המפתח שיצרתם בקטע הקודם של המדריך הזה.
  • KEY_RING_NAME: אוסף המפתחות שיצרתם בקטע הקודם במדריך הזה.
  • REGION: האזור שבו יצרתם את אוסף המפתחות.
  • KMS_PROJECT_ID: מזהה הפרויקט ב-Cloud KMS.
  • AI_PLATFORM_PROJECT_NUMBER: מספר הפרויקט שלכם ב-AI Platform, שרשמתם בקטע הקודם כחלק מכתובת האימייל בחשבון שירות.

יצירת משאבים באמצעות מפתח KMS

כשיוצרים משאב שתומך ב-CMEK, אפשר לציין את המפתח כאחד מפרמטרי היצירה.

המסוף

כשיוצרים משאב חדש עם תמיכה ב-CMEK בקטע Agent Platform בGoogle Cloud מסוף, אפשר לבחור את המפתח בקטע האפשרויות הכלליות או המתקדמות:

בחירת מפתח הצפנה לקטע של מקור מידע

‏REST ושורת הפקודה

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

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

 {
   "displayName": DATASET_NAME,
   "metadataSchemaUri": METADATA_URI,
   "encryptionSpec": {
     "kmsKeyName": "projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME"
   }
 }

Java

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

Node.js

כשיוצרים משאב נתמך, מגדירים את הפרמטר encryptionSpec כך שיצביע על משאב המפתח. מידע נוסף זמין בתיעוד של ספריית הלקוח של Agent Platform ל-Node.js.

Python

כשיוצרים משאב נתמך, מגדירים את הפרמטר encryption_spec כך שיצביע על משאב המפתח. מידע נוסף זמין במאמר בנושא Python Client for Cloud AI Platform.

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