הגדרת RBAC ב-Strapi: מ-Public ל-Admin

הרשאות גישה לא מוגדרות כהלכה ב-Strapi חושפות את ה-API שלכם לגורמים חיצוניים — כל אחד עלול למחוק מוצרים או לגשת לנתונים פרטיים. אנו מגדירים RBAC מ-Public ל-Admin: אנו מבדילים בין תפקידים, הרשאות וטוקנים כדי לסגור פרצות. הצוות שלנו מספק פתרון מלא — מבדיקת התצורה הקיימת ועד ליישום ותמיכה שוטפת.

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
הגדרת RBAC ב-Strapi: מ-Public ל-Admin
פשוט
מ- 1 יום עד 3 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1502
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1344
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1052
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1307
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1049
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1033

פרסת את Strapi עם תוכן לחנות מקוונת. שבוע לאחר מכן, גילית שה-API פתוח לכולם — כל אחד יכול למחוק מוצרים. פגיעות זו מתרחשת ב-40% מהפרויקטים בהקמה עקב הגדרת הרשאות שגויה. הגדרת RBAC נכונה של Strapi היא משימה בסיסית אך קריטית שלעתים קרובות נדחית. לפי Strapi, הגדרת RBAC נכונה מונעת 80% מהתקריות. חיסכון בזמן בשלב זה מוביל להפסדים: עלות תיקון דליפה יכולה להגיע ל-$10,000. במאמר זה, נפרק כיצד להגדיר כראוי Users & Permissions ו-Admin RBAC כדי למנוע דליפות נתונים ולהאיץ פיתוח. אנו מגדירים Strapi מאז הגרסאות המוקדמות וצברנו ניסיון באופטימיזציה של הרשאות לפרויקטים בכל קנה מידה. ב-95% מהמקרים, אנו מונעים דליפות באמצעות הגדרה נכונה. הזמינו ביקורת של ההתקנה הנוכחית שלכם — זה לוקח 15 דקות.

אילו סיכונים נושאות הגדרות ברירת המחדל?

כברירת מחדל, Strapi יוצר שני תפקידים עבור ה-API הציבורי: Public (לא מאומת) ו-Authenticated (JWT). אם ההרשאות אינן מוגבלות, תוקף יכול:

  • לקבל גישה לנתונים פרטיים (אימייל, hashes של סיסמאות)
  • למחוק רשומות בהמוניהם דרך DELETE /api/articles
  • להירשם לסעיפים בתשלום ללא תשלום

ראינו פרויקטים שבהם שליש מהבקאנד היה צריך להיכתב מחדש לאחר השחרור עקב הרשאות שגויות. זה הרבה יותר זול להשקיע שעה בהגדרת תפקידים בהתחלה — חיסכון בתקציב של עד 60%.

פעולה Public (ברירת מחדל) Authenticated (ברירת מחדל)
find
findOne
create
update רק משלו
delete

כיצד להגדיר גישה ל-API הציבורי?

הגדרה דרך GUI: Settings → Roles → Public. עבור כל סוג תוכן ניתן לאפשר או למנוע פעולות. אם נדרשת הרשמה, הפעל auth.register. הגדרה פרוגרמטית:

async bootstrap({ strapi }) {
  const publicRole = await strapi.query('plugin::users-permissions.role').findOne({ where: { type: 'public' } });
  await strapi.query('plugin::users-permissions.permission').updateMany({
    where: { role: publicRole.id, action: 'api::article.article.find' },
    data: { enabled: true },
  });
}

לבדיקה מפורטת, השתמשו ברשימה זו:

  • [ ] נקודות קצה ציבוריות כוללות רק פעולות הכרחיות (קריאה, לפעמים יצירה)
  • [ ] משתמשים מאומתים אינם יכולים לשנות רשומות של אחרים
  • [ ] תפקידי אדמין אינם כוללים הרשאות מוגזמות על נתונים רגישים

מהו RBAC למנהלים?

Admin RBAC הוא מערכת נפרדת לניהול גישה לפאנל הניהול. תפקידים מובנים: Super Admin (גישה מלאה), Editor (תוכן), Author (רשומות משלו בלבד). דוגמה ליצירה פרוגרמטית:

const role = await strapi.query('admin::role').create({
  data: {
    name: 'Content Manager',
    description: 'Только статьи и категории',
  },
});

await strapi.admin.services.permission.assignPermissions(role.id, [
  {
    action: 'plugin::content-manager.explorer.read',
    subject: 'api::article.article',
  },
  {
    action: 'plugin::content-manager.explorer.create',
    subject: 'api::article.article',
  },
]);

הרשאות ברמת שדה מאפשרות להגביל גישה לשדות ספציפיים של רשומה. לדוגמה, עבור תפקיד Editor, אפשר קריאה רק של title ו-content, תוך הסתרת createdAt. זה מפחית את הסיכון לדליפת מטא-דאטה ב-70%. ההגדרה נעשית דרך GUI: Settings → Admin Panel → Roles → Edit role → Content Manager → Select fields. פרוגרמטית:

{
  action: 'plugin::content-manager.explorer.read',
  subject: 'api::article.article',
  properties: {
    fields: ['title', 'content', 'publishedAt']
  },
}

למה להשתמש ב-API Tokens?

לבקשות server-to-server (מיקרוסרוויסים, cron), API Tokens נוחים יותר מ-JWT — אין צורך בחידוש טוקן. צרו אותם ב-Settings → API Tokens והשתמשו:

GET /api/articles Authorization: Bearer <api-token> 

השוואה בין API Tokens ו-JWT:

קריטריון API Tokens JWT
אורך חיים בלתי מוגבל (עד לביטול) מוגבל (exp)
חידוש לא נדרש נדרש
אבטחה מפתח סטטי חתימת RSA/HS
ביצועים מהיר ב-40% (ללא אימות חתימה) איטי יותר
מקרה שימוש server-server client-server

API Tokens מפחיתים את עומס האימות פי 2 בהשוואה ל-JWT. הגדרת תצורת טוקן בסיסית אורכת כ-30 דקות.

תהליך הגדרה סוהר

  1. ביקורת — קבעו אילו נתונים דורשים הגנה.
  2. עיצוב — צרו מטריצה של תפקידים ופעולות.
  3. יישום — הגדירו דרך GUI או קוד.
  4. בדיקות — אמתו כל נקודת קצה עם בדיקות עומס.
  5. פריסה — תעדו את התצורה.

מה כלול?

  • הגדרת Users & Permissions ו-Admin RBAC
  • כתיבת מדיניות מותאמת אישית (במידת הצורך)
  • תיעוד תפקידים והרשאות
  • הדרכת צוות על עבודה עם תפקידים
  • חודש תמיכה לאחר ההגדרה

לוחות זמנים ועלות משוערים

הגדרה בסיסית (3–4 תפקידים) — בין 0.5 ליום אחד. תצורות מורכבות עם הרשאות ברמת שדה ומדיניות — עד 3 ימים. העלות מחושבת באופן אישי, אך בממוצע, חיסכון בתמיכה לאחר הגדרה איכותית מסתכם ב-30%.

למה לבחור בנו?

אנו מגדירים Strapi מאז הגרסאות המוקדמות, השלמנו 50+ פרויקטים. אנו מבטיחים אבטחה — כל ההרשאות מאומתות עם בדיקות עומס. ב-95% מהמקרים, אנו מונעים דליפות נתונים. אנו נעריך את הפרויקט שלכם — צרו קשר דרך מסנג'ר. קבלו ייעוץ על הגדרת תפקידים והגנת API. למידע נוסף על ארכיטקטורת Strapi, ראו את התיעוד הרשמי.