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

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

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

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

נתונים מוגנים

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

מיקומים ותכונות נתמכים

התכונה CMEK זמינה בכל המיקומים של Agent Assist ובכל התכונות של Agent Assist במיקומים נתמכים, כולל תכונות של AI גנרטיבי.

מגבלות

הצפנה באמצעות מפתח שנוהל על ידי הלקוח לא זמינה לתכונות שמושבתות במיקומים של Agent Assist ולתשובות חכמות.

יצירת מפתחות

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

  • חשוב לבחור את המיקום שבו אתם משתמשים לנתוני Agent Assist, אחרת הבקשות ייכשלו.

הפעלת CMEK ב-Agent Assist

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

דרישות מוקדמות

  1. יוצרים את חשבון השירות של CCAI CMEK לפרויקט באמצעות Google Cloud CLI. מידע נוסף זמין במאמר gcloud services identity documentation.

    gcloud beta services identity create --service=dialogflow.googleapis.com --project=PROJECT_ID

    חשבון השירות ייווצר. הוא לא יוחזר בתשובת היצירה, אבל יהיה בפורמט הבא:

    service-PROJECT_NUMBER@gcp-sa-ccai-cmek.iam.gserviceaccount.com
  2. כדי לוודא שלשירות יש הרשאות להצפנה ולפענוח באמצעות המפתח שלכם, צריך להעניק לחשבון השירות של CCAI CMEK את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter.

    gcloud kms keys add-iam-policy-binding KMS_KEY_ID \
    --project=PROJECT_ID \
    --location=LOCATION_ID \
    --keyring=KMS_KEY_RING \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-ccai-cmek.iam.gserviceaccount.com \
    --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

הגדרת מפתח למיקום של Agent Assist

  1. כדי להגדיר את המפתח, צריך להשתמש ב-InitializeEncryptionSpec API.

    תצטרכו לספק את המשתנים הבאים:

    • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
    • LOCATION_ID: המיקום שבחרתם להפעלת CMEK ב-Agent Assist.
    • KMS_KEY_RING: אוסף המפתחות שבו נוצר מפתח ה-KMS. (המיקום באוסף המפתחות, כמו projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING, צריך להיות זהה למיקום שבו מפעילים את CMEK).
    • KMS_KEY_ID: השם של מפתח ה-KMS שישמש להצפנה ולפענוח של נתוני Agent Assist במיקום שנבחר.

    לדוגמה:

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json; charset=utf-8" \
        -d "{ encryption_spec: { kms_key: 'projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING/cryptoKeys/KMS_KEY_ID' } }" \
        "https://LOCATION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/encryptionSpec:initialize"

    אתם אמורים לקבל תגובת JSON שדומה לזו:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATION_ID"
    }
  2. משתמשים ב-GetOperation API כדי לבדוק את התוצאה של הפעולה הממושכת.

    לדוגמה:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATION_ID"

בדיקת הגדרות CMEK

משתמשים ב-API‏ GetEncryptionSpec כדי לבדוק את מפתח ההצפנה שהוגדר למיקום.

לדוגמה:

    curl -X GET \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://LOCATION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/encryptionSpec"
  

ביטול מפתחות

כדי לבטל את הגישה של Agent Assist למפתח, אפשר להשבית את הגרסה של מפתח ה-KMS או להסיר את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter של חשבון השירות ממפתח ה-KMS.

אחרי ביטול המפתח, לא תהיה יותר גישה לנתונים המוצפנים ב-Agent Assist, והשירות לא יפעל עד שההרשאות של המפתח יוחזרו.