16.09.21 - บันทึกประจำรุ่นของ Apigee Edge สำหรับระบบคลาวด์สาธารณะ

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

เมื่อวันพฤหัสบดีที่ 13 ตุลาคม 2016 เราได้เริ่มเปิดตัว Apigee Edge สำหรับ Public Cloud เวอร์ชันใหม่

ฟีเจอร์และการอัปเดตใหม่ๆ

ฟีเจอร์และการอัปเดตใหม่ในรุ่นนี้มีดังนี้

Shared Flows and Flow Hooks to operationalize API proxies (beta-by-request only)

ฟีเจอร์ใหม่ "โฟลว์ที่แชร์" ช่วยให้คุณใช้งานฟังก์ชันในพร็อกซี API ได้ การรวมนโยบายและทรัพยากรแบบมีเงื่อนไขไว้ในโฟลว์ที่ใช้ร่วมกันจะช่วยให้คุณอ้างอิงจากพร็อกซี API ใดก็ได้เพื่อเรียกใช้ตรรกะแบบแหล่งที่มาเดียวที่นำกลับมาใช้ใหม่ได้ เช่น Shared Flow อาจยืนยัน คีย์ API ป้องกันการเพิ่มขึ้นอย่างรวดเร็ว และบันทึกข้อมูล

คุณกำหนดโฟลว์ที่ใช้ร่วมกันได้ใน UI การจัดการ (API > โฟลว์ที่ใช้ร่วมกัน) จากนั้น อ้างอิงโฟลว์ดังกล่าวได้ 2 วิธีดังนี้

  • ด้วยนโยบาย Flow Callout ใหม่ในพร็อกซี API
    หรือ
  • ในอาร์ติแฟกต์ใหม่ที่ชื่อว่า Flow Hooks ซึ่งอยู่ในตำแหน่งต่อไปนี้

    • คำขอ: ก่อน PreFlow ของ ProxyEndpoint หลังจาก PostFlow ของ TargetEndpoint
    • การตอบกลับ: ก่อน TargetEndpoint PreFlow หลังจาก ProxyEndpoint PostFlow

    จุดแนบเหล่านี้ช่วยให้คุณเรียกใช้ตรรกะการทำงานก่อนหรือหลังโฟลว์หลัก ของพร็อกซีแต่ละรายการได้ คุณกำหนดโฟลว์ที่แชร์ให้กับตำแหน่ง Flow Hook เหล่านี้ได้ใน UI การจัดการ (API > การกำหนดค่าสภาพแวดล้อม > Flow Hook)

แมปค่าคีย์ที่เข้ารหัส

คุณสามารถสร้าง Key Value Map (KVM) ที่เข้ารหัสเพื่อจัดเก็บข้อมูลที่ละเอียดอ่อน เช่น ข้อมูลเข้าสู่ระบบหรือข้อมูล PII/HIPAA ฟีเจอร์นี้แตกต่างจากที่เก็บข้อมูลที่ปลอดภัยของ Edge (Vault) ที่มีอยู่ และออกแบบมาเพื่อแทนที่ เนื่องจากจะเข้าถึงค่า Vault ได้ด้วย Node.js เท่านั้น (นอกเหนือจาก Management API) คุณเข้าถึงค่า KVM ที่เข้ารหัสได้ด้วย Node.js หรือนโยบายการดำเนินการกับแผนที่คีย์ ค่า

การสร้าง KVM ที่เข้ารหัส

  • ใช้ KVM API ที่มีอยู่ เมื่อรวม “encrypted”: “true” ไว้ในคำจำกัดความของเพย์โหลดเมื่อสร้าง KVM, Edge จะเข้ารหัส KVM และสร้างคีย์การเข้ารหัสที่มีขอบเขตเดียวกันกับ KVM
  • คุณไม่สามารถใช้นโยบายการดำเนินการกับแผนที่ค่าคีย์เพื่อสร้าง KVM ที่เข้ารหัส
  • คุณจะเข้ารหัส KVM ที่ไม่มีการเข้ารหัสอยู่ไม่ได้

การใช้ KVM ที่เข้ารหัส

  • ใช้นโยบายการดำเนินการแมปค่าคีย์เพื่อรับและอัปเดตค่า KVM ที่เข้ารหัส
  • เมื่อได้รับค่าคีย์ที่เข้ารหัส ให้เติมคำนำหน้าตัวแปรเพื่อเก็บค่าด้วย "private." ตัวอย่างเช่น <Get assignTo="private.secretVar"> ซึ่ง private.secretVar ตัวแปรจะเก็บค่าที่ถอดรหัสแล้ว
  • เมื่ออัปเดตค่าตามนโยบาย คุณไม่จำเป็นต้องดำเนินการใดๆ เป็นพิเศษ ระบบจะเข้ารหัสค่า โดยอัตโนมัติใน KVM ที่เข้ารหัส
  • นอกจากนี้ คุณยังเข้าถึงค่าที่ถอดรหัสแล้วได้โดยใช้โมดูล apigee-access ในโค้ด Node.js ใช้ฟังก์ชัน getKeyValueMap() เพื่อดึงข้อมูล KVM ตามชื่อและขอบเขต มีฟังก์ชัน 2 ฟังก์ชันในออบเจ็กต์ที่ส่งคืน ได้แก่ getKeys(callback) เพื่อรับอาร์เรย์ ของชื่อคีย์ และ get(key, callback) เพื่อรับค่าสำหรับคีย์ที่เฉพาะเจาะจง ตัวอย่างเช่น
    var apigee = require('apigee-access');
      var encryptedKVM = apigee.getKeyValueMap('VerySecureKVM', 'apiproxy');
      encryptedKVM.get('secret1', function(err, secretValue) {
      // use the secret value here
    });

