คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
Edge ให้คุณสร้างโฮสต์เสมือนที่รองรับ TLS แบบทางเดียวและ 2 ทางได้ เมื่อใช้ TLS แบบทางเดียว ไคลเอ็นต์จะส่งคำขอเซสชันไปยังโฮสต์เสมือนที่ติดตั้งใช้งานบนเราเตอร์ Edge และเราเตอร์จะตอบกลับด้วยใบรับรองที่มีคีย์สาธารณะของโฮสต์เสมือน สำหรับใบรับรองที่ลงชื่อแล้ว ไคลเอ็นต์จะส่งคำขอไปยังผู้ออกใบรับรอง (CA) เพื่อตรวจสอบสิทธิ์ใบรับรองได้
ใน TLS แบบ 2 ทาง ทั้งใบรับรองไคลเอ็นต์และ Edge Pass ที่ได้รับการตรวจสอบเป็นส่วนหนึ่งของคำขอจะมีการดำเนินการดังนี้
- เราเตอร์ Edge จะแสดงใบรับรองกับไคลเอ็นต์ TLS เพื่อตรวจสอบสิทธิ์ตัวเอง จากนั้นไคลเอ็นต์จะยืนยันตัวตนของเซิร์ฟเวอร์ก่อนที่จะส่งใบรับรองไปยังเซิร์ฟเวอร์
- โดยไคลเอ็นต์ TLS จะส่งใบรับรองไปยัง Edge เพื่อตรวจสอบสิทธิ์ตัวเอง
โปรดดูเกี่ยวกับโฮสต์เสมือนสำหรับข้อมูลเพิ่มเติม
กำลังบันทึกข้อมูลการเชื่อมต่อ TLS
ระหว่างส่งคำขอไปยังพร็อกซี API ผ่านโฮสต์เสมือนที่รองรับ TLS ทาง Edge จะบันทึกข้อมูลเกี่ยวกับการเชื่อมต่อ TLS ได้ จากนั้นพร็อกซี API จะเข้าถึงข้อมูลดังกล่าวผ่านตัวแปรโฟลว์ได้เพื่อทำการวิเคราะห์และตรวจสอบเพิ่มเติม
ประเภทของข้อมูล TLS ที่บันทึกโดย Edge ขึ้นอยู่กับว่าโฮสต์เสมือนรองรับ TLS แบบทางเดียวหรือ 2 ทาง เช่น สำหรับ TLS ทางเดียว Edge จะบันทึกข้อมูลเกี่ยวกับการเข้ารหัส TLS หรือโปรโตคอล TLS ที่ใช้ในการเชื่อมต่อ TLS ได้
สำหรับ TLS แบบ 2 ทาง Edge จะบันทึกข้อมูลทั้งหมดเหมือนกับที่บันทึกสำหรับ TLS ทางเดียวได้ และยังบันทึกข้อมูลเกี่ยวกับใบรับรองของไคลเอ็นต์ได้ด้วย ตัวอย่างเช่น Edge จะบันทึกลายนิ้วมือ SHA1 ของใบรับรองไคลเอ็นต์และใบรับรองไคลเอ็นต์ในรูปแบบ PEM ได้
การบันทึกข้อมูลสำหรับ TLS ทั้งทางเดียวและสองทาง
ตารางต่อไปนี้แสดงตัวแปรโฟลว์ที่มีข้อมูลการเชื่อมต่อ TLS ที่ Edge บันทึกไว้และเข้าถึงได้ในพร็อกซี API ระบบจะบันทึกข้อมูลนี้ไว้สำหรับ TLS ทั้งแบบทางเดียวและ 2 ทางโดยการตั้งค่า <ConnectionProperties>
เป็น "จริง" ในคำจำกัดความของโฮสต์เสมือน
ตัวแปรโฟลว์ | คำอธิบาย |
---|---|
tls.cipher
|
การเข้ารหัสที่ใช้โดยการเชื่อมต่อ TLS |
tls.protocol
|
โปรโตคอลที่การเชื่อมต่อ TLS ใช้ |
tls.server.name
|
ชื่อเซิร์ฟเวอร์ SNI ที่ขอ |
tls.session.id
|
ตัวระบุเซสชัน ตัวแปรโฟลว์นี้ใช้ได้เมื่อคุณตั้งค่า |
การเก็บข้อมูล TLS เพิ่มเติมระหว่าง TLS แบบ 2 ทาง
ตารางต่อไปนี้แสดงตัวแปรโฟลว์ที่มีรายละเอียดใบรับรองไคลเอ็นต์ที่บันทึกโดย Edge ใน TLS แบบ 2 ทาง ระบบจะบันทึกข้อมูลนี้สำหรับ TLS แบบ 2 ทางโดยการตั้งค่า <ClientProperties>
เป็น "จริง" ในคำจำกัดความของโฮสต์เสมือน
ตัวแปรโฟลว์ | คำอธิบาย |
---|---|
tls.client.s.dn
|
หัวข้อ Distinguished Name (DN) ของใบรับรองไคลเอ็นต์ |
tls.client.i.dn
|
ผู้ออก Distinguished Name (DN) ของใบรับรองไคลเอ็นต์ |
tls.client.raw.cert
|
ใบรับรองไคลเอ็นต์ในรูปแบบ PEM |
tls.client.cert.serial
|
หมายเลขซีเรียลของใบรับรองไคลเอ็นต์ |
tls.client.cert.fingerprint
|
ลายนิ้วมือ SHA1 ของใบรับรองไคลเอ็นต์ |
tls.session.id
|
ตัวระบุเซสชัน ตัวแปรโฟลว์นี้จะใช้ได้เมื่อคุณตั้งค่า |
การกำหนดค่าโฮสต์เสมือนให้บันทึกข้อมูล TLS
หากต้องการกำหนดค่าโฮสต์เสมือนให้บันทึกข้อมูล TLS ให้ตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ในส่วน <PropagateTLSInformation>
เป็น true
<ConnectionProperties>
: เปิดใช้การบันทึกข้อมูลการเชื่อมต่อ TLS สำหรับทั้ง TLS แบบทางเดียวและ 2 ทาง ค่าเริ่มต้นคือfalse
<ClientProperties>
: เปิดใช้การบันทึกข้อมูลเพิ่มเติมสำหรับ TLS แบบ 2 ทาง ค่าเริ่มต้นคือfalse
เช่น การกำหนดโฮสต์เสมือนต่อไปนี้ใช้ TLS แบบ 2 ทาง และเปิดใช้การบันทึกข้อมูล TLS ทั้ง 2 ประเภท
<VirtualHost name="secure"> .... <SSLInfo> <Enabled>true</Enabled> # Enable two-way TLS. <ClientAuthEnabled>true</ClientAuthEnabled> <IgnoreValidationErrors>false</IgnoreValidationErrors> <KeyAlias>ks-alias</KeyAlias> <KeyStore>ref://ks-ref</KeyStore> <TrustStore>ref://ts-ref</TrustStore> </SSLInfo> <PropagateTLSInformation> <ConnectionProperties>true</ConnectionProperties> <ClientProperties>true</ClientProperties> </PropagateTLSInformation> </VirtualHost>
หากส่งเนื้อหา JSON ให้ตั้งค่าคุณสมบัติเป็น
"propagateTLSInformation" : { "connectionProperties" : true, "clientProperties" : true }
กำหนดขนาดสูงสุดของส่วนหัว
เมื่อคุณเปิดใช้การบันทึกข้อมูล TLS บนโฮสต์เสมือน Edge จะส่งข้อมูลนั้นโดยใช้ส่วนหัว HTTP คุณจึงต้องตรวจสอบว่าได้กำหนดขีดจำกัดของขนาดส่วนหัวอย่างเหมาะสมแล้ว โดยขึ้นอยู่กับว่าคุณใช้ Edge สำหรับ Cloud หรือ Edge สำหรับ Private Cloud หรือไม่
- Edge สำหรับระบบคลาวด์: Apigee คือการตั้งค่าขนาดส่วนหัวอย่างเหมาะสม
- Edge สำหรับ Private Cloud: ฟีเจอร์ไม่พร้อมใช้งาน
การเข้าถึงตัวแปรโฟลว์ในพร็อกซี API
จากภายในพร็อกซี API คุณสามารถเข้าถึงและตรวจสอบตัวแปรโฟลว์ TLS ได้ เช่น ใช้นโยบาย AssignMessage เพื่อเข้าถึงไฟล์ดังกล่าว และเข้าถึงได้ใน JavaScript ด้วยนโยบาย JavaScript
คุณยังอ้างอิงตัวแปรโฟลว์ในองค์ประกอบ <Condition>
ของพร็อกซีหรือโฟลว์เป้าหมาย หรือใน <Step>
หรือ <RouteRule>
ได้ด้วย เช่น คุณกำหนดเส้นทางคำขอไปยังเป้าหมายต่างๆ ได้โดยอิงตาม SN ของไคลเอ็นต์
โปรดดูข้อมูลเพิ่มเติมจากหัวข้อต่อไปนี้