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