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

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

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

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

יצירת האשכול

כדי ליצור אשכול עם TDE, צריך להעביר את ההגדרות הנדרשות של שירות ניהול המפתחות (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. משתמשים ב-vault כפרוטוקול כדי לציין את HashiCorp Vault כספק KMS. לדוגמה, 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 מופעל, כתובת ה-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. לא רלוונטי מיקרו-שניות מונה