คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
Edge ช่วยให้คุณสร้างโฮสต์เสมือนที่รองรับ TLS แบบทางเดียวและ 2 ทาง ด้วย TLS แบบทางเดียว ไคลเอ็นต์จะออกคำขอเซสชันไปยังโฮสต์เสมือนที่ใช้งานใน Edge Router และเราเตอร์ ตอบกลับด้วยใบรับรองที่มีคีย์สาธารณะของโฮสต์เสมือน สำหรับใบรับรองที่ลงชื่อ ไคลเอ็นต์ จึงสามารถส่งคำขอไปยังผู้ออกใบรับรอง (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
กำลังบันทึกข้อมูลสำหรับทั้ง 2 เวอร์ชัน TLS แบบทางเดียวและ 2 ทาง
ตารางต่อไปนี้แสดงรายการตัวแปรโฟลว์ที่มีข้อมูลการเชื่อมต่อ 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
|
ชื่อเฉพาะ (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 ทั้งทางเดียวและสองทาง ค่าเริ่มต้นคือ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 สำหรับระบบคลาวด์ หรือ Edge สำหรับ Private Cloud ดังนี้
- Edge for the Cloud: Apigee จะกำหนดขนาดส่วนหัวอย่างเหมาะสม
- Edge for the Private Cloud: ฟีเจอร์นี้ไม่พร้อมใช้งาน
การเข้าถึงตัวแปรโฟลว์ในพร็อกซี API
จากภายในพร็อกซี API คุณสามารถเข้าถึงและตรวจสอบตัวแปรโฟลว์ TLS ได้ เช่น คุณสามารถใช้ฟังก์ชัน AssignMessage นโยบายเพื่อเข้าถึงรายการ ให้เข้าถึงได้ใน JavaScript ด้วยนโยบาย JavaScript
คุณยังอ้างอิงตัวแปรโฟลว์ในเอลิเมนต์ <Condition>
ของพร็อกซีหรือโฟลว์เป้าหมายได้ด้วย
หรือใน <Step>
หรือ <RouteRule>
เช่น คุณอาจกำหนดเส้นทาง
คำขอไปยังเป้าหมายต่างๆ ตาม SN ของลูกค้า
ดูข้อมูลเพิ่มเติมได้จากหัวข้อต่อไปนี้