עיצוב נגדי: הגדרת זמן תפוגה ארוך לאסימוני OAuth

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

באמצעות Apigee Edge מספקת מסגרת OAuth 2.0 לממשקי API מאובטחים. OAuth2 היא אחת מסכימות האימות וההרשאות הפופולריות ביותר בתקן פתוח שמבוססות על אסימונים. הוא מאפשר לאפליקציות לקוח לגשת לממשקי API מטעם משתמשים בלי לדרוש מהמשתמשים לחשוף את שם המשתמש והסיסמה שלהם.

Apigee Edge מאפשר למפתחים ליצור אסימוני גישה ו/או רענון על ידי הטמעה של כל אחד מארבעת סוגי ההרשאות של OAuth2 – פרטי כניסה של לקוח, סיסמה, משתמע וקוד הרשאה - באמצעות מדיניות OAuthv2. אפליקציות לקוח משתמשות באסימוני גישה כדי לצרוך ממשקי API מאובטחים. לכל אסימון גישה יש מועד תפוגה משלו. אפשר להגדיר את מועד התפוגה במדיניות OAuthv2.

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

דוגמת עיצוב

הגדרת זמן תפוגה ארוך לאסימון הגישה ו/או לאסימון הרענון במדיניות OAuthv2, מובילה לצבירת אסימוני OAuth ולשימוש מוגבר בשטח האחסון בצומתי Cassandra.

בדוגמה הבאה של מדיניות OAuthV2 מוצג זמן תפוגה ארוך של 200 ימים לאסימוני רענון:

<OAuthV2 name="GenerateAccessToken">
    <Operation>GenerateAccessToken</Operation>
    <ExpiresIn>1800000</ExpiresIn> <!-- 30 minutes -->
    <RefreshTokenExpiresIn>17280000000</RefreshTokenExpiresIn> <!-- 200 days -->
    <SupportedGrantTypes>
      <GrantType>password</GrantType>
    </SupportedGrantTypes>
    <GenerateResponse enabled="true"/>
</OAuthV2>

בדוגמה שלמעלה:

  • אסימון הגישה מוגדר עם זמן תפוגה נמוך יחסית של 30 דקות.
  • אסימון הרענון מוגדר עם זמן תפוגה ארוך מאוד של 200 ימים.
  • אם התנועה ל-API הזה נמשכת 10 בקשות לשנייה, הוא יכול ליצור עד 864,000 אסימונים ביום.
  • התוקף של אסימוני הרענון פג אחרי 200 יום בלבד, כך שהם נשמרים במאגר הנתונים (Cassandra) למשך זמן רב ולכן מובילים לצבירה רציפה.

השפעה

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

שיטה מומלצת

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

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

כך אפשר להבטיח את הפרטים הבאים:

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

קריאה נוספת