הצפנת נתונים

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

  • נתונים של מערכת ניהול מפתחות (KMS)
  • נתונים של מפת מפתח/ערך (KVM)
  • נתונים במטמון

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

היקף מפתח ההצפנה

למפתחות הצפנה של KMS,‏ KVM ומטמון יש היקף. לדוגמה, למפתחות KMS יש היקף ארגון. כלומר, המפתח משמש להצפנת נתוני KMS בכל הארגון. בטבלה הבאה מפורט ההיקף של כל סוג מפתח:

מפתח הצפנה היקף
KMS הארגון בלבד
KVM ארגון או סביבה

אם מדיניות KVM מציינת היקף של apiproxy או policy (גרסת proxy ל-API), המפתח ברמת הארגון משמש להצפנת הנתונים. לסקירה כללית של אופן השימוש ב-KVM ב-Apigee Edge, אפשר לעיין במאמר עבודה עם מיפויי מפתח-ערך.

מטמון סביבה בלבד

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

כברירת מחדל, Apigee hybrid מספק קבוצה של מפתחות בקידוד Base64 שמשמשים להצפנה של נתונים ב-KVM, ב-KMS ובמטמון. התוכנה להתקנת Apigee hybrid מאחסנת את המפתחות במישור זמן הריצה כסודות של Kubernetes, ומשתמשת בהם כדי להצפין את הנתונים באמצעות הצפנה רגילה מסוג AES-128. המפתחות נמצאים בשליטתכם, ורמת הבקרה ההיברידית אף פעם לא מודעת להם.

שינוי מפתחות ההצפנה שמוגדרים כברירת מחדל

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

  1. מעתיקים את הפסקאות הבאות לקובץ השינויים. ההגדרה הזו מאפשרת לשנות את מפתחות ההצפנה של KMS ו-KVM ברמת הארגון, ואת מפתחות ההצפנה של KVM ושל המטמון ברמת הסביבה:
    defaults:
      org:
        kmsEncryptionKey: base64-encoded-key
        kvmEncryptionKey: base64-encoded-key
      env:
        kvmEncryptionKey: base64-encoded-key
        cacheEncryptionKey: base64-encoded-key
  2. יוצרים מפתח חדש לכל מפתח שרוצים להחליף. כל מפתח חייב להיות מחרוזת בקידוד Base64 באורך של 16, 24 או 32 בייט בדיוק. אפשר גם לעיין במאמר איך יוצרים מפתח מוצפן.
  3. מחליפים את מקשי ברירת המחדל במקשים חדשים. בדוגמה הזו, כל מקשי ברירת המחדל מוחלפים במקשים:
    defaults:
      org:
        kmsEncryptionKey: "JVpTb1FwI0otUHo2RUdRN3pnVyQqVGlMSEFAJXYmb1c="
        kvmEncryptionKey: "T3VkRGM1U3cpOFgtNk9fMnNZU2NaSVA3I1BtZWxkaUU="
      env:
        kvmEncryptionKey: "Q3h6M3R6OWdBeipxTURfKjQwQVdtTng2dU5mODFHcyE="
        cacheEncryptionKey: "b2NTVXdKKjBzN0NORF9XSm9tWFlYKGJ6NUhpNystJVI="
  4. מחילים את קובץ הביטולים על האשכול.

הערה לגבי תאימות לאחור

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

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

איך יוצרים מפתח מוצפן

כדי להצפין את ה-KVM, את ה-KMS ואת המטמון, צריך מפתח בקידוד Base-64 בפורמט תקין. המפתח שמשמש לכל אחת מהמטרות האלה חייב להיות מקודד ב-Base-64 ממחרוזת באורך 16, 24 או 32 בייט, כמו שמפורט בשלבים הבאים:

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

LC_ALL=C tr -dc A-Za-z0-9_\!\@\#\$\%\^\&\*\(\)\\-+= < /dev/urandom | head -c 32  | openssl base64
PSFvX0BPc1Z2NVklcXdxcF8xR0N4MV4temFveStITU4=

או

LC_ALL=C tr -dc "[:print:]" < /dev/urandom | head -c 32 | openssl base64