(APIRT-1197)

URL ของข้อกำหนด OpenAPI รวมอยู่ในข้อมูลเมตาของพร็อกซี API

เมื่อสร้างพร็อกซี API ตามข้อกำหนดของ OpenAPI ระบบจะจัดเก็บตำแหน่งของข้อกำหนด OpenAPI ไว้ในข้อมูลเมตาของพร็อกซี API เช่น หากคุณใช้ Management API เพื่อดูรายละเอียดการแก้ไขพร็อกซี ข้อมูลเมตาจะมีเส้นทางไปยังข้อกำหนด OpenAPI ในรูปแบบต่อไปนี้

"spec" : "https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget.yaml"

การเพิ่มประสิทธิภาพนี้รองรับ Edge เวอร์ชันถัดไป ซึ่งจะลิงก์ข้อกำหนด OpenAPI กับ พร็อกซี API, ผลิตภัณฑ์ API และเอกสารอ้างอิง API ในพอร์ทัลนักพัฒนาแอปใหม่ (MGMT-2913)

การควบคุม IP ของไคลเอ็นต์ด้วย Sense

Sense ช่วยให้คุณกำหนดตำแหน่งของ IP ไคลเอ็นต์ได้ด้วยตัวแปร additionalIPVars เพื่อควบคุมตำแหน่งที่จะค้นหาที่อยู่ IP สำหรับการตรวจหาบ็อตของ Sense ได้อย่างแม่นยำยิ่งขึ้นเมื่อใช้ผลิตภัณฑ์การกำหนดเส้นทาง เช่น Akamai เช่น คุณสามารถตั้งค่า additionalIPVars เพื่อใช้ส่วนหัว true-client-ip ซึ่งมี IP ที่ถูกต้องจาก Akamai เพื่อ ประเมินในกฎบอท (APIRT-3332)

แก้ไขข้อบกพร่องแล้ว

ข้อบกพร่องต่อไปนี้ได้รับการแก้ไขในรุ่นนี้ โดยรายการนี้มีไว้สำหรับผู้ใช้ที่ต้องการตรวจสอบว่า คำขอรับการสนับสนุนได้รับการแก้ไขแล้วหรือไม่เป็นหลัก ไม่ได้ออกแบบมาเพื่อให้ข้อมูลโดยละเอียดแก่ผู้ใช้ทุกคน

รหัสปัญหา คำอธิบาย
APIRT-3507 ข้อผิดพลาดเป็นระยะๆ (เช่น ข้อผิดพลาด SNI) ในการเรียกใช้บริการ JavaScript
APIRT-3408 การเผยแพร่ MP 160817 apigee-access analytics module ประมวลผลข้อความ แตกต่างกัน
APIRT-3390

การเปลี่ยนแปลงการตอบกลับข้อผิดพลาดที่นโยบายโทเค็นเพื่อการเข้าถึงแบบรีเฟรชส่งคืน

APIRT-3389
APIRT-3381 เวลาในการตอบสนองสูงในพร็อกซีการผลิตของลูกค้า
APIRT-3366 นโยบาย JavaScript ไม่ทำงานในองค์กรทดลองใช้ใหม่ทั้งหมด
APIRT-3363 การแยกวิเคราะห์ URL ที่ไม่ถูกต้องจะแสดงสถานะ 500 พร้อม ApplicationNotFound
APIRT-3356 ข้อความโทเค็น OAuth ไม่ถูกต้อง
APIRT-3355 ข้อผิดพลาด 403 เป็นระยะๆ ในพร็อกซี OAuth
APIRT-3285
APIRT-3261 ระบบจะตรวจสอบความถูกต้องของข้อมูลเข้าสู่ระบบกับแอปสำหรับนักพัฒนาแอปอื่นในเวอร์ชันที่ใช้งานจริง
APIRT-3234 แอป Node.js แสดง NPE
APIRT-3223 ปัญหาแคชที่ล้าสมัยของ Apigee
APIRT-3193 เซิร์ฟเวอร์เป้าหมาย Node.js ค้างหลังจากย้ายไปยัง ASG
APIRT-3152 การเรียกใช้การจัดการ cachedlogs ทำให้ข้อความบันทึกถูกแบ่งออก
APIRT-3117 MP มีการใช้งาน CPU ถึง 100% และหยุดแสดงการรับส่งข้อมูล
APIRT-3064 เราเตอร์ - ข้อความแสดงข้อผิดพลาด 503 ที่กำหนดเองจากเราเตอร์
APIRT-2620 Separate thread pool for some blocking steps to improve load handling
CORESERV-774 การเข้าถึงโดยใช้คีย์ที่ถูกต้องพร้อมการอ้างอิง apiproduct ที่ไม่ถูกต้องจะทำให้เกิดข้อผิดพลาดภายในเซิร์ฟเวอร์