הגדרת הפורטל לשימוש ב-IdPs חיצוניים

פורטל Apigee Developer Services (או פשוט הפורטל) פועל כלקוח של Apigee Edge. המשמעות היא שהפורטל לא מתפקד כמערכת עצמאית. במקום זאת, רוב המידע שמשמש את הפורטל מאוחסן בפועל ב-Edge. במקרה הצורך, הפורטל שולח בקשה לאחזור מידע מ-Edge או לשליחת מידע ל-Edge.

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

אם בוחרים להפעיל IDP חיצוני, כמו SAML או LDAP לאימות Edge, אפשר להגדיר את הפורטל לשימוש באימות הזה כששולחים בקשות ל-Edge. הגדרת הפורטל לשימוש ב-IdP חיצוני יוצרת באופן אוטומטי חשבון משתמש חדש במחשב בארגון Edge שהפורטל משתמש בו כדי לשלוח בקשות ל-Edge. למידע נוסף על משתמשי מכונות, תוכלו לקרוא את המאמר אוטומציה של משימות למזהי IdP חיצוניים.

כדי שתמיכת IDP חיצונית בפורטל תהיה מותקנת מראש ותגדיר את מודול ה-SSO של Apigee בצומת של שרת הניהול של Edge. התהליך הכללי להפעלת IdP חיצוני לפורטל הוא:

  1. מתקינים את מודול ה-SSO של Apigee, כפי שמתואר במאמר התקנת SSO של Apigee בזמינות גבוהה.
  2. התקן את הפורטל וודא שההתקנה פועלת כראוי. למידע נוסף, ראו התקנת הפורטל.
  3. הגדר SAML או LDAP בפורטל כפי שמתואר בקטע הזה.
  4. (אופציונלי) משביתים את התכונה 'אימות בסיסי' ב-Edge, כמו שמתואר במאמר השבתת אימות בסיסי ב-Edge.

יצירת משתמש במכונה לפורטל

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

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

מידע על אימות בחשבונות פיתוח בפורטל

כשמגדירים בפורטל שימוש ב-IdP חיצוני, מפעילים בפורטל שימוש ב-SAML או ב-LDAP כדי לבצע אימות עם Edge, כדי שהפורטל יוכל לשלוח בקשות ל-Edge. עם זאת, בפורטל יש תמיכה גם בסוג משתמשים שנקרא developers.

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

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

ניתן גם להגדיר את הפורטל לשימוש ב-SAML או ב-LDAP לאימות מפתחים. במאמר שילוב של SSO דרך SAML עם הפורטל למפתחים מוצגת דוגמה להפעלת SAML באמצעות מודולים של Drupal של צד שלישי.

קובץ תצורה של IdP לפורטל

כדי להגדיר IdP חיצוני לפורטל, עליך ליצור קובץ תצורה שמגדיר את הגדרות הפורטל.

בדוגמה הבאה מוצג קובץ תצורה של פורטל עם תמיכה ב-IdP:

# IP address of Edge Management Server and the node on which the Apigee SSO module is installed.
IP1=22.222.22.222

# URL of Edge management API.
MGMT_URL=http://$IP1:8080/v1

# Organization associated with the portal.
EDGE_ORG=myorg

# Information about the Apigee SSO module (apigee-sso).
# Externally accessible IP or DNS of apigee-sso.
SSO_PUBLIC_URL_HOSTNAME=$IP1
SSO_PUBLIC_URL_PORT=9099
# Default is http. Set to https if you enabled TLS on apigee-sso.
SSO_PUBLIC_URL_SCHEME=http

# SSO admin credentials as set when you installed apigee-sso.
SSO_ADMIN_NAME=ssoadmin
SSO_ADMIN_SECRET=Secret123

# Enables or disables external IDP support.
# Default is "n", which disables external IDP support.
# Change it to "y" to enable external IDs support.
DEVPORTAL_SSO_ENABLED=y

# The name of the OAuth2 client used to connect to apigee-sso.
# The default client name is portalcli.
PORTALCLI_SSO_CLIENT_NAME=portalcli
# OAuth client password using uppercase, lowercase, number, and special characters.
PORTALCLI_SSO_CLIENT_SECRET=Abcdefg@1

# Email address and user info for the machine user created in the Edge org specified
# above by EDGE_ORG.
# This account is used by the portal to make requests to Edge.
# Add this email as an org admin before configuring the portal to use an external IDP.
DEVPORTAL_ADMIN_EMAIL=DevPortal_SAML@google.com
DEVPORTAL_ADMIN_FIRSTNAME=DevPortal
DEVPORTAL_ADMIN_LASTNAME=SAMLAdmin
DEVPORTAL_ADMIN_PWD=Abcdefg@1

# If set, the existing portal OAuth client is deleted and a new one is created.
# The default value is "n".
# Set to "y" when you configure the external IDP and change the value of
# any of the PORTALCLI_* properties.
PORTALCLI_SSO_CLIENT_OVERWRITE=y

כדי להפעיל תמיכת IDP חיצונית בפורטל:

  1. בממשק המשתמש של Edge, מוסיפים את המשתמש במכונה שצוין על ידי DEVPORTAL_ADMIN_EMAIL לארגון שמשויך לפורטל בתור אדמין ארגוני.
  2. כדי להגדיר את ה-IdP החיצוני בפורטל, מריצים את הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile

    כאשר configFile הוא קובץ התצורה המתואר למעלה.

  3. מתחברים לפורטל בתור אדמין של הפורטל.
  4. בתפריט הראשי של Drupal, בוחרים באפשרות Configuration > Dev Portal (הגדרה > Dev Portal. מופיע המסך של הגדרת הפורטל, כולל ההגדרות של ה-IdP החיצוני:

    שימו לב לנקודות הבאות:

    • התיבה הארגון הזה מופעל באמצעות SAML מסומנת
    • נקודת הקצה של מודול ה-SSO של Apigee מולאה
    • השדות מפתח API וסוד צרכן של לקוח OAuth בפורטל ימולאו
    • ההודעה החיבור התבצע בהצלחה מופיעה כשלוחצים על הלחצן בדיקת החיבור.
  5. אפשר ללחוץ על הלחצן בדיקת החיבור כדי לבדוק מחדש את החיבור בכל שלב.

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

השבתה של IdP חיצוני בפורטל

אם בחרת להשבית את ה-IdP החיצוני שלך לתקשורת בין הפורטל לבין Edge, הפורטל לא יוכל יותר לשלוח בקשות ל-Edge. מפתחים יכולים להתחבר לפורטל אבל לא יכולים לראות את המוצר או ליצור אפליקציות.

כדי להשבית אימות IdP חיצוני בפורטל:

  1. פותחים את קובץ התצורה שבו השתמשתם קודם כדי להפעיל את ה-IdP החיצוני.
  2. מגדירים את הערך של המאפיין DEVPORTAL_SSO_ENABLED ל-n, כמו בדוגמה הבאה:
    DEVPORTAL_SSO_ENABLED=n
  3. כדי להגדיר את הפורטל, מריצים את הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile