אימות
כל בקשת API של RedCloud מאומתת ותחומה ל-Tenant. ה-API תומך במספר סוגי אישורים, הנבדקים לפי סדר עדיפות. לאוטומציה, השתמשו במפתח API פר-משתמש.
סוגי אישורים
Section titled “סוגי אישורים”| סוג | כותרת | הערות |
|---|---|---|
| מפתח master (break-glass) | X-Master-Key (+ X-Break-Glass-Reason בייצור) | כפוף-ממשל, תחום, מבוקר; כבוי כברירת מחדל |
| JWT session | Authorization: Bearer <token> | מנגנון ה-session של ממשק הווב |
| מפתח API פר-משתמש | X-API-Key: cspm_… | מומלץ לאוטומציה; מאומת מול ה-DB |
| מפתח API גלובלי | X-API-Key: <מפתח מוגדר> | מדור קודם; תפקיד מוגבל בייצור |
אם לא סופק אישור תקף, ייצור מחזיר 401 UNAUTHORIZED.
שימוש במפתח API
Section titled “שימוש במפתח API”צרו מפתח תחת ניהול מערכת → User Management → API Keys, ושלחו אותו בכותרת X-API-Key:
curl "https://<your-host>/scans" \ -H "X-API-Key: cspm_xxxxxxxxxxxxxxxx"מפתחות פר-משתמש נושאים את ההרשאות של תפקידם, הנפתרות חיות מבסיס הנתונים בכל בקשה (כך ששינויי תפקיד נכנסים לתוקף תוך שניות). אם אימות המפתח לא מצליח להגיע לבסיס הנתונים, הבקשה נכשלת במצב סגור (503), ולעולם אינה יורדת לאישור חלש יותר.
Sessions של JWT
Section titled “Sessions של JWT”אפליקציית הווב מתחברת דרך POST /auth/login (אימייל/סיסמה, אופציונלית עם קוד TOTP), שמחזיר access token (קצר-מועד) ו-refresh token. שלחו את ה-access token ככותרת Authorization: Bearer <token>; רעננו עם POST /auth/refresh.
הקשר Tenant
Section titled “הקשר Tenant”הזהות המאומתת קובעת את ה-Tenant; ה-API מגדיר אותו מתוך ה-tenant_id שב-JWT. כותרת הבקשה X-Tenant-ID מכובדת רק עבור משתמשים מורשים מספיק (master, או גם admin.users וגם admin.settings). ה-Tenant שנפתר מוחזר בכותרת התגובה X-Tenant-ID. אין גישה חוצת-Tenant.
Break-glass (מפתח master)
Section titled “Break-glass (מפתח master)”מפתח ה-master מיועד לחירום: כבוי כברירת מחדל, מופעל רק עם BREAK_GLASS_ENABLED=true ו-MASTER_KEY מוגדר, מוגבל-קצב, תחום-זמן, ומבוקר במלואו. הוא מעניק מערך הרשאות תחום — לעולם לא wildcard — ולעולם אינו עוקף בידוד Tenant.
דוגמאות
Section titled “דוגמאות”# התחברות (JWT)curl -X POST "https://<your-host>/auth/login" \ -H "Content-Type: application/json" \ -d '{"email":"me@example.com","password":"…"}'
# שימוש ב-access tokencurl "https://<your-host>/auth/me" \ -H "Authorization: Bearer <access_token>"הערות ומגבלות
Section titled “הערות ומגבלות”- כל נקודות הקצה זמינות גם תחת קידומת
/api/v1(ראו נקודות קצה). - כל בקשה נושאת
X-Correlation-IDשאפשר לצטט לתמיכה. - חלק מנקודות הקצה דורשות בנוסף MFA או תכונה ברישיון — ראו הרשאות והיקפים.