ตัวเลือกในการกําหนดค่า TLS

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

เอกสารนี้ประกอบด้วยภาพรวมของวิธีการกำหนดค่า TLS ใน Edge สำหรับ 2 ฟังก์ชัน พื้นที่:

  1. สิทธิ์เข้าถึงพร็อกซี API ตามไคลเอ็นต์ API ใช้โฮสต์เสมือนใน Edge เราเตอร์เพื่อกำหนดค่า TLS
  2. สิทธิ์เข้าถึงบริการแบ็กเอนด์โดย Edge ใช้ปลายทางและปลายทางเป้าหมาย เซิร์ฟเวอร์ใน Edge Message Processor เพื่อกำหนดค่า TLS

การเข้าถึงทั้ง 2 ประเภทมีดังต่อไปนี้

ข้อมูล การตั้งค่าตัวเลือก TLS ในโฮสต์เสมือนหรือเซิร์ฟเวอร์เป้าหมาย/ปลายทาง

โฮสต์เสมือนสามารถแสดงด้วยออบเจ็กต์ XML ในรูปแบบต่อไปนี้

<VirtualHost name="secure">
    ...
    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>true</ClientAuthEnabled> 
        <KeyStore>ref://myKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
        <TrustStore>ref://myTruststoreRef</TrustStore> 
        <IgnoreValidationErrors>false</IgnoreValidationErrors>
    </SSLInfo>
</VirtualHost>

พื้นที่ของโฮสต์เสมือนที่คุณแก้ไขเพื่อกำหนดค่า TLS จะกำหนดโดยแท็ก &lt;SSLInfo&gt; คุณใช้ แท็ก &lt;SSLInfo&gt; เดียวกันเพื่อกำหนดค่า ปลายทางหรือเซิร์ฟเวอร์เป้าหมาย

ตารางต่อไปนี้อธิบายองค์ประกอบการกำหนดค่า TLS ที่แท็ก &lt;SSLInfo&gt; ใช้

องค์ประกอบ คำอธิบาย
&lt;Enabled&gt;

เปิดใช้ TLS ทางเดียวระหว่าง Edge กับไคลเอ็นต์ API หรือระหว่าง Edge กับเป้าหมาย แบ็กเอนด์

สำหรับโฮสต์เสมือน คุณต้องกำหนดคีย์สโตร์ที่มีใบรับรองและ Private

&lt;ClientAuthEnabled&gt;

เปิดใช้ TLS แบบ 2 ทางระหว่าง Edge กับไคลเอ็นต์ API หรือระหว่าง Edge กับเป้าหมาย แบ็กเอนด์

โดยทั่วไปการเปิดใช้ TLS แบบ 2 ทางกำหนดให้คุณต้องตั้งค่า Truststore ใน Edge

&lt;KeyStore&gt; คีย์สโตร์
&lt;KeyAlias&gt; ชื่อแทนที่ระบุเมื่อคุณอัปโหลดใบรับรองและคีย์ส่วนตัวไปยังคีย์สโตร์
&lt;TrustStore&gt; Truststore
&lt;IgnoreValidationErrors&gt;

หากเป็น "จริง" Edge จะไม่สนใจข้อผิดพลาดเกี่ยวกับใบรับรอง TLS ถูกต้องเมื่อกำหนดค่า TLS สำหรับ เซิร์ฟเวอร์เป้าหมายและปลายทางเป้าหมาย และเมื่อกำหนดค่าโฮสต์เสมือนที่ใช้แบบ 2 ทาง TLS ค่าเริ่มต้นคือ false

เมื่อใช้กับปลายทาง/เซิร์ฟเวอร์เป้าหมายเป้าหมาย หากระบบแบ็กเอนด์ใช้ SNI และส่งใบรับรองกลับมา ที่มีชื่อเรื่องเฉพาะ (DN) ที่ไม่ตรงกับชื่อโฮสต์ จึงไม่มีวิธี เพื่อละเว้นข้อผิดพลาดและการเชื่อมต่อจะล้มเหลว

&lt;CommonName&gt;

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

โดยค่าเริ่มต้น ค่าที่ระบุจะตรงกับชื่อทั่วไปของใบรับรองเป้าหมายทุกประการ เช่น การใช้ *.myhost.com เป็นค่าสำหรับ <CommonName> จะจับคู่และ ตรวจสอบชื่อโฮสต์เป้าหมายหากมีการระบุค่า *.myhost.com เป็นชื่อทั่วไปใน ใบรับรองเป้าหมาย

