יצירת אשכול עם TDE

בוחרים גרסה של מאמרי העזרה:

כדי להפעיל הצפנת נתונים שקופה (TDE), צריך לספק את משתני הסביבה הנדרשים של הכספת ולכלול את הדגל --tde-kek-url בתוך POSTGRES_INITDB_ARGS.

לפני שמתחילים

יצירת האשכול

כדי ליצור אשכול עם TDE, צריך להעביר את הגדרות Key Management Service‏ (KMS) הנדרשות ואת פרטי הכניסה לאימות במהלך האיניציאליזציה של מסד הנתונים. סוג האימות הנתמך היחיד הוא jwt.

בוחרים את הכרטיסייה של סביבת זמן הריצה של הקונטיינר.

Docker

docker run -d --name CONTAINER_NAME \
--network host \
-v DATA_DIR:/var/lib/postgresql/data \
-v VAULT_CERT_PATH_ON_DISK:VAULT_CERT_PATH \
-e VAULT_AUTH_TYPE=jwt \
-e VAULT_AUTH_MOUNT=JWT_AUTH_ENGINE_MOUNT \
-e VAULT_JWT_PATH=JWT_FILE_PATH \
-e VAULT_ROLE=VAULT_ROLE \
-e VAULT_CERT_PATH=VAULT_CERT_PATH \
-e POSTGRES_INITDB_ARGS=" \
--tde-kek-url=KEK_URL" \
google/alloydbomni:IMAGE_TAG

Docker

docker run -d --name CONTAINER_NAME \
--network host \
-v DATA_DIR:/var/lib/postgresql/data \
-v VAULT_CERT_PATH_ON_DISK:VAULT_CERT_PATH \
-e VAULT_AUTH_TYPE=jwt \
-e VAULT_AUTH_MOUNT=JWT_AUTH_ENGINE_MOUNT \
-e VAULT_JWT_PATH=JWT_FILE_PATH \
-e VAULT_ROLE=VAULT_ROLE \
-e VAULT_CERT_PATH=VAULT_CERT_PATH \
-e POSTGRES_INITDB_ARGS=" \
--tde-kek-url=KEK_URL" \
google/alloydbomni:IMAGE_TAG

Podman

podman run -d --name CONTAINER_NAME \
--network host \
-v DATA_DIR:/var/lib/postgresql/data \
-v VAULT_CERT_PATH_ON_DISK:VAULT_CERT_PATH \
-e VAULT_AUTH_TYPE=jwt \
-e VAULT_AUTH_MOUNT=JWT_AUTH_ENGINE_MOUNT \
-e VAULT_JWT_PATH=JWT_FILE_PATH \
-e VAULT_ROLE=VAULT_ROLE \
-e VAULT_CERT_PATH=VAULT_CERT_PATH \
-e POSTGRES_INITDB_ARGS=" \
--tde-kek-url=KEK_URL" \
google/alloydbomni:IMAGE_TAG

Podman

podman run -d --name CONTAINER_NAME \
--network host \
-v DATA_DIR:/var/lib/postgresql/data \
-v VAULT_CERT_PATH_ON_DISK:VAULT_CERT_PATH \
-e VAULT_AUTH_TYPE=jwt \
-e VAULT_AUTH_MOUNT=JWT_AUTH_ENGINE_MOUNT \
-e VAULT_JWT_PATH=JWT_FILE_PATH \
-e VAULT_ROLE=VAULT_ROLE \
-e VAULT_CERT_PATH=VAULT_CERT_PATH \
-e POSTGRES_INITDB_ARGS=" \
--tde-kek-url=KEK_URL" \
google/alloydbomni:IMAGE_TAG

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

  • ‫CONTAINER_NAME: שם הקונטיינר שרוצים ליצור. לדוגמה, alloydb-tde.
  • ‫DATA_DIR: הספרייה המקומית שרוצים לטעון כנפח הנתונים של AlloyDB Omni. לדוגמה, /local/data.
  • ‫VAULT_AUTH_TYPE: סוג האימות שבו משתמשים לחיבור לכספת. יש תמיכה רק ב-jwt.
  • ‫JWT_AUTH_ENGINE_MOUNT: הנתיב שבו מותקן מנוע האימות של HashiCorp Vault. לדוגמה, /auth/jwt.
  • ‫JWT_FILE_PATH: הנתיב שבו שמור ה-JWT של Vault בצמתים. לדוגמה, tde-tls/jwt-token.
  • ‫(אופציונלי) VAULT_ROLE: תפקיד הלקוח שמוגדר בהגדרת הכספת, שמאפשר ל-HashiCorp Vault לאמת את האותנטיות של אסימון ה-JWT.
  • ‫VAULT_CERT_PATH_ON_DISK: הנתיב לאישורי Vault במחשב המארח. לדוגמה, /local/vault/config.
  • ‫VAULT_CERT_PATH: הנתיב שבו נמצאים במאגר האישורים לחיבור לכספת. לדוגמה, /tde-tls. אם המדיניות לא מוגדרת, המערכת תשתמש באישורים שמוגדרים כברירת מחדל במאגר האישורים.
  • KEK_URL: כתובת ה-URL המלאה של ה-KEK ב-HashiCorp Vault. כדי לציין את HashiCorp Vault כספק ה-KMS, משתמשים ב-vault כפרוטוקול, לדוגמה vault://127.0.0.1:8200/v1/secrets/data/alloydb_kek.
  • ‫IMAGE_TAG: משתמשים ב-18.1.0 בשביל קובץ האימג' העדכני של Debian או ב-18.1.0-ubi בשביל קובץ האימג' העדכני של UBI.

