API ו־GDPR: תחולת החובות והגנת הנתונים

בקצרה

HTTPS לבדו אינו הופך API לתואם GDPR. יש לקבוע את תחולת התקנות, מטרת העיבוד והבסיס החוקי, ולהגביל נתונים וגישה לנדרש.

חדר ארכיון ריק עם מסמכים ואמצעי אחסון לראיות דיגיטליות
במאמר זה

HTTPS לבדו אינו הופך API לתואם GDPR. יש לקבוע את תחולת התקנות, מטרת העיבוד והבסיס החוקי, ולהגביל נתונים וגישה לנדרש.

תחולה טריטוריאלית ובסיס חוקי

סעיף 3 כולל, בין היתר, עיבוד במסגרת פעילות של מוסד באיחוד, ובתנאים מסוימים הצעת מוצרים או שירותים לאנשים באיחוד או מעקב אחר התנהגותם בו. אזרחות או מגורים באירופה אינם מתארים לבדם את המבחן. הסכמה היא רק אחד הבסיסים שבסעיף 6; סעיף 9 מוסיף תנאים לקטגוריות מיוחדות של נתונים.

בקרות ואחריות שניתן להוכיח

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

עדכון: מנדט למשא ומתן אינו דין חל

ב־21 באוקטובר 2026 הודיעה מועצת האיחוד האירופי על עמדתה למשא ומתן בעניין Digital Omnibus, לרבות כללי הגנת נתונים. מנדט למשא ומתן אינו אימוץ סופי. ההודעה לבדה אינה מחליפה חובות קיימות בתיקונים המוצעים.

היערכות לאירועים

  • לעדכן תיעוד עיבוד וראיות לבקרות.
  • בעל השליטה מודיע לרשות ללא עיכוב בלתי מוצדק, ואם אפשר בתוך 72 שעות מהיוודע ההפרה, אלא אם לא סביר שתיווצר סכנה לזכויות ולחירויות (סעיף 33).
  • המעבד מודיע לבעל השליטה ללא עיכוב בלתי מוצדק; יש להגן על יומנים ולהגביל שמירה.

מקורות ותחום תחולה

בדיקה עריכתית: 31 באוקטובר 2026.

הגבלת חשיפת נתונים שדה אחר שדה.

מדיניות הגנת נתונים צריכה לזהות אילו שדות עשויים לעזוב את המערכת. ב-GraphQL, פעולה אחת יכולה לשלב שדות מכמה סוגים; כל פותר חייב לאכוף את המטרה המיועדת וההרשאות.

  • יצירת מלאי של שדות רגישים ותפקידים הזקוקים להם.
  • בדיקת רשימות ואובייקטים מקוננים עם חשבון לא מורשה.
  • צמצום ארגומנטים ותוצאות השמורות ביומנים.

מקור ראשוני: OWASP — GraphQL Cheat Sheet. שיטה קשורה: קריאת המדריך המעשי.

ZIP ו־TAR: לחלץ בגבולות תיקייה ומשאבים

לבדוק נתיבים, קישורים ונתונים לאחר פריסה לפני פרסום הקבצים.

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

מקרה קבלה שניתן לשחזר

דוגמה בדיונית: הנתונים אינם מתארים לקוח או תוצאה שנצפתה.

הצגת נתוני המקרה
{
    "compressed_mb": 2,
    "expanded_mb": 600,
    "aggregate_budget_mb": 100,
    "first_files_valid": true,
    "expected": "stop_on_actual_overrun_and_do_not_promote"
}

החלטה צפויה

דוגמה בדיונית: 2 MB דחוסים יוצרים 600 MB בתקציב 100 MB. עצרו עם חריגת הבתים שנכתבו ואל תפרסמו, גם אם הקבצים הראשונים נראים תקינים.

Python — tarfile extraction filters and further verification

האם ארכיון קטן או מסנן מבטיח בטיחות?

לא. הוא יכול לגדול מאוד. הוסיפו גבולות משאבים, כללי נתיב ובדיקת הקבצים שחולצו.

מקור ראשוני: Python — tarfile extraction filters and further verification. שיטה קשורה: קריאת המדריך המעשי.