(ไม่บังคับ) Apigee จะจับคู่กับไวลด์การ์ดโดยใช้แอตทริบิวต์ wildcardMatch ได้

ตัวอย่างเช่น ชื่อทั่วไปที่ระบุเป็น abc.myhost.com ในใบรับรองเป้าหมายจะถูกจับคู่และตรวจสอบ หาก <CommonName> มีการระบุไว้ดังนี้ วันที่

<CommonName wildcardMatch="true">*.myhost.com</CommonName>

เกี่ยวกับการตั้งค่า &lt;KeyStore&gt; และ <TrustStore> องค์ประกอบ

ในตัวอย่างโฮสต์เสมือนข้างต้น มีการระบุคีย์สโตร์และ Truststore โดยใช้ การอ้างอิงในรูปแบบดังนี้

<KeyStore>ref://myKeystoreRef</KeyStore>
<TrustStore>ref://myTruststoreRef</TrustStore>

Apigee ขอแนะนำเป็นอย่างยิ่งให้ใช้การอ้างอิงไปยังคีย์สโตร์และ Truststore เสมอ ต Reference คือตัวแปรที่มีชื่อของ keystore หรือ Truststore แทนที่จะเป็น ระบุชื่อคีย์สโตร์โดยตรง ในตัวอย่างนี้

  • myKeystoreRef เป็นข้อมูลอ้างอิงที่มีชื่อของ คีย์สโตร์ ในตัวอย่างนี้ ชื่อของคีย์สโตร์คือ myKeystore
  • myTruststoreRef เป็นข้อมูลอ้างอิงที่มีชื่อของ Truststore ในตัวอย่างนี้ ชื่อของ Truststore คือ myTruststore

เมื่อใบรับรองหมดอายุ คุณต้องอัปเดตโฮสต์เสมือนหรือเซิร์ฟเวอร์ปลายทาง/เซิร์ฟเวอร์เป้าหมายเป็น ระบุคีย์สโตร์หรือ Truststore ที่มีใบรับรองใหม่ ประโยชน์ของข้อมูลอ้างอิงคือ คุณสามารถแก้ไขค่าของการอ้างอิงเพื่อเปลี่ยนคีย์สโตร์หรือ Truststore ได้โดยไม่ต้อง แก้ไขโฮสต์เสมือนหรือเซิร์ฟเวอร์ปลายทาง/เป้าหมายปลายทางเอง:

  • สำหรับลูกค้า Cloud: ไม่จำเป็นต้องเปลี่ยนค่าของข้อมูลอ้างอิง คุณต้องติดต่อทีมสนับสนุนของ Apigee Edge
  • สำหรับลูกค้า Private Cloud: การเปลี่ยนค่าของข้อมูลอ้างอิงจะไม่ส่งผล กำหนดให้คุณต้องรีสตาร์ทคอมโพเนนต์ Edge เช่น เราเตอร์และ Message Processor

หรือคุณจะระบุชื่อคีย์สโตร์และชื่อ Truststore โดยตรงก็ได้ ดังนี้

<KeyStore>myKeystore</KeyStore>
<TrustStore>myTruststore</TrustStore> 

หากคุณระบุชื่อของคีย์สโตร์หรือ Truststore โดยตรง ลูกค้า Cloud จะต้อง ติดต่อทีมสนับสนุนของ Apigee Edge และ Private Cloud ต้องรีสตาร์ทคอมโพเนนต์ Edge บางรายการเพื่ออัปเดตใบรับรอง

ตัวเลือกที่ 3 สำหรับปลายทางเป้าหมาย/เซิร์ฟเวอร์เป้าหมายเท่านั้นคือการใช้ตัวแปรโฟลว์

<KeyStore>{ssl.keystore}</KeyStore>
<TrustStore>{ssl.truststore}</TrustStore> 

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

ข้อจำกัดในการใช้ การอ้างอิงไปยังคีย์สโตร์และ Truststore

ลูกค้า Cloud แบบชำระเงินและลูกค้า Private Cloud ทั้งหมดที่กำหนดค่า TLS จะต้องพิจารณาด้วย ข้อจำกัดต่อไปนี้เมื่อใช้การอ้างอิงไปยังคีย์สโตร์และ Truststore

  • คุณจะใช้การอ้างอิงคีย์สโตร์และ Truststore ในโฮสต์เสมือนได้ก็ต่อเมื่อสิ้นสุด TLS เท่านั้น ในเราเตอร์ Apigee
  • หากคุณมีตัวจัดสรรภาระงานอยู่หน้าเราเตอร์ Apigee และคุณสิ้นสุด TLS ใน ของตัวจัดสรรภาระงาน คุณจึงไม่สามารถใช้การอ้างอิงคีย์สโตร์และ Truststore ในโฮสต์เสมือน

