הצפנת נתונים שקופה ב-AlloyDB Omni

בוחרים גרסת תיעוד:

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

היררכיית מפתחות

ב-AlloyDB Omni מיושמת היררכיית מפתחות דו-שכבתית ששומרת על הפרדת תפקידים ברורה בין מסד הנתונים לבין תשתית האבטחה בניהול המשתמש.

  • מפתחות להצפנת נתונים (DEK): מפתחות שנוצרים על ידי AlloyDB Omni ונמצאים בבעלותו. המפתחות האלה מצפינים את קובצי הנתונים בפועל, את ה-WAL ואת הקבצים הזמניים. ‫AlloyDB Omni מאחסן מפתחות DEK בדיסק, אבל עוטף אותם במפתחות KEK שלכם.
  • מפתח להצפנת מפתחות הצפנה (KEK): המפתח הראשי שמנהלים בשירות ניהול מפתחות (KMS) חיצוני. ‫AlloyDB Omni משתמש ב-KEK כדי להצפין את ה-DEK. ‫AlloyDB Omni ניגש למפתח הזה רק בזמן ההפעלה כדי לפתוח את ה-DEK. מפתח ה-KEK אף פעם לא נשמר באופן קבוע בדיסק של מסד הנתונים.
    • המיקום של ה-KEK והפרמטרים של הגישה אליו מסופקים באמצעות משתני סביבה ודגל האיניציאליזציה של --tde-kek-url.

איך TDE פועל עם AlloyDB Omni

כשמפעילים את TDE, ‏ AlloyDB Omni מאבטח את הנתונים באמצעות מודל הצפנה שכבתי שמשתלב עם KMS חיצוני.

  • אתחול ואחזור מפתח: במהלך ההפעלה או האתחול של האשכול, מנוע AlloyDB Omni יוצר חיבור מאובטח ל-KMS. הוא מאמת באמצעות אסימון אינטרנט מסוג JSON ‏ (JWT) ומאחזר את ה-KEK.
  • ביטול האריזה של מפתחות ה-DEK: ‏AlloyDB Omni משתמש במפתח ה-KEK כדי לבטל את האריזה של מפתחות ה-DEK, שמאוחסנים באחסון המקומי במצב ארוז. לאחר מכן, מפתחות ה-DEK האלה נטענים לזיכרון.
  • פעולות שקופות על נתונים:
    • כתיבה לדיסק: כשמסד הנתונים כותב בלוקים של נתונים, רשומות WAL או קבצים זמניים לדיסק הפיזי, הוא מצפין את הנתונים באופן אוטומטי באמצעות אלגוריתמים של AES-256 לפני הכתיבה.
    • קריאה מהדיסק: כשהמסד נתונים צריך לקרוא נתונים לזיכרון, הוא מפענח באופן אוטומטי את הבלוקים באמצעות מפתחות ה-DEK שמוחזקים בזיכרון.
    • הצפנת מטמון: TDE תומך גם במטמון הדיסק, כולל מידע של מנוע מבוסס-עמודות שמאוחסן במטמון. הנתונים שנכתבים לשכבת האחסון של מטמון הנתונים הקרים מוצפנים, והנתונים שמועברים למטמון ה-SSD של מנוע מבוסס-עמודות מוצפנים לפני שהם נכתבים ל-SSD ומפוענחים בזמן הקריאה.
  • אופטימיזציות של הביצועים: TDE כולל אופטימיזציות לשמירה על ביצועים גבוהים תוך אבטחת הנתונים. הוא משתמש בהגנה אופטימלית של AES-256-XTS על בלוקי נתונים ועל מטמונים, וכולל אופטימיזציות של כתיבה סינכרונית כדי לצמצם את זמן האחזור בנתיבים מהירים.

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

היקף ההצפנה והמפרט שלה

‫AlloyDB Omni משתמש באלגוריתמים של AES-256, שהם הסטנדרט בתחום, כדי לאבטח את הנתונים.

  • קבצי נתונים (טבלאות ואינדקסים): AES-256-XTS.
  • יומני פעולות (WAL): AES-256-CTR.
  • קבצים זמניים: AES-256-XTS או AES-256-CTR, בהתאם לסוג הנתונים הזמניים.
  • קבצי מטמון של מנוע מבוסס-עמודות: AES-256-XTS.
  • קבצים במטמון של Chill: AES-256-XTS.
  • עטיפת מפתח: AES-256-KWP.

גיבוי וזמינות גבוהה

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

אפשר לשחזר גיבויים רק לאשכולות שבהם זמין אותו KEK.

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

מערכות KMS ואימות נתמכות

‫AlloyDB Omni תומך ב-HashiCorp Vault כספק KMS חיצוני. ‫AlloyDB Omni תומך רק במנוע הסודות KV-V2, ושיטת האימות היחידה שנתמכת היא JWT.

הערה: AlloyDB Omni תומך ב-KMS מבוסס-קבצים. עם זאת, מומלץ להשתמש בשיטה הזו למטרות בדיקה בלבד, ולא בעומסי עבודה של ייצור.

תאימות של כלי PostgreSQL

אשכולות שמופעל בהם TDE תומכים בכל הכלים המובנים של PostgreSQL, חוץ מ-initdb, באופן שקוף באמצעות משתני סביבה. אם אתם משתמשים ב-initdb, אתם צריכים להעביר את כתובת ה-URL של KEK באופן מפורש. מידע נוסף זמין במאמר יצירת אשכול עם TDE.

מגבלות

  • אי אפשר להפעיל TDE באשכולות קיימים.
  • אחרי שמפעילים את TDE, אי אפשר להשבית אותו.
  • אי אפשר לשדרג גרסאות ראשיות באשכולות שמופעל בהם TDE.
  • אי אפשר לשחזר גיבויים מוצפנים לשרתים לא מוצפנים, או גיבויים לא מוצפנים לשרתים מוצפנים.
  • אין תמיכה ברוטציה של מפתח ה-DEK.
  • יש תמיכה ברוטציה של KEK כל עוד נתיב כתובת ה-URL של ה-KEK לא משתנה.
  • אי אפשר CREATE DATABASE באמצעות שיטת הבידינג FILE_COPY.
  • באשכולות שמופעל בהם TDE, גיבויי Barman תומכים רק במצב rsync. שיטת הגיבוי postgres לא נתמכת.
  • רוטציה של מפתח להצפנת מפתחות הצפנה (KEK) נתמכת רק ב-HashiCorp Vault כספק של מערכת חיצונית לניהול מפתחות (KMS).

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