אבטחה ברמת השדה (FLS) ב-Salesforce: פרטים ואסטרטגיות
ברוכים הבאים למפגש נוסף בסדרת האבטחה. היום נצלול לעומק המושג אבטחה ברמת השדה (Field Level Security, FLS) ב-Salesforce. התכונה הזו חיונית כשכבר נתתם גישה לאובייקט, אבל אתם רוצים לשלוט בנראות של שדות מסוימים באותו אובייקט.
1. מבוא
אבטחה ברמת השדה עוסקת בשליטה על מי יכול לראות שדות מסוימים באובייקט. חשבו על אובייקט עם שדה שמכיל נתונים חסויים. איך נוודא שרק משתמשים מסוימים יוכלו לראות את הנתונים האלה?
2. התרחיש
כדי להמחיש, נשתמש בדוגמה היפותטית עם “Paul הטייס”. יש לנו אובייקט בשם “Airport”. באובייקט הזה יש שדה בשם “Security Status”. המטרה שלנו היא לאפשר רק ל-Paul לגשת לשדה הזה, ולחסום את האחרים.

3. מתן גישה
קודם כול, ב-Object Manager של “Airport”, אנחנו יוצרים שדה חדש. בדוגמה שלנו זו רשימת בחירה בשם “Security Status” עם אפשרויות כמו “Normal”, “Elevated” ו-”Lockdown”.
במקום לתת גישה ברמת הפרופיל, עברו לאבטחה ברמת ערכת ההרשאות. היוצא מן הכלל היחיד הוא מנהל המערכת (system administrator), שעדיין יכול לקבל גישה ברמת הפרופיל.
כתוצאה מכך, כברירת מחדל רק מנהל המערכת יכול לראות את השדה החדש הזה.
4. ערכות הרשאות
כדי לתת ל-Paul גישה:
- עברו אל Permission Sets.
- בדקו את קבוצות ערכות ההרשאות של Paul. תמצאו שם קבוצה בשם “Airport View” (שנוצרה בהדגמה קודמת).
- התאימו את הגדרות האובייקט בקבוצה הזו כדי לתת הרשאת קריאה לשדה “Security Status” (באמצעות אבטחה סטנדרטית ברמת השדה).
בעקבות הצעדים האלה, Paul וכל מי שיש לו את ערכת ההרשאות “Airport View” יוכלו לראות את סטטוס האבטחה בכל רשומת שדה תעופה שיש להם גישה אליה.
5. הצגה מותנית של שדה עם Dynamic Forms
[caption id="" align=“alignnone” width=“3002”]
אפשר להוסיף תנאי סינון ברמת השדה הבודד [/caption]
אם אתם רוצים להציג את השדה בתנאי:
- פתחו את Lightning App Builder.
- שדרגו לשימוש ב-Dynamic Forms.
- הוסיפו מסנן לשדה “Security Status”. לדוגמה, הציגו את השדה רק אם סוג שדה התעופה הוא “Large”.
זכרו שהשיטה הזו מסתירה את השדה רק בממשק המשתמש, אבל השדה עדיין נגיש בתצוגות רשימה, בדוחות, בלוחות מחוונים ובחיפוש הגלובלי. לכן זו לא שיטה חסינה לסודיות מוחלטת של נתונים.
6. אבטחה מתקדמת עם Lightning Web Components (LWC)
אם יש צורך אמיתי באבטחה קפדנית ברמת השדה:
הימנעו ממתן אבטחה סטנדרטית ברמת השדה. הסיבה: אם למשתמש יש גישת FLS (Field Level Security) לשדה, ייתכן שהוא יוכל לגשת אליו בדרכים אחרות, כמו:
- תצוגות רשימה
- דוחות
- חיפוש

תכננו Lightning Web Component (LWC) שרץ בהקשר מערכת (system context) ומציג את השדה בתנאי.
אף שרכיבי LWC חזקים בהצגת נתונים, הם עלולים להציב אתגרים ביצירה או בעריכה של רשומות. ייתכן שיידרש מסך עריכה מותאם אישית בתוך ה-LWC.
סיכום
אבטחת שדות ב-Salesforce היא קריטית. בהתאם לרמת האבטחה הנדרשת, Salesforce מציעה אפשרויות שונות:
- תנו גישה רק דרך ערכות הרשאות.
- השתמשו בנראות מותנית של שדות, על מגבלותיה המובנות.
- לדרישות אבטחה גבוהות, תכננו Lightning Web Component.
תודה רבה
תודה שהקשבתם. זכרו, אבטחה היא קריטית, והבנה של אבטחה ברמת השדה מבטיחה שהנתונים שלכם ב-Salesforce יישארו חסויים ובידיים הנכונות.
הישארו איתנו כאן ב-www.SteveTechArc.com ובערוץ ה-YouTube @SteveTechArc (opens in a new tab).
עוזרים לשנות את העולם בשיתוף רעיונות מגניבים עם עמיתים ארכיטקטים ועם מי שנמצאים במסע שלהם לארכיטקטורה!
STA 4.5