אימות והרשאה מרכזיים בשער API

ככל שמספר ה-microservices גדל, שכפול בדיקות ה-token בכל אחד מהם מסבך את התחזוקה ומאט את הבקשות. אנחנו מעבירים את האימות וההרשאה לרמת ה-API Gateway כך שהבדיקה מתבצעת פעם אחת והשירותים מקבלים נתונים מאומתים. הצוות שלנו מספק את הפרויקט במפתח מלא—מביקורת ועד הטמעה ותמיכה שוטפת—ומבטיח פתרון אמין וסקלאבילי.

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

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

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
אימות והרשאה מרכזיים בשער API
מורכב
~3-5 ימים

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

שאלות נפוצות

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

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113
  • פיתוח אתר עבור SBH Partners
    פיתוח אתר עבור SBH Partners
    1201
  • פיתוח אתר עבור Red Pear
    פיתוח אתר עבור Red Pear
    619

הערה: כאשר יש לך יותר משלושה מיקרוסרוויסים, שכפול לוגיקת אימות הטוקן בכל אחד מהם הופך לכאב ראש. כל שירות פונה למסד הנתונים או ל-IdP חיצוני כדי לאמת JWT, מה שמוסיף 20–50 אלפיות שנייה של חביון לכל בקשה ומסבך ביקורות אבטחה. אתה מקבל N+1 בדיקות, שטח תקיפה מוגדל, וביטול טוקן דורש סנכרון בין כל השירותים. אנו מציעים להעביר את האימות וההרשאה לשכבת ה-API Gateway. הבקשה נבדקת פעם אחת, והשירותים מקבלים נתונים מאומתים דרך כותרות HTTP. גישה זו מפחיתה את החביון עד פי חמישה, מפשטת את התחזוקה, ומספקת נקודת ביקורת אחת. היא מקצצת בעלויות תשתית האבטחה בעד 40% באמצעות ריכוזיות. החיסכון הממוצע בעלויות תפעול הוא 35%. הניסיון שלנו: למעלה מ-5 שנים, יותר מ-30 פרויקטים של API Gateway. אנו מספקים שירות סוהר עם אחריות ל-6 חודשים. קבל אימות סוהר—צור קשר לייעוץ.

כיצד API Gateway פותר את בעיית האימות הכפול?

ה-Gateway הופך לנקודת הכניסה היחידה: הלקוח שולח בקשה, ה-Gateway בודק את הטוקן (JWT/OAuth2/API Key), מחלץ את ה-claims, ומעביר אותם לשירותי ה-upstream דרך כותרות. השירותים סומכים לחלוטין על ה-Gateway ואינם מאמתים טוקנים בעצמם. גישה ישירה לשירותים נחסמת על ידי מדיניות רשת. אימות מרכזי מפשט ביקורות אבטחה פי שלושה בהשוואה לתכנית מבוזרת.

Client → [API Gateway: validate JWT, extract claims] → Service ↑ X-User-ID, X-Role, X-Tenant headers 

איך זה עובד

עבור כל בקשה, ה-Gateway מבצע: אימות חתימה ותפוגה, חילוץ claims, בדיקת בקרת גישה (ACL), והעברת כותרות ל-upstream. האימות אורך פחות מ-5 אלפיות שנייה.

אילו פרוטוקולי אימות נתמכים?

אנו מגדירים את כל התכניות הפופולריות. השוואת זמני הטמעה:

פרוטוקול תרחיש זמן הטמעה
JWT (RS256/HS256) APIs פנימיים, מובייל 2–3 ימים
OAuth2 (קוד הרשאה) לקוחות חיצוניים, אינטגרציות 3–4 ימים
OIDC כניסה אחידה, ארגוני 3–5 ימים
mTLS שירות-לשירות, B2B 4–5 ימים

לכל פרוטוקול יש ניואנסים משלו—נכסה אותם עם דוגמאות.

אימות JWT ב-Kong

דוגמה לתצורת תוסף JWT ב-Kong

הגדרת אימות JWT בסיסי ב-Kong אורכת מספר דקות:

# Включить JWT плагин
curl -X POST http://localhost:8001/plugins \
  -d "name=jwt"

# Создать consumer и credentials
curl -X POST http://localhost:8001/consumers \
  -d "username=frontend-app"

curl -X POST http://localhost:8001/consumers/frontend-app/jwt \
  -d "algorithm=RS256" \
  -d "rsa_public_key=$(cat /keys/public.pem)"

הלקוח שולח Client → [API Gateway: validate JWT, extract claims] → Service ↑ X-User-ID, X-Role, X-Tenant headers . Kong מאמת את החתימה והתפוגה—בשגיאה מחזיר 401. ראה תוסף JWT של Kong לפרטים.

OIDC ב-APISIX עם Keycloak

