מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
מה תלמדו
במדריך הזה תלמדו:
- ליצור שרת proxy ל-API שדורש מפתח API.
- צריך להוסיף מוצר של API.
- הוספת מפתח ורישום אפליקציה.
- שליחת קריאה ל-API באמצעות מפתח API.
חשוב להגן על ה-API מפני גישה לא מורשית. אחת הדרכים לעשות זאת באמצעות מפתחות API (שנקראים גם מפתחות ציבוריים, מפתחות של אפליקציות או מפתחות של אפליקציות).
כשאפליקציה שולחת בקשה API, האפליקציה צריכה לספק מפתח תקין. בזמן הריצה, המדיניות בנושא אימות מפתח API בודק שמפתח ה-API שסופק:
- תקינה
- המסמך לא בוטל
- תואם למפתח ה-API של מוצר ה-API שחושף את הבקשה משאבים
אם המפתח תקין, הבקשה מורשית. אם המפתח לא חוקי, הבקשה תגרום לכשל בהרשאה.
במדריך הזה תלמדו איך ליצור שרת proxy ל-API שדורש API תקין כדי לגשת אליו.
למה תזדקק?
- חשבון Apigee Edge. אם עדיין אין לכם חשבון, אפשר להירשם עם המסלול ב- יצירת חשבון ב-Apigee Edge.
- דפדפן אינטרנט כדי לבצע קריאה ל-API.
- (לא חובה בסעיף 'קרדיט נוסף') cURL מותקן ב- את המחשב שלך כדי לבצע קריאות ל-API משורת הפקודה.
יצירת שרת proxy ל-API
- המשך אל https://apigee.com/edge ונכנסים לחשבון.
כדי לעבור לארגון הרצוי, לוחצים על שם המשתמש העליון של סרגל הניווט הצדדי כדי להציג את התפריט של פרופיל המשתמש, ואז בוחרים את הארגון מהרשימה.
-
לוחצים על API proxy בדף הנחיתה כדי להציג את ה-API. רשימה של שרתי proxy.
- לוחצים על + Proxy.
- בדף יצירת שרת Proxy, בוחרים באפשרות שרת Proxy הפוך (הנפוץ ביותר).
- בדף Proxy Details, מגדירים את שרת ה-Proxy באופן הבא:
בשדה הזה לעשות את זה שם שרת ה-proxy כניסה: helloworld_apikey
נתיב בסיס הפרויקט שינוי ל:
/helloapikey
נתיב הבסיס של הפרויקט הוא חלק מכתובת ה-URL ששימשה ליצירת בקשות לשרת ה-proxy של ה-API.
הערה: להמלצות של Apigee לגבי ניהול גרסאות של API, ראה ניהול גרסאות ב-Web API Design: The missing קישור ספר דיגיטלי.
API קיים כניסה:
http://mocktarget.apigee.net
ההגדרה הזו מגדירה את כתובת אתר היעד ש-Apigee Edge מפעיל לשרת ה-proxy ל-API.
תיאור כניסה: hello world protected by API key
- לוחצים על הבא.
- בדף CommonPolicy (מדיניות משותפת), בקטע אבטחה: Authorization (הרשאה) בוחרים באפשרות API Key (מפתח API) ולוחצים על Next (הבא). הזה יוסיף שני כללי מדיניות לשרת ה-proxy של ה-API.
- בדף מארחים וירטואליים, בוחרים באפשרות ברירת מחדל
secure ואז לוחצים על Next. אם בוחרים באפשרות ברירת המחדל,
כדי לשלוח קריאה ל-API באמצעות
http://
. בחירה באפשרות מאובטח, מאפשרת לקרוא ל-API באמצעותhttps://
. - בדף Summary, מוודאים שהפריסה הבדיקה מתבצעת הסביבה מסומנת ואז לוחצים על Create and Deploy (יצירה ופריסה).
- יופיע אישור על כך ששרת ה-Proxy החדש ל-API וממשק ה-API נוצר בהצלחה, ושרת ה-proxy של ה-API נפרס את סביבת הבדיקה.
- לוחצים על עריכת שרת proxy כדי להציג את הדף סקירה כללית של שרת proxy ל-API.
הצגת המדיניות
- בעורך ה-Proxy ל-API, לוחצים על הכרטיסייה פיתוח. עכשיו אפשר לראות
נוספו שני כללי מדיניות לזרימת הבקשה של שרת ה-proxy ל-API:
- אימות מפתח API: בודק את הקריאה ל-API כדי לוודא קיים מפתח API (נשלח כפרמטר של שאילתה).
- הסרת ה-apikey של פרמטר השאילתה: מדיניות AssignMessage מסירה את מפתח ה-API אחרי שהוא מסומן כדי שלא יעבור והם נחשפים שלא לצורך.
-
לוחצים על סמל המדיניות לאימות מפתח API בתצוגת הזרימה, ומעיינים הגדרת ה-XML של המדיניות בתצוגת הקוד התחתונה. הרכיב
<APIKey>
מציין למדיניות לאן הוא צריך לחפש את מפתח ה-API כשהקריאה מתבצעת. כברירת מחדל, הוא מחפש את בתור פרמטר של שאילתה שנקראapikey
ב-HTTP בקשה:<APIKey ref="request.queryparam.apikey" />
השם
apikey
שרירותי ויכול להיות כל נכס שמכיל את מפתח ה-API.
אפשר לנסות לשלוח קריאה ל-API
בשלב הזה תבצעו קריאה מוצלחת ל-API ישירות אל היעד מבצעים קריאה לא מוצלחת ל-Proxy ל-API כדי לבדוק הוא מוגן במסגרת המדיניות.
-
הצלחה
בדפדפן אינטרנט, עוברים לכתובת הבאה. זהו שירות היעד ששרת ה-Proxy ל-API מוגדר להעביר את הבקשה, אבל תתייחס אליה ישירות:
http://mocktarget.apigee.net
התשובה אמורה להתקבל בהצלחה:
Hello, Guest!
-
כשל
עכשיו מנסים לקרוא לשרת ה-proxy ל-API:
http://ORG_NAME-test.apigee.net/helloapikey
המערכת מחליפה את
ORG_NAME
בשם של ארגון קצה.ללא המדיניות לאימות מפתח API, הקריאה הזו הייתה מעניקה לך כתגובה לשיחה הקודמת. אבל במקרה הזה, צריך לקבל את תגובת השגיאה הבאה:
{"fault":{"faultstring":"Failed to resolve API Key variable request.queryparam.apikey","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}
כלומר, נכון שלא העברתם מפתח API תקף (כמו פרמטר של שאילתה).
בשלבים הבאים צריך להוסיף מוצר API.
הוספת מוצר של API
כדי להוסיף מוצר API באמצעות ממשק המשתמש של Apigee:
- בוחרים באפשרות פרסום > מוצרי API.
- לוחצים על +מוצר API.
מזינים את פרטי המוצר של מוצר ה-API.
שדה תיאור שם שם פנימי של מוצר ה-API. לא מומלץ לציין תווים מיוחדים בשם.
הערה: את לא יכול לערוך את השם לאחר יצירה של מוצר ה-API. עבור לדוגמה,helloworld_apikey-Product
.השם המוצג השם המוצג של מוצר ה-API. השם המוצג נמצא בשימוש ב- בממשק המשתמש ותוכלו לערוך אותו בכל שלב. אם לא צוין אחרת, המערכת תשתמש בערך השם. השדה הזה מאוכלס באופן אוטומטי באמצעות ערך שם; אפשר לערוך או למחוק את התוכן שלו. המסך יכול לכלול תווים מיוחדים. לדוגמה, helloworld_apikey-Product
תיאור תיאור של מוצר ה-API. לדוגמה, Test product for tutorial
.סביבה סביבות שאליהן מוצר ה-API יאפשר גישה. לדוגמה, test
אוprod
.גישה בוחרים באפשרות גלוי לכולם. אישור אוטומטי של בקשות גישה הפעלת אישור אוטומטי של בקשות עיקריות ל-API הזה מכל אפליקציה. מכסה התעלמות מהצגת המדריך הזה. היקפי הרשאות OAuth מותרים התעלמות מהצגת המדריך הזה. - בקטע 'משאבי API', בוחרים את שרת ה-proxy ל-API שרוצים להוסיף
נוצר. לדוגמה,
helloworld_apikey
. - לוחצים על הוספה.
- בקטע נתיבים, מוסיפים את הנתיב '/'.
- לוחצים על הוספה.
- לוחצים על שמירה.
בשלבים הבאים מקבלים את מפתח ה-API הנדרש.
הוספת מפתח ואפליקציה אל ארגון
בשלב הבא נדמה את תהליך העבודה של מפתח שנרשם להשתמש בממשקי ה-API שלכם. למפתחים יהיו אפליקציה אחת או יותר שקוראים לממשקי ה-API שלכם, וכל אפליקציה מקבלת מפתח API ייחודי. כך אתם, ספק ה-API, יכולים בקרה פרטנית על הגישה לממשקי ה-API שלכם ודיווח מפורט יותר על תנועת API לפי אפליקציה.
יצירת מפתח
כדי ליצור מפתח:
- בוחרים באפשרות פרסום > מפתחים בתפריט.
- לוחצים על + Developer.
מזינים את הפקודה הבאה בחלון 'מפתח חדש':
בשדה הזה Enter שם פרטי Keyser
שם משפחה Soze
שם משתמש keyser
אימייל keyser@example.com
- לוחצים על יצירה.
רישום אפליקציה
כדי לרשום אפליקציה למפתחים:
- בוחרים באפשרות פרסום > אפליקציות.
- לוחצים על + אפליקציה.
בחלון אפליקציה חדשה, מזינים את הפקודה הבאה:
pבשדה הזה לעשות את זה שם ושם תצוגה כניסה: keyser_app
חברה / מפתח בחירה: Developer
למפתחים בחירה: Keyser Soze (keyser@example.com)
כתובת URL לקריאה חוזרת (callback) והערות להשאיר ריק - בקטע Credentials, בוחרים אף פעם התפריט Expiry (תאריך תפוגה). פרטי הכניסה לאפליקציה הזו לא יפוגו אף פעם.
- בקטע מוצרים, לוחצים על הוספת מוצר.
- בוחרים באפשרות helloworld_apikey-Product.
- לוחצים על הוספה.
- לוחצים על יצירה מעל ומשמאל לפרטי האפליקציה. כדי לשמור את העבודה שלך.
קבלת מפתח ה-API
כדי למצוא את מפתח ה-API:
- בדף אפליקציות (פרסום > אפליקציות), לוחצים על keyser_app.
בדף keyser_app, לוחצים על Show (הצגה) לצד Key (מפתח). בקטע Credentials. בקטע Product, שימו לב שהמפתח משויך ל-helloworld_apikey
הקצר הזה. התשובות שלך יעזרו לנו להשתפר.- לוחצים על המפתח ומעתיקים אותו. משתמשים בה בשלב הבא.
קריאה ל-API באמצעות מפתח
עכשיו, אחרי שיש לכם מפתח API, אתם יכולים להשתמש בו כדי לשלוח קריאה לשרת ה-proxy ל-API. אישור בדפדפן האינטרנט שלך. מחליפים את שם הארגון ב-Edge עבור ORG_NAME, ומפתח ה-API של API_KEY למטה. צריך לוודא שאין רווחים מיותרים בפרמטר השאילתה.
http://ORG_NAME-test.apigee.net/helloapikey?apikey=API_KEY
עכשיו, כשתבצעו קריאה לשרת ה-proxy ל-API, אתם אמורים לקבל את התשובה הבאה:
Hello, Guest!
מעולה! יצרת שרת proxy ל-API והגנת עליו באמצעות דרישה לכלול מפתח API חוקי בקריאה.
לתשומת ליבכם: באופן כללי לא מומלץ להעביר מפתח API פרמטר של שאילתה. כדאי לך לשקול להעביר אותה בכותרת ה-HTTP במקום זאת.
שיטה מומלצת: העברת המפתח בכותרת ה-HTTP
בשלב הזה צריך לשנות את שרת ה-proxy כדי לחפש את מפתח ה-API
כותרת שנקראת x-apikey
.
- עורכים את ה-Proxy ל-API. בוחרים באפשרות פיתוח > ממשקי proxy ל-API > helloworld_apikey, ועוברים לתצוגה Develop.
-
בוחרים במדיניות אימות מפתח API ומשנים את ה-XML של המדיניות כך: את המדיניות לבדוק ב
header
ולאqueryparam
:<APIKey ref="request.header.x-apikey"/>
- שומרים את שרת ה-proxy של ה-API כדי לפרוס את השינוי.
-
מבצעים את הקריאה הבאה ל-API באמצעות cURL כדי להעביר את מפתח ה-API בתור כותרת שנקראת
x-apikey
. אל תשכחו להחליף את שם הארגון.curl -v -H "x-apikey: API_KEY" http://ORG_NAME-test.apigee.net/helloapikey
לתשומת ליבך: כדי להשלים את השינוי, צריך גם להגדיר את כדי להסיר את הכותרת במקום את פרמטר השאילתה, יש להשתמש במדיניות AssignMessage. לדוגמה:
<Remove> <Headers> <Header name="x-apikey"/> </Headers> </Remove>
נושאים קשורים
הנה כמה נושאים שקשורים ישירות למדריך הזה:
- ניהול מוצרי API
- מפתחות API
- רישום האפליקציה מפתחים
- רישום אפליקציות וניהול מפתחות API
- VerifyAPIKey מדיניות
- AssignMessage מדיניות
יותר לעומק, הגנה על ממשקי API באמצעות מפתחות API היא רק חלק מהסיפור. לעיתים קרובות, ההגנה על ממשקי API כוללת אבטחה נוספת, כמו OAuth.
OAuth הוא פרוטוקול פתוח אשר, בקיצור, מחליף פרטי כניסה (כגון שם משתמש וסיסמה) אסימוני גישה. אסימוני גישה הם מחרוזות אקראיות וארוכות שאפשר להעביר סביב הודעה של צינור עיבוד נתונים, גם מאפליקציה לאפליקציה, בלי לפגוע בפרטי הכניסה המקוריים. בעלי הרשאת גישה לאסימונים יש בדרך כלל תוחלת חיים קצרה, ולכן הם תמיד נוצרים.