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

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

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

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

יש תמיכה ב-CMEK לשימוש במופעים של Filestore ובגיבויים.

אפשרויות CMEK

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

מידע נוסף זמין במאמר בנושא Cloud Key Management Service.

שיבושים בשירות EKM

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

אם Cloud Key Management Service (Cloud KMS) מקבל הודעה מ-External Key Manager (EKM) על כך שלא ניתן להגיע למפתח חיצוני, המשתמשים מקבלים הודעה על כך.ekm_key_unreachable_detected במשך שעה אחת לכל היותר, למשתמשים יש גישה מוגבלת לפעולות במופע. אחרי שעה, אם הסטטוס של המפתח לא משתנה, הפעולות הבאות יחולו:

  • המפתח מושבת.
  • כל פעולות ההצפנה והפענוח נכשלות.
  • מופע Filestore מושעה.

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

אפשר לראות התראות על מפתחות שלא ניתן להגיע אליהם בדף הפרטים של מופע Filestore:

כניסה לדף Filestore instances

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

רמות נתמכות

בטבלה הבאה מפורטים מסלולי השירות של Filestore שתומכים במפתחות CMEK:

רמה תמיכה ב-CMEK
HDD בסיסי לא
SSD בסיסי לא
אזורי כן
אזורי כן
Enterprise כן

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

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

מתן הרשאת גישה למפתח לחשבון השירות של Filestore

כדי ליצור מופע Filestore שמשתמש ב-CMEK, לחשבון השירות של Filestore צריך להיות מוקצה התפקיד Cloud KMS CryptoKey Encrypter/Decrypter ‏ (roles/cloudkms.cryptoKeyEncrypterDecrypter).

  1. חשבון שירות של Filestore נוצר בפעם הראשונה שיוצרים מופע של Filestore בפרויקט. אם עדיין אין לכם חשבון שירות Filestore, מריצים את הפקודה הבאה services identity create:

    gcloud beta services identity create --service=file.googleapis.com --project=INSTANCE_PROJECT_NUMBER_OR_ID
    

    מחליפים את INSTANCE_PROJECT_NUMBER_OR_ID במספר הפרויקט או במזהה הפרויקט שבו רוצים ליצור את מופע Filestore.

  2. מריצים את הפקודה projects add-iam-policy-binding כדי להקצות לחשבון השירות של Filestore את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter:

    gcloud projects add-iam-policy-binding KMS_PROJECT_NUMBER_OR_ID \
        --member serviceAccount:service-INSTANCE_PROJECT_NUMBER@cloud-filer.iam.gserviceaccount.com \
        --role roles/cloudkms.cryptoKeyEncrypterDecrypter
    

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

    • KMS_PROJECT_NUMBER_OR_ID עם מספר הפרויקט או המזהה של הפרויקט שמכיל את מפתח Cloud KMS שבו רוצים להשתמש.
    • INSTANCE_PROJECT_NUMBER במספר הפרויקט (ולא במזהה הפרויקט) שבו רוצים ליצור את מופע Filestore.

יצירת אינסטנס שמשתמש במפתח Cloud KMS

מסוף Google Cloud

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

  1. נכנסים לדף Filestore instances במסוף Google Cloud .

    כניסה לדף Filestore instances

  2. לוחצים על Create Instance.

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

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

  5. מסמנים את תיבת הסימון Use a customer-managed encryption key (CMEK) (שימוש במפתח הצפנה בניהול הלקוח).

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

  7. לוחצים על יצירה.

‫CLI של gcloud

כדי ליצור מופע Filestore שמשתמש במפתח Cloud KMS להצפנת נתונים, צריך לציין את הדגל --kms-key בפקודה filestore instances create:

gcloud filestore instances create nfs-server \
    --tier=<var>TIER</var> \
    --location=us-central1 \
    --file-share=name="vol1",capacity=1TiB \
    --network=name="default" \
    --kms-key=KMS_KEY

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

  • TIER עם רמת שירות של Filestore שתומכת ב-CMEK.
  • KMS_KEY עם השם המלא של מפתח Cloud KMS שבו רוצים להשתמש. אפשר גם לציין כל ארגומנט בנפרד בפורמט:
--kms-key=KMS_KEY : --kms-keyring=KEY_RING --kms-location=KMS_REGION --kms-project=KMS_PROJECT_NUMBER_OR_ID

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

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

קבלת רשימה של מפתחות

כדי לקבל רשימה של מפתחות, מריצים את הפקודה kms keys list:

  gcloud kms keys list \
  --project=KMS_PROJECT_NUMBER_OR_ID \
  --keyring=KEY_RING \
  --location=KMS_REGION

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

  • KMS_PROJECT_NUMBER_OR_ID עם מספר הפרויקט או המזהה של הפרויקט שבו נוצר המפתח.
  • KEY_RING בשם של אוסף המפתחות.
  • KMS_REGION מחליפים באזור של אוסף המפתחות.

בעמודה Name של הפלט מופיע השם המלא של המפתחות הקיימים. לדוגמה:

projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key

אחזור מידע על מפתח של מכונה

בקטעים הבאים מוסבר איך לקבל מידע על מפתח המופע.

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

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

gcloud filestore instances list --filter="kmsKeyName=KMS_KEY"

מחליפים את KMS_KEY בשם המוגדר במלואו של המפתח שרוצים להשתמש בו.

לדוגמה:

gcloud filestore instances list \
    --filter="kmsKeyName=projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key"

הפלט אמור להיראות כך:

INSTANCE_NAME LOCATION    TIER       CAPACITY_GB FILE_SHARE_NAME IP_ADDRESS   STATE CREATE_TIME
nfs-server    us-central1 ENTERPRISE 1024        vol1            10.166.108.2 READY 2021-08-12T11:38:56

קבלת מידע על מפתח Cloud KMS של מופע

כדי לקבל מידע על מפתח Cloud KMS עבור מופע Filestore, משתמשים באחת מהשיטות הבאות:

מסוף Google Cloud

  1. עוברים לדף של מופעי Filestore.

    כניסה לדף Filestore instances

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

  3. לוחצים על הכרטיסייה סקירה כללית.

אם המופע מצפין נתונים באמצעות מפתח Cloud KMS במקוםGoogle-owned and Google-managed encryption key, שם המפתח מוצג בשדה מפתח הצפנה.

‫CLI של gcloud

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

gcloud filestore instances describe INSTANCE_ID \
   --location=INSTANCE_LOCATION

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

  • INSTANCE_ID עם מספר המכונה של מכונת Filestore שרוצים לקבל מידע לגביה.
  • INSTANCE_LOCATION עם האזור או התחום שבו נמצאת המכונה.

הפלט אמור להיראות כך:

createTime: '2021-08-12T11:38:56.851157387Z'
fileShares:
- capacityGb: '1024'
  name: vol1
kmsKeyName: projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key
labels:
  key: val
name: projects/consumer-project/locations/us-central1/instances/nfs-server
networks:
- ipAddresses:
  - 10.0.100.2
  modes:
  - MODE_IPV4
  network: network
  reservedIpRange: 10.166.108.0/23
state: READY
tier: ENTERPRISE

השבתה או השמדה של מפתח Cloud KMS שמשמש מכונה

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

  • השבתה של מפתח או גרסת מפתח.
  • השמדה של מפתח או גרסת מפתח.
  • שינוי ההרשאות של מפתח.

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

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

הפעלה של מופע שהופסק

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

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

תמיכה ב-CMEK בשרשראות גיבוי

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

התמיכה ב-CMEK לא זמינה לגיבויים ברמת הבסיס.

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

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

מגבלות של רוטציית מפתחות

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

  • השבתה של מפתח או של גרסת מפתח.
  • השמדה של מפתח או גרסת מפתח.
  • שינוי הרשאות המפתח.

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

אם לא הצלחתם לשחזר את שרשרת הגיבוי, מבצעים את השלבים הבאים:

  1. מחיקת כל הגיבויים.
  2. מתחילים שרשור חדש. אפשר להשתמש באחת מהאפשרויות הבאות:
    • יוצרים את הגיבוי במיקום אחר עם אותו מפתח CMEK.
    • יוצרים את הגיבוי באותו מיקום עם מפתח CMEK חדש.

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

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