หากโฮสต์เสมือนที่มีอยู่ของคุณใช้คีย์สโตร์แบบลิเทอรัลหรือชื่อ Truststore

อาจไม่มีการกำหนดค่าโฮสต์เสมือนที่มีอยู่ใน Edge ให้ใช้การอ้างอิงสำหรับคีย์สโตร์และ Truststores ในกรณีนี้ คุณสามารถอัปเดตโฮสต์เสมือนเพื่อใช้การอ้างอิงได้

  1. Edge for the Cloud

    หากต้องการเปลี่ยนโฮสต์เสมือนเพื่อใช้การอ้างอิงไปยังคีย์สโตร์ที่คุณต้องทำงานด้วย การสนับสนุน Apigee Edge

  2. Edge สำหรับ Private Cloud

    หากต้องการแปลงโฮสต์เสมือนเพื่อใช้การอ้างอิง ให้ทำดังนี้

    1. อัปเดตโฮสต์เสมือนเพื่อใช้การอ้างอิง
    2. รีสตาร์ทเราเตอร์
    โปรดดู "การแก้ไขโฮสต์เสมือนเพื่อใช้การอ้างอิงคีย์สโตร์และ Truststore" ในการกำหนดค่าการเข้าถึง TLS สำหรับ API สำหรับ Private Cloud เพิ่มเติม

เกี่ยวกับการใช้ใบรับรองและคีย์ช่วงทดลองใช้ Apigee ฟรี

หากมี Edge แบบชำระเงินสำหรับบัญชี Cloud และยังไม่มีใบรับรองและคีย์ TLS คุณสร้างได้ โฮสต์เสมือนที่ใช้ใบรับรองและคีย์ช่วงทดลองใช้ Apigee ฟรี ซึ่งหมายความว่าคุณสามารถสร้างโฮสต์เสมือน โดยไม่ต้องสร้างคีย์สโตร์ก่อน

ออบเจ็กต์ XML ที่กำหนดโฮสต์เสมือนโดยใช้ใบรับรองการทดลองใช้ Apigee ฟรีและคีย์ยกเว้น <KeyStore> และ <KeyAlias> แล้วแทนที่ด้วยองค์ประกอบ <UseBuiltInFreeTrialCert> ตามที่แสดงด้านล่าง:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

หากใช้ TLS แบบ 2 ทาง คุณยังคงต้องตั้งค่าองค์ประกอบ <ClientAuthEnabled> เป็น true และระบุ Truststore โดยใช้การอ้างอิงกับองค์ประกอบ <TrustStore>

โปรดดูการกำหนดค่าโฮสต์เสมือนสำหรับระบบคลาวด์ สำหรับข้อมูลเพิ่มเติม

เกี่ยวกับการกำหนดค่า TLS

ปัจจัยหลัก 2 ประการเป็นตัวกำหนดวิธีกำหนดค่า TLS ดังนี้

  • คุณเป็นลูกค้า Edge Cloud หรือ Private Cloud ใช่ไหม
  • คุณจะอัปเดตใบรับรองที่หมดอายุหรือกำลังจะหมดอายุอย่างไร

การกำหนดค่า Cloud และ Private Cloud ตัวเลือก

ตารางต่อไปนี้แสดงตัวเลือกการกำหนดค่าที่แตกต่างกันสำหรับ Cloud และ Private Cloud ลูกค้า:

Private Cloud Cloud
โฮสต์เสมือน ควบคุมได้ดั่งใจ การควบคุมเต็มรูปแบบสำหรับบัญชีแบบชำระเงินเท่านั้น
ปลายทางเป้าหมาย/เซิร์ฟเวอร์เป้าหมาย ควบคุมได้ดั่งใจ ควบคุมได้ดั่งใจ

ลูกค้า Private Cloud จะควบคุมการกำหนดค่าของทั้งโฮสต์เสมือนและ ปลายทาง/เซิร์ฟเวอร์เป้าหมาย การควบคุมดังกล่าวรวมถึงความสามารถในการสร้างและลบเว็บไซต์เสมือน และตั้งค่าพร็อพเพอร์ตี้ทั้งหมดบนโฮสต์เสมือน

