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

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

เมื่อวันพฤหัสบดีที่ 13 ตุลาคม 2016 เราได้เริ่มเผยแพร่ Apigee Edge เวอร์ชันใหม่สำหรับระบบคลาวด์สาธารณะ

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

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

Shared Flows และ Flow Hooks เพื่อทำให้พร็อกซี API ใช้งานได้ (เบต้าตามคำขอเท่านั้น)

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

คุณกำหนด Shared Flows ใน UI การจัดการ (APIs > Shared Flows) แล้ว อ้างอิง Shared Flows ได้ 2 วิธีดังนี้

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

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

    จุดแนบเหล่านี้ช่วยให้คุณเรียกใช้ตรรกะการทำงานก่อนหรือหลังจุดโฟลว์หลักของพร็อกซีแต่ละรายการ คุณกำหนด Shared Flows ให้กับตำแหน่ง Flow Hook เหล่านี้ใน UI การจัดการ (APIs > Environment Configuration > Flow Hooks)

แผนผังค่าคีย์ที่เข้ารหัส

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

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

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

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

  • ใช้นโยบาย Key Value Map Operations เพื่อรับและอัปเดตค่า 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 Spec รวมอยู่ในข้อมูลเมตาของพร็อกซี API

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

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

การปรับปรุงนี้รองรับ Edge เวอร์ชันถัดไป ซึ่งจะลิงก์ OpenAPI Spec กับ พร็อกซี 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 Service Callout
APIRT-3408 MP รุ่น 160817 โมดูลการวิเคราะห์ apigee-access ประมวลผลข้อความ แตกต่างกัน
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 พูลเธรดแยกต่างหากสำหรับขั้นตอนการบล็อกบางขั้นตอนเพื่อปรับปรุงการจัดการโหลด
CORESERV-774 การเข้าถึงโดยใช้คีย์ที่ถูกต้องพร้อมการอ้างอิง apiproduct ไม่ถูกต้องทำให้เกิดข้อผิดพลาดภายในเซิร์ฟเวอร์