logologo
התחלה
מדריך
פיתוח
תוסף
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
התחלה
מדריך
פיתוח
תוסף
API
logologo
סקירה כללית

מקור נתונים

ניהול מקורות נתונים
מקור נתונים ראשי

מקור נתונים חיצוני (Database)

מבוא
MySQL חיצוני
MariaDB חיצוני
PostgreSQL חיצוני
MSSQL חיצוני
Oracle חיצוני
השוואת מסדי נתונים: ראשי וחיצוני
מקור נתונים REST API
מקור נתונים KingbaseES

טבלת נתונים

סקירה כללית
טבלה רגילה
טבלת ירושה
טבלת קבצים
טבלת עץ
לוח שנה
טבלת תגובות
טבלת ביטויים
טבלת SQL
תצוגת מסד נתונים

שדה טבלה

סקירה כללית
אימות שדות

סוגים בסיסיים

טקסט בשורה אחת
טקסט רב-שורתי
מספר טלפון נייד
דוא'ל
URL
מספר שלם
מספר
אחוז
סיסמה
צבע
אייקון

בחירת סוג

סימון
בורר נפתח (בחירה יחידה)
בורר נפתח (בחירה מרובה)
תיבת בחירה יחידה
תיבת סימון

מולטימדיה

Markdown
Markdown(Vditor)
טקסט עשיר
קובץ מצורף (יחס)
קובץ מצורף (URL)

תאריך ושעה

סקירה כללית
תאריך ושעה (כולל אזור זמן)
תאריך ושעה (ללא אזור זמן)
Unix timestamp
תאריך (ללא שעה)
זמן

צורות גיאומטריות

נקודה
קו
עיגול
מצולע

סוגים מתקדמים

UUID
Nano ID
מיון
נוסחת חישוב
קידוד אוטומטי
JSON
בורר טבלאות נתונים
הצפנה

מידע מערכת

תאריך יצירה
תאריך שינוי אחרון
יוצר
משנה אחרון
מרחב
Table OID

סוג קשר

סקירה כללית
אחד לאחד
אחד לרבים
רבים לאחד
רבים לרבים
רבים לרבים (Array)

פיתוח

סקירה כללית
Previous Pageבורר טבלאות נתונים
Next Pageתאריך יצירה
TIP

מסמך זה תורגם על ידי בינה מלאכותית. לכל אי דיוק, אנא עיין בגרסה האנגלית

#הצפנה

#מבוא

נתונים עסקיים רגישים, כמו מספרי טלפון של לקוחות, כתובות דוא"ל, מספרי כרטיסים וכדומה, ניתנים להצפנה. לאחר ההצפנה, הם נשמרים במסד הנתונים כטקסט מוצפן (ciphertext).

20251104192513

#הצפנה

WARNING

התוסף מייצר באופן אוטומטי מפתח יישום (application key), הנשמר בתיקייה /storage/apps/main/encryption-field-keys.

קובץ מפתח היישום נקרא על שם מזהה המפתח (Key ID) וסיומתו היא .key. אין לשנות את שם הקובץ באופן שרירותי.

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

אם התוסף מופעל על ידי יישום משנה (sub-application), מפתח היישום נשמר כברירת מחדל בתיקייה /storage/apps/${sub-application name}/encryption-field-keys.

#איך זה עובד

הצפנת מעטפה (Envelope Encryption)

20251118151339

#תהליך יצירת מפתח

  1. בפעם הראשונה שנוצר שדה מוצפן, המערכת מייצרת באופן אוטומטי מפתח יישום באורך 32 סיביות, והוא נשמר בתיקיית האחסון המוגדרת כברירת מחדל בקידוד Base64.
  2. בכל פעם שנוצר שדה מוצפן חדש, נוצר עבורו מפתח שדה (field key) אקראי באורך 32 סיביות. לאחר מכן, הוא מוצפן באמצעות מפתח היישום ווקטור הצפנת שדה (field encryption vector) אקראי באורך 16 סיביות (אלגוריתם הצפנה AES), ונשמר בשדה options בטבלת fields.