ลูกค้า Cloud ทั้งหมด ทั้งแบบชำระเงินและการประเมิน สามารถควบคุมการกำหนดค่า ปลายทาง/เซิร์ฟเวอร์เป้าหมาย ยิ่งไปกว่านั้น ลูกค้า Cloud แบบชำระเงิน ยังสามารถควบคุม โฮสต์เสมือน รวมถึงพร็อพเพอร์ตี้ TLS

การจัดการใบรับรองที่หมดอายุแล้ว

หากใบรับรอง TLS หมดอายุ หรือหากการกำหนดค่าระบบมีการเปลี่ยนแปลงจนทำให้ ใบรับรองใช้ไม่ได้แล้ว คุณจึงต้องอัปเดตใบรับรอง เมื่อกำหนดค่า TLS สำหรับ โฮสต์เสมือนหรือเซิร์ฟเวอร์ปลายทาง/เป้าหมาย คุณควรตัดสินใจว่าจะดำเนินการอย่างไร ที่อัปเดตก่อนที่จะกำหนดค่า

เมื่อใบรับรองหมดอายุ

ใน Edge คุณจะเก็บใบรับรองไว้ที่ใดก็ได้จาก 2 ที่ต่อไปนี้

  • Keystore - ประกอบด้วยใบรับรอง TLS และคีย์ส่วนตัวที่ใช้ระบุ เอนทิตีระหว่างการแฮนด์เชค TLS
  • Truststore - มีใบรับรองที่เชื่อถือได้บนไคลเอ็นต์ TLS ที่ใช้เพื่อ ตรวจสอบใบรับรองของเซิร์ฟเวอร์ TLS ที่แสดงต่อไคลเอ็นต์ โดยทั่วไปใบรับรองเหล่านี้จะ ใบรับรองที่ลงชื่อด้วยตนเอง ใบรับรองที่ลงชื่อโดย CA ที่เชื่อถือได้ หรือใบรับรองที่ใช้เป็นส่วนหนึ่งของแบบ 2 ทาง TLS

เมื่อใบรับรองในคีย์สโตร์หมดอายุและคุณใช้การอ้างอิงถึง Keystore คุณจะอัปโหลดใบรับรองใหม่ไปยังคีย์สโตร์ไม่ได้ แต่คุณจะทำสิ่งต่อไปนี้แทน

  1. สร้างคีย์สโตร์ใหม่
  2. อัปโหลดใบรับรองใหม่ไปยังคีย์สโตร์ใหม่โดยใช้ชื่อแทนเดียวกันใน คีย์สโตร์เก่า
  3. อัปเดตการอ้างอิงในโฮสต์เสมือนหรือเซิร์ฟเวอร์/ปลายทางเป้าหมายเพื่อใช้ คีย์สโตร์

เมื่อใบรับรองใน Truststore หมดอายุและคุณใช้การอ้างอิงถึง Truststore คุณมีคุณสมบัติดังนี้

  1. สร้าง Truststore ใหม่
  2. อัปโหลดใบรับรองใหม่ไปยัง Truststore ใหม่ ชื่อแทนจะไม่เกี่ยวข้องกับ Truststore หมายเหตุ: หากใบรับรองเป็นส่วนหนึ่งของชุด คุณต้องสร้างไฟล์เดียว ที่มีใบรับรองทั้งหมด และอัปโหลดไฟล์ไปยังชื่อแทนเดียว หรืออัปโหลดใบรับรองทั้งหมดใน เชนแยกกันไปยัง Truststore โดยใช้ชื่อแทนที่แตกต่างกันสำหรับใบรับรองแต่ละรายการ
  3. อัปเดตการอ้างอิงในโฮสต์เสมือนหรือเซิร์ฟเวอร์/ปลายทางเป้าหมายเพื่อใช้ Truststore

สรุปวิธีอัปเดตรายการที่หมดอายุ ใบรับรอง

วิธีการที่คุณใช้ในการระบุชื่อของคีย์สโตร์และ Truststore ในโฮสต์เสมือน หรือปลายทาง/เซิร์ฟเวอร์เป้าหมายเป้าหมายจะกำหนดวิธีที่คุณอัปเดตใบรับรอง ดังนี้

  • ข้อมูลอ้างอิง
  • ชื่อโดยตรง
  • ตัวแปรโฟลว์

