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

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

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

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

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

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

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

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

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

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

היקף ההצפנה והמפרטים

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

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

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

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

אפשר לשחזר גיבויים רק אם משאב ה-TdeConfig שבו נעשה שימוש בזמן הגיבוי זמין באותו מרחב שמות כמו אשכול היעד.

בהגדרות של זמינות גבוהה, ה-TdeConfig צריך להיות באותו מרחב שמות כמו המשאב DBCluster.

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

‫AlloyDB Omni תומך בספקי KMS חיצוניים ובשיטות האימות הבאות:

  • ‫HashiCorp Vault: תומך במנוע הסודות KV-V2 עם אימות באמצעות אסימון אינטרנט מסוג JSON‏ (jwt).
  • ‫Thales CipherTrust Manager: תומך בניהול סודות עם שם משתמש וסיסמה (password) לאימות.

תאימות לכלי PostgreSQL

באשכולות עם TDE מופעלת תמיכה בכל הכלים המובנים של PostgreSQL דרך משאב TdeConfig.

מגבלות

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

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