לאינטגרציה עם Keycloak, אנו משתמשים בתוסף openid-connect:

{
  "plugins": {
    "openid-connect": {
      "client_id": "api-gateway",
      "client_secret": "secret",
      "discovery": "https://keycloak.company.com/realms/myapp/.well-known/openid-configuration",
      "scope": "openid profile",
      "token_signing_alg_values_expected": ["RS256"],
      "set_access_token_header": true,
      "set_userinfo_header": true
    }
  }
}

לאחר התצורה, ה-Gateway מאמת אוטומטית את ה-ID token ומעביר את פרטי המשתמש ל-upstream.

כיצד להגדיר RBAC ו-Lambda Authorizer?

כדי להגביל גישה לנקודות קצה לפי תפקיד, אנו משתמשים ב-RBAC; ללוגיקה מורכבת, ב-authorizers מותאמים אישית.

תצורת RBAC על ה-Gateway

ב-Kong, RBAC מיושם דרך תוסף ACL. צור קבוצות והקצה צרכנים:

# ACL плагин для сервиса admin-api
curl -X POST http://localhost:8001/services/admin-api/plugins \
  -d "name=acl" \
  -d "config.allow[]=admin-group" \
  -d "config.hide_groups_header=true"

# Назначить consumer alice в группу admin-group
curl -X POST http://localhost:8001/consumers/alice/acl \
  -d "group=admin-group"

Lambda Authorizer מותאם אישית

עבור משאבים עם הרשאות גמישות (למשל, גישה מבוססת דיירים), אנו משתמשים ב-AWS Lambda Authorizer. הוא מקבל את ה-JWT, מחלץ claims, ומחזיר מדיניות IAM עם הקשר.

כיצד מועברים Claims ומטופל Refresh Token?

לאחר האימות, ה-Gateway מוסיף כותרות—השירותים מקבלים את הקשר המשתמש. כדי למנוע הפרעות בסשן, אנו מיישמים חידוש טוקן אוטומטי.

-- Kong plugin: извлечение claims из JWT
local jwt_decoder = require "kong.plugins.jwt.jwt_parser"

local function execute(conf)
    local token = kong.request.get_header("authorization")
    if token then
        token = token:gsub("Bearer ", "")
        local jwt_obj = jwt_decoder:new(token)
        local claims = jwt_obj.claims
        kong.service.request.set_header("X-User-ID", claims.sub)
        kong.service.request.set_header("X-Tenant-ID", claims.tenant_id)
        kong.service.request.set_header("X-User-Role", claims.role)
    end
end

השוואת ביצועים: עם ובלי Gateway

תרחיש חביון ממוצע לבקשה בדיקות טוקן ביקורת אבטחה
ללא Gateway 20–50 אלפיות שנייה לכל שירות N+1 (כל שירות) מורכבת, מבוזרת
עם Gateway 5–10 אלפיות שנייה (בדיקה אחת) 1 נקודה אחת

ה-Gateway מפחית את החביון פי 2–5 ומפשט את הביקורת.

תהליך הטמעה שלב-אחר-שלב

  1. ניתוח ארכיטקטורה—סקירת תכנית האימות הנוכחית, זיהוי פרוטוקולים ו-IdP.
  2. בחירת Gateway—בחירת פתרון (Kong, APISIX, AWS API Gateway, Traefik, Nginx) לפי עומס ותקציב.
  3. הגדרת אימות—חיבור JWT/OAuth2/OIDC/mTLS, אינטגרציה עם IdP (Keycloak, Auth0, Okta).
  4. יישום הרשאה—הגדרת RBAC/ABAC, מדיניות מותאמת אישית דרך Lambda Authorizer.
  5. בדיקות ופריסה—בדיקת תרחישים (תוחלת חיים של טוקן, חידוש, ביטול) ופריסה ל-staging/production.

מה כלול בהטמעה?

  • ניתוח הארכיטקטורה הנוכחית ובחירת תכנית (JWT/OAuth2/OIDC/mTLS).
  • תצורת Gateway (Kong, APISIX, AWS API Gateway, Traefik, Nginx).
  • אינטגרציה עם ספק זהויות (Keycloak, Auth0, Okta, IdP מותאם אישית).
  • העברת claims בכותרות, יישום RBAC/ABAC.
  • פיתוח Lambda Authorizer מותאם אישית במידת הצורך.
  • תיעוד למפתחים והדרכת צוות.
  • תמיכה למשך שבועיים לאחר המסירה.

לוחות זמנים

אימות JWT/OIDC בסיסי עם RBAC: 2 עד 3 ימי עסקים. עם Lambda Authorizer מותאם אישית ו-mTLS: עד 5 ימים. להערכת עלות וזמן אישית לפרויקט שלך, צור קשר. הזמן הטמעה עכשיו—קבל ייעוץ.