วิธีการแต่ละวิธีให้ผลกระทบที่แตกต่างกันในขั้นตอนการอัปเดต ดังที่อธิบายไว้ใน ตารางต่อไปนี้ ดังที่เห็น ข้อมูลอ้างอิงให้ความยืดหยุ่นมากที่สุดสำหรับทั้งระบบคลาวด์และ ลูกค้า Private Cloud

ประเภทการกำหนดค่า วิธีอัปเดต/แทนที่ใบรับรอง Private Cloud Cloud
ข้อมูลอ้างอิง (แนะนำ) สำหรับคีย์สโตร์ ให้สร้างคีย์สโตร์ใหม่ด้วยชื่อใหม่และชื่อแทนที่มี ชื่อเดียวกันกับชื่อแทนเดิม

สำหรับ Truststore ให้สร้าง Truststore ด้วยชื่อใหม่

อัปเดตการอ้างอิงเป็นคีย์สโตร์หรือ Truststore

ไม่จำเป็นต้องรีสตาร์ทเราเตอร์หรือ Message Processor

อัปเดตการอ้างอิงเป็นคีย์สโตร์หรือ Truststore

โดยไม่จำเป็นต้องติดต่อทีมสนับสนุนของ Apigee

ตัวแปรโฟลว์ (ปลายทางเป้าหมายเท่านั้น) สำหรับคีย์สโตร์ ให้สร้างคีย์สโตร์ใหม่ด้วยชื่อใหม่และชื่อแทนที่มี ชื่อเดิมหรือใช้ชื่อใหม่

สำหรับ Truststore ให้สร้าง Truststore ด้วยชื่อใหม่

ส่งตัวแปรโฟลว์ที่อัปเดตในคำขอแต่ละรายการด้วยชื่อของคีย์สโตร์ ชื่อแทน หรือ Truststore

ไม่จำเป็นต้องรีสตาร์ทเราเตอร์หรือ Message Processor

ส่งตัวแปรโฟลว์ที่อัปเดตในคำขอแต่ละรายการด้วยชื่อของคีย์สโตร์ ชื่อแทน หรือ Truststore

โดยไม่จำเป็นต้องติดต่อทีมสนับสนุนของ Apigee

โดยตรง สร้างคีย์สโตร์ ชื่อแทน และ Truststore ใหม่ อัปเดตโฮสต์เสมือนและรีสตาร์ทเราเตอร์

หากเซิร์ฟเวอร์ปลายทาง/ปลายทางใช้ Truststore ให้เปิดใช้งานพร็อกซีอีกครั้ง

สำหรับโฮสต์เสมือน โปรดติดต่อทีมสนับสนุนของ Apigee Edge เพื่อรีสตาร์ทเราเตอร์

หากเซิร์ฟเวอร์ปลายทาง/ปลายทางใช้ Truststore ให้เปิดใช้งานพร็อกซีอีกครั้ง

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

หากใช้คีย์สโตร์สำหรับ TLS แบบ 2 ทางระหว่าง Edge และบริการแบ็กเอนด์ ให้รีสตาร์ท Message Processor

ไม่ต้องอัปเดตโฮสต์เสมือน แต่คำขอ API จะล้มเหลวจนกว่าจะได้คีย์สโตร์ใหม่และ ตั้งค่าชื่อแทนแล้ว

หากใช้คีย์สโตร์สำหรับ TLS แบบ 2 ทางระหว่าง Edge กับบริการแบ็กเอนด์ ติดต่อทีมสนับสนุนของ Apigee Edge เพื่อรีสตาร์ท Message Processor

โดยตรง สำหรับ Truststore เท่านั้น ให้อัปโหลดใบรับรองใหม่ไปยัง Truststore หากโฮสต์เสมือนใช้ Truststore ให้รีสตาร์ทเราเตอร์

หากเซิร์ฟเวอร์ปลายทาง/เป้าหมายใช้ Truststore ให้รีสตาร์ทข้อความ ผู้ประมวลผลข้อมูล

สำหรับโฮสต์เสมือน โปรดติดต่อฝ่ายสนับสนุนของ Apigee Edge เพื่อรีสตาร์ท Edge Router

หากเซิร์ฟเวอร์ปลายทาง/ปลายทางใช้ Truststore ให้ติดต่อทีมสนับสนุนของ Apigee Edge เพื่อรีสตาร์ทโปรแกรมประมวลผลข้อความ