צפייה במדדי TDE

אחרי שהאשכול מאותחל, מבצעים את השלבים הבאים כדי לוודא ש-TDE מופעל ולראות את המדדים שקשורים ל-TDE.

  1. מתחברים למסד הנתונים באמצעות psql או הלקוח המועדף. הוראות מפורטות להפעלה של המכונות ולהתחברות אליהן זמינות במאמר הפעלה של AlloyDB Omni והתחברות אליו.
  2. מריצים את הפקודה הבאה:

    select * FROM pgsnap.g$tde_stats;
    

    אם TDE מופעל בהצלחה, הפלט מציג מדדי TDE כמו אם TDE מופעל, כתובת ה-URL של KEK, גרסת KEK וחותמת הזמן של יצירת KEK.

    בטבלה הבאה מוסבר מה המשמעות של כל מדד.

    שם תיאור תווית יחידה סוג
    alloydb_omni_database_tde_data_blocks_decrypted_count_total מספר בלוקי הנתונים שפוענחו. לא רלוונטי מונה
    alloydb_omni_database_tde_data_blocks_encrypted_count_total מספר בלוקי הנתונים המוצפנים. לא רלוונטי דלפק
    alloydb_omni_database_tde_data_decryption_time_us_total משך הזמן הכולל שנדרש לפענוח של בלוק הנתונים. לא רלוונטי מיקרו-שניות דלפק
    alloydb_omni_database_tde_data_encryption_time_us_total הזמן הכולל שהושקע בהצפנה של בלוק נתונים. לא רלוונטי מיקרו-שניות דלפק
    alloydb_omni_database_tde_enabled סטטוס ההפעלה של TDE. לא רלוונטי תחנה הידרומטרית
    alloydb_omni_database_tde_kek_info מידע על KEK של TDE.
    • ‫kek_version: הגרסה של ה-KEK
      שמשמשת לאריזת המפתחות.
    • ‫kek_url: נתיב מוגדר במלואו
      ל-KEK ב-KMS
    • ‫kek_creation_timestamp:
      זמן היצירה של גרסת ה-KEK שבשימוש.
    מד
    alloydb_omni_database_tde_temp_blocks_decrypted_count_total מספר הבלוקים הזמניים שפוענחו. לא רלוונטי דלפק
    alloydb_omni_database_tde_temp_blocks_encrypted_count_total מספר הבלוקים הזמניים שהוצפנו. לא רלוונטי מונה
    alloydb_omni_database_tde_temp_decryption_time_us_total הזמן הכולל שנדרש לפענוח חסימה זמנית. לא רלוונטי מיקרו-שניות דלפק
    alloydb_omni_database_tde_temp_encryption_time_us_total הזמן הכולל שהוקדש להצפנת בלוקים זמנית. לא רלוונטי מיקרו-שניות דלפק
    alloydb_omni_database_tde_wal_blocks_decrypted_count_total מספר בלוקי ה-WAL שפוענחו. לא רלוונטי מונה
    alloydb_omni_database_tde_wal_blocks_encrypted_count_total מספר בלוקי ה-WAL שהוצפנו. לא רלוונטי מונה
    alloydb_omni_database_tde_wal_decryption_time_us_total הזמן הכולל שחלף בפענוח של בלוק WAL. לא רלוונטי מיקרו-שניות מונה
    alloydb_omni_database_tde_wal_encryption_time_us_total משך הזמן הכולל של הצפנת בלוקים של WAL. לא רלוונטי מיקרו-שניות מונה