#תהליך הצפנת שדה

  1. בכל פעם שכותבים נתונים לשדה מוצפן, המערכת מאחזרת תחילה את מפתח השדה המוצפן ואת וקטור הצפנת השדה משדה options בטבלת fields.
  2. מפתח השדה המוצפן מפוענח באמצעות מפתח היישום ווקטור הצפנת השדה. לאחר מכן, הנתונים מוצפנים באמצעות מפתח השדה ווקטור הצפנת נתונים (data encryption vector) אקראי באורך 16 סיביות (אלגוריתם הצפנה AES).
  3. הנתונים נחתמים באמצעות מפתח השדה המפוענח (אלגוריתם גיבוב HMAC-SHA256) ומומרים למחרוזת בקידוד Base64. (החתימת נתונים (data signature) שנוצרה תשמש בהמשך לאחזור נתונים).
  4. וקטור אתחול הנתונים (data initialization vector) באורך 16 סיביות וטקסט הצופן (ciphertext) המוצפן מחוברים בינארית, ומומרים למחרוזת בקידוד Base64.
  5. מחרוזת חתימת הנתונים המקודדת ב-Base64 ומחרוזת טקסט הצופן המחוברת והמקודדת ב-Base64 מחוברות באמצעות מפריד . .
  6. המחרוזת הסופית המחוברת נשמרת במסד הנתונים.

#משתני סביבה

כדי לציין מפתח יישום מותאם אישית, ניתן להשתמש במשתנה הסביבה ENCRYPTION_FIELD_KEY_PATH. התוסף יטען את הקובץ בנתיב זה כמפתח היישום.

דרישות לקובץ מפתח היישום:

  1. סיומת הקובץ חייבת להיות .key.
  2. שם הקובץ ישמש כמזהה המפתח (Key ID); מומלץ להשתמש ב-UUID כדי להבטיח ייחודיות.
  3. תוכן הקובץ חייב להיות נתונים בינאריים באורך 32 בתים המקודדים ב-Base64.
ENCRYPTION_FIELD_KEY_PATH=/path/to/my/app-keys/270263524860909922913.key

#הגדרות שדה

20240802173721

#השפעת ההצפנה על סינון נתונים

שדות מוצפנים תומכים רק בסינון לפי: שווה ל-, לא שווה ל-, קיים, לא קיים.

20240802174042

תהליך סינון נתונים:

  1. אחזר את מפתח השדה המוצפן, ופענח אותו באמצעות מפתח היישום.
  2. השתמש במפתח השדה כדי לחתום על טקסט החיפוש שהוזן על ידי המשתמש (HMAC-SHA256).
  3. חבר את החתימה עם מפריד . ובצע שאילתת התאמת קידומת (prefix-match) על השדה המוצפן במסד הנתונים.

#חילוף מפתחות

WARNING

לפני השימוש בפקודה nocobase key-rotation לחילוף מפתחות, ודא שהתוסף נטען ביישום.

כאשר יישום מועבר לסביבה חדשה ואינך מעוניין להמשיך להשתמש באותו מפתח יישום מהסביבה הישנה, באפשרותך להשתמש בפקודה nocobase key-rotation כדי להחליף את מפתח היישום.

הפעלת פקודת חילוף המפתחות דורשת ציון של מפתח היישום של הסביבה הישנה. לאחר ההפעלה, ייווצר מפתח יישום חדש, והוא יחליף את המפתח הישן. מפתח היישום החדש יישמר בתיקיית ברירת המחדל בקידוד Base64.

# --key-path מציין את קובץ מפתח היישום של הסביבה הישנה, התואם לנתונים המוצפנים במסד הנתונים.
 yarn nocobase key-rotation --key-path /path/to/old-app-keys/270263524860909922913.key

כדי להחליף את מפתח היישום של יישום משנה, יש להוסיף את הפרמטר --app-name ולציין את הname של יישום המשנה.

 yarn nocobase key-rotation --app-name a_w0r211vv0az --key-path /path/to/old-app-keys/270263524860909922913.key