คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
สิ่งที่คุณจะได้เรียนรู้
ในบทแนะนำนี้ คุณจะได้เรียนรู้เกี่ยวกับสิ่งต่อไปนี้
- สร้างพร็อกซี API ที่ต้องใช้คีย์ API
- เพิ่มผลิตภัณฑ์ API
- เพิ่มนักพัฒนาแอปและลงทะเบียนแอป
- เรียก API ด้วยคีย์ API
การปกป้อง API ของคุณจากการเข้าถึงที่ไม่ได้รับอนุญาตเป็นสิ่งสำคัญ วิธีเดียวในการ ซึ่งทำได้ด้วยคีย์ API (หรือเรียกว่าคีย์สาธารณะ ผู้บริโภค คีย์หรือคีย์แอป)
เมื่อแอปส่งคำขอไปยัง API แอปต้องให้คีย์ที่ถูกต้อง ขณะรันไทม์ นโยบาย "ยืนยันคีย์ API" ตรวจสอบว่าคีย์ API ที่ระบุมีลักษณะดังนี้
- ถูกต้อง
- ยังไม่ได้เพิกถอน
- ตรงกับคีย์ API สำหรับผลิตภัณฑ์ API ที่แสดงคีย์ API ที่ขอ ทรัพยากร
หากคีย์ถูกต้อง คำขอจะได้รับอนุญาต หากคีย์ไม่ถูกต้อง พารามิเตอร์ ทำให้การให้สิทธิ์ล้มเหลว
ในบทแนะนำนี้ คุณจะสร้างพร็อกซี API ที่ต้องใช้ API ที่ถูกต้อง เพื่อเข้าถึงคีย์ได้
สิ่งที่ต้องมี
- บัญชี Apigee Edge หากยังไม่มี คุณสามารถลงชื่อสมัครใช้ คำแนะนำที่ การสร้างบัญชี Apigee Edge
- เว็บเบราว์เซอร์ที่จะเรียก API
- (ไม่บังคับสำหรับส่วนเครดิตเพิ่มเติม) cURL ติดตั้งใน เครื่องของคุณเพื่อทำการเรียก API จากบรรทัดคำสั่งได้
สร้างพร็อกซี API
- ไปที่ https://apigee.com/edge แล้วลงชื่อเข้าใช้
เปลี่ยนเป็นองค์กรที่ต้องการโดยคลิกชื่อผู้ใช้ที่ ด้านบนของแถบนำทางด้านข้างเพื่อแสดงเมนูโปรไฟล์ผู้ใช้ จากนั้น การเลือกองค์กรจากรายการ
-
คลิกพร็อกซี API ในหน้า Landing Page เพื่อแสดง API รายการพร็อกซี
- คลิก + พร็อกซี
- ในหน้าสร้างพร็อกซี ให้เลือกพร็อกซีแบบย้อนกลับ (ใช้มากที่สุด)
- ในหน้ารายละเอียดพร็อกซี ให้กำหนดค่าพร็อกซีดังนี้
ในฟิลด์นี้ สิ่งที่ควรทำ ชื่อพร็อกซี ป้อน helloworld_apikey
เส้นทางฐานของโปรเจ็กต์ เปลี่ยนเป็น:
/helloapikey
เส้นทางฐานของโปรเจ็กต์เป็นส่วนหนึ่งของ URL ที่ใช้เพื่อสร้าง ไปยังพร็อกซี API
หมายเหตุ: สำหรับคำแนะนำของ Apigee เกี่ยวกับการกำหนดเวอร์ชัน API ดู การกำหนดเวอร์ชันในการออกแบบ Web API: The Missing ลิงก์ eBook
API ที่มีอยู่ ป้อน
http://mocktarget.apigee.net
ซึ่งระบุ URL เป้าหมายที่ Apigee Edge เรียกใช้ใน ไปยังพร็อกซี API
คำอธิบาย ป้อน hello world protected by API key
- คลิกถัดไป
- ในหน้านโยบายทั่วไปสำหรับความปลอดภัย ให้ทำดังนี้ การให้สิทธิ์ เลือกคีย์ API แล้วคลิกถัดไป ช่วงเวลานี้ จะเพิ่มนโยบาย 2 รายการลงในพร็อกซี API
- ในหน้าโฮสต์เสมือน ให้เลือกค่าเริ่มต้น และ
secure แล้วคลิกถัดไป การเลือกการอนุญาตเริ่มต้น
ให้เรียกใช้ API ของคุณด้วย
http://
เลือกปลอดภัย ช่วยให้คุณเรียก API ด้วยhttps://
ได้ - ในหน้าสรุป ให้ตรวจสอบว่าการติดตั้งใช้งานการทดสอบ เลือกสภาพแวดล้อมไว้ แล้วคลิกสร้างและทำให้ใช้งานได้
- คุณจะเห็นการรับทราบว่าพร็อกซี API ใหม่และ API ของคุณ สร้างผลิตภัณฑ์เรียบร้อยแล้ว และทำให้พร็อกซี API ใช้งานได้ สภาพแวดล้อมการทดสอบของคุณ
- คลิกแก้ไขพร็อกซีเพื่อแสดงหน้าภาพรวมสำหรับ พร็อกซี API
ดูนโยบาย
- ในตัวแก้ไขพร็อกซี API ให้คลิกแท็บพัฒนา คุณจะเห็น
มีการเพิ่มนโยบาย 2 รายการในขั้นตอนคำขอของพร็อกซี API ดังนี้
- ยืนยันคีย์ API: ตรวจสอบการเรียก API เพื่อให้แน่ใจว่าคีย์ API ถูกต้อง มีคีย์ API อยู่ (ส่งเป็นพารามิเตอร์การค้นหา)
- นำคีย์ API พารามิเตอร์การค้นหาออก: นโยบาย AssignMessage ที่ นำคีย์ API ออกหลังจากที่ตรวจสอบแล้วเพื่อไม่ให้ส่งผ่าน และเปิดเผยออกโดยไม่จำเป็น
-
คลิกไอคอนนโยบายคีย์ API ในมุมมองโฟลว์ แล้วดูที่ การกำหนดค่า XML ของนโยบายในมุมมองโค้ดด้านล่าง องค์ประกอบ
<APIKey>
จะบอกนโยบายตำแหน่งที่ควร มองหาคีย์ API เมื่อมีการเรียก โดยค่าเริ่มต้น เครื่องมือจะมองหา คีย์เป็นพารามิเตอร์การค้นหาที่ชื่อว่าapikey
ใน HTTP คำขอ:<APIKey ref="request.queryparam.apikey" />
ชื่อ
apikey
กำหนดเองและเป็นพร็อพเพอร์ตี้ใดก็ได้ ที่มีคีย์ API
ลองเรียกใช้ API
ในขั้นตอนนี้ คุณจะเรียก API ที่สำเร็จไปยังเป้าหมายโดยตรง แล้ว คุณต้องเรียกใช้พร็อกซี API เพื่อดูว่า ก็ได้รับการปกป้องโดยนโยบาย
-
สำเร็จ
ไปยังที่อยู่ต่อไปนี้ในเว็บเบราว์เซอร์ นี่คือบริการเป้าหมายที่มีการกำหนดค่าพร็อกซี API ให้ส่งต่อ คำขอไปยัง แต่ตอนนี้คุณจะส่งคำขอโดยตรง
http://mocktarget.apigee.net
คุณควรได้รับการตอบกลับที่สำเร็จนี้:
Hello, Guest!
-
ความล้มเหลว
ตอนนี้ให้ลองเรียกใช้พร็อกซี API ของคุณ
http://ORG_NAME-test.apigee.net/helloapikey
แทนที่
ORG_NAME
ด้วยชื่อ องค์กร Edgeหากไม่มีนโยบายคีย์ API การยืนยัน การเรียกนี้จะทำให้คุณได้รับ เป็นการโทรครั้งก่อน แต่ในกรณีนี้ คุณควรจะได้รับ การตอบกลับข้อผิดพลาดต่อไปนี้:
{"fault":{"faultstring":"Failed to resolve API Key variable request.queryparam.apikey","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}
ซึ่งหมายความว่าคุณไม่ได้ส่งคีย์ API ที่ถูกต้อง (เนื่องจาก พารามิเตอร์การค้นหา)
ในขั้นตอนถัดไป คุณจะต้องเพิ่มผลิตภัณฑ์ API
เพิ่มผลิตภัณฑ์ API
วิธีเพิ่มผลิตภัณฑ์ API โดยใช้ Apigee UI
- เลือกเผยแพร่ > ผลิตภัณฑ์ API
- คลิก +ผลิตภัณฑ์ API
ป้อนรายละเอียดผลิตภัณฑ์สำหรับผลิตภัณฑ์ API
ช่อง รายละเอียด ชื่อ ชื่อภายในของผลิตภัณฑ์ API ห้าม ระบุอักขระพิเศษในชื่อ
หมายเหตุ: คุณ ไม่สามารถแก้ไขชื่อเมื่อสร้างผลิตภัณฑ์ API แล้ว สำหรับ ตัวอย่างเช่นhelloworld_apikey-Product
ชื่อที่แสดง ชื่อที่แสดงสำหรับผลิตภัณฑ์ API ชื่อที่แสดงใช้ใน UI และสามารถแก้ไขได้ทุกเมื่อ หากไม่ได้ระบุ ค่า ระบบจะใช้ค่าชื่อ ระบบจะเติมข้อมูลในช่องนี้โดยอัตโนมัติโดยใช้ ค่าชื่อ คุณจะแก้ไขหรือลบเนื้อหาก็ได้ จอแสดงผล สามารถใส่อักขระพิเศษได้ ตัวอย่างเช่น helloworld_apikey-Product
คำอธิบาย คำอธิบายผลิตภัณฑ์ API เช่น Test product for tutorial
สภาพแวดล้อม สภาพแวดล้อมที่ผลิตภัณฑ์ API จะอนุญาตให้เข้าถึง เช่น test
หรือprod
การเข้าถึง เลือกสาธารณะ อนุมัติคำขอสิทธิ์เข้าถึงโดยอัตโนมัติ เปิดใช้การอนุมัติคำขอคีย์สำหรับ API นี้โดยอัตโนมัติ จากแอปใดก็ได้ โควต้า ละเว้นสำหรับบทแนะนำนี้ ขอบเขต OAuth ที่อนุญาต ละเว้นสำหรับบทแนะนำนี้ - ในส่วนทรัพยากร API ให้เลือกพร็อกซี API ที่คุณเพิ่ง
สร้าง แล้ว เช่น
helloworld_apikey
- คลิกเพิ่ม
- ในส่วนเส้นทาง ให้เพิ่มเส้นทาง "/"
- คลิกเพิ่ม
- คลิกบันทึก
ในขั้นตอนถัดไป คุณจะได้รับคีย์ API ที่จำเป็น
เพิ่มนักพัฒนาแอปและแอปลงใน องค์กร
ถัดไป เราจะจำลองกระบวนการทำงานของนักพัฒนาซอฟต์แวร์ซึ่งลงชื่อสมัครใช้ ใช้ API ของคุณ นักพัฒนาซอฟต์แวร์จะมีแอป ที่เรียกใช้ API ของคุณ และแต่ละแอปก็จะได้รับคีย์ API ที่ไม่ซ้ำกัน ซึ่งทำให้คุณซึ่งเป็นผู้ให้บริการ API ได้ การควบคุมการเข้าถึง API แบบละเอียดและการรายงานที่ละเอียดยิ่งขึ้นใน การรับส่งข้อมูล API ตามแอป
สร้างนักพัฒนาซอฟต์แวร์
วิธีสร้างนักพัฒนาซอฟต์แวร์
- เลือกเผยแพร่ > นักพัฒนาซอฟต์แวร์ในเมนู
- คลิก + นักพัฒนาซอฟต์แวร์
ป้อนข้อมูลต่อไปนี้ในหน้าต่างนักพัฒนาซอฟต์แวร์ใหม่
ในฟิลด์นี้ Enter ชื่อ Keyser
นามสกุล Soze
ชื่อผู้ใช้ keyser
อีเมล keyser@example.com
- คลิกสร้าง
ลงทะเบียนแอป
วิธีลงทะเบียนแอปนักพัฒนาซอฟต์แวร์
- เลือกเผยแพร่ > แอป
- คลิก + แอป
ป้อนข้อมูลต่อไปนี้ในหน้าต่างแอปใหม่
pในฟิลด์นี้ สิ่งที่ควรทำ ชื่อและชื่อที่แสดง ป้อน keyser_app
บริษัท / นักพัฒนาซอฟต์แวร์ เลือก Developer
นักพัฒนาซอฟต์แวร์ เลือก Keyser Soze (keyser@example.com)
URL เรียกกลับและหมายเหตุ เว้นว่างไว้ - ในส่วนข้อมูลเข้าสู่ระบบ ให้เลือกไม่เลยจากรายการ เมนูหมดอายุ ข้อมูลเข้าสู่ระบบสําหรับแอปนี้จะไม่มีวันหมดอายุ
- ในส่วนผลิตภัณฑ์ ให้คลิกเพิ่มผลิตภัณฑ์
- เลือก helloworld_apikey-Product
- คลิกเพิ่ม
- คลิกสร้างด้านบนและด้านขวาของรายละเอียดแอป เพื่อบันทึกงาน
รับคีย์ API
วิธีรับคีย์ API
- ในหน้าแอป (เผยแพร่ > แอป) ให้คลิก keyser_app
ในหน้า keyser_app ให้คลิกแสดงข้างคีย์ ในส่วนข้อมูลเข้าสู่ระบบ ในส่วนผลิตภัณฑ์ โปรดสังเกตว่าคีย์เชื่อมโยงกับ helloworld_apikey
ที่ใช้เวลาเพียง 2 นาที วันที่- เลือกและคัดลอกคีย์ เพราะจะนำไปใช้ในขั้นตอนถัดไป
เรียก API ด้วยคีย์
ตอนนี้คุณมีคีย์ API แล้ว คุณจะใช้คีย์ดังกล่าวเรียกใช้พร็อกซี API ได้ กรอก ต่อไปนี้ในเว็บเบราว์เซอร์ แทนที่ชื่อองค์กร Edge ของคุณ สำหรับ ORG_NAME และคีย์ API สำหรับ API_KEY ด้านล่าง ตรวจสอบว่าไม่มีการเว้นวรรคเกินในพารามิเตอร์การค้นหา
http://ORG_NAME-test.apigee.net/helloapikey?apikey=API_KEY
ตอนนี้เมื่อเรียกใช้พร็อกซี API คุณควรได้รับการตอบกลับดังนี้
Hello, Guest!
ยินดีด้วย คุณได้สร้างพร็อกซี API และป้องกันด้วย จำเป็นต้องมีคีย์ API ที่ถูกต้องรวมอยู่ในการโทร
โปรดทราบว่าโดยทั่วไป การส่งคีย์ API เป็น พารามิเตอร์การค้นหา คุณควรพิจารณา ส่งในส่วนหัว HTTP แทน
แนวทางปฏิบัติแนะนำ: การส่งคีย์ในส่วนหัว HTTP
ในขั้นตอนนี้ คุณจะต้องแก้ไขพร็อกซีเพื่อค้นหาคีย์ API ใน
ส่วนหัวที่ชื่อ x-apikey
- แก้ไขพร็อกซี API เลือก Develop > พร็อกซี API > helloworld_apikey และไปที่มุมมองพัฒนา
-
เลือกนโยบายยืนยันคีย์ API และแก้ไข XML ของนโยบายเพื่อให้ข้อมูล นโยบายที่จะค้นหาใน
header
แทนในqueryparam
:<APIKey ref="request.header.x-apikey"/>
- บันทึกพร็อกซี API เพื่อทำให้การเปลี่ยนแปลงใช้งานได้
-
เรียก API ต่อไปนี้โดยใช้ cURL เพื่อส่งคีย์ API เป็น ส่วนหัวที่ชื่อ
x-apikey
อย่าลืมแทนที่ ชื่อองค์กรcurl -v -H "x-apikey: API_KEY" http://ORG_NAME-test.apigee.net/helloapikey
โปรดทราบว่าเพื่อให้การเปลี่ยนแปลงเสร็จสมบูรณ์ คุณยังต้องกำหนดค่า กำหนดนโยบายข้อความเพื่อนำส่วนหัวออกแทนพารามิเตอร์การค้นหา เช่น
<Remove> <Headers> <Header name="x-apikey"/> </Headers> </Remove>
หัวข้อที่เกี่ยวข้อง
ต่อไปนี้เป็นบางหัวข้อที่เกี่ยวข้องกับบทแนะนำนี้โดยตรง
- จัดการผลิตภัณฑ์ API
- คีย์ API
- ลงทะเบียนแอป นักพัฒนาซอฟต์แวร์
- ลงทะเบียนแอปและจัดการคีย์ API
- VerifyAPIKey นโยบาย
- AssignMessage นโยบาย
มาลงรายละเอียดกันอีกสักเล็กน้อย การปกป้อง API ด้วยคีย์ API เป็นเพียงส่วนหนึ่งของเรื่องราวนี้ บ่อยครั้ง การป้องกัน API ต้องมีการรักษาความปลอดภัยเพิ่มเติม เช่น OAuth
OAuth คือ โปรโตคอลแบบเปิดที่สรุปแล้วจะแลกเปลี่ยนข้อมูลรับรอง (เช่น ชื่อผู้ใช้และรหัสผ่าน) สำหรับ โทเค็นเพื่อการเข้าถึง โทเค็นเพื่อการเข้าถึงเป็นสตริงแบบสุ่มแบบยาวที่สามารถส่งผ่านไปรอบๆ ข้อความได้ แม้ว่าจะจากแอปหนึ่งไปยังอีกแอปหนึ่ง โดยไม่กระทบกับข้อมูลเข้าสู่ระบบเดิม สิทธิ์เข้าถึง โทเค็นมักมีอายุสั้น โทเค็นใหม่จึงถูกสร้างขึ้นอยู่เสมอ