ضبط بروتوكول أمان طبقة النقل (TLS) من Edge إلى الخلفية (Cloud وPrivate Cloud)

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

يعمل الخادم الوكيل لواجهة برمجة التطبيقات كتعيين نقطة نهاية متاحة للجميع في خدمة الخلفية. يحدِّد المضيف الافتراضي طريقة عرض الخادم الوكيل لواجهة برمجة التطبيقات التي تظهر للجميع لتطبيق معيَّن. على سبيل المثال، يحدّد المضيف الافتراضي ما إذا كان من الممكن الوصول إلى الخادم الوكيل لواجهة برمجة التطبيقات باستخدام بروتوكول أمان طبقة النقل (TLS). عند ضبط خادم وكيل لواجهة برمجة التطبيقات، يمكنك تعديل تعريف ProxyEndpoint لإعداد المضيفات الافتراضية التي يستخدمها.

TargetEndpoint هو المكافئ الصادر لـ ProxyEndpoint. تعمل ميزة TargetEndpoint كعميل HTTP بدءًا من شبكة Edge إلى إحدى الخدمات الخلفية. عند إنشاء خادم وكيل لواجهة برمجة التطبيقات، يمكنك ضبطه على استخدام صفر أو أكثر من نقاط النهاية المستهدفة.

مزيد من المعلومات:

ضبط TargetEndpoint أو TargetServer

لضبط ميزة TargetEndpoint، عليك تعديل كائن XML الذي يحدّد قيمة TargetEndpoint. يمكنك تعديل TargetEndpoint من خلال تعديل ملف XML الذي يحدّد ميزة TargetEndpoint في الخادم الوكيل لواجهة برمجة التطبيقات، أو تعديله في واجهة مستخدِم إدارة Edge.

لاستخدام واجهة مستخدم إدارة Edge لتعديل TargetEndpoint:

  1. سجِّل الدخول إلى واجهة مستخدم إدارة Edge على الرابط https://enterprise.apigee.com.
  2. اختَر اسم الخادم الوكيل لواجهة برمجة التطبيقات المطلوب تعديله.
  3. اختَر علامة التبويب التطوير.
  4. ضِمن نقاط النهاية المستهدفة، اختَر تلقائي.
  5. في منطقة الرمز، يظهر تعريف TargetEndpoint بشكل مشابه لما يلي:
    <TargetEndpoint name="default">
      <Description/>
      <FaultRules/>
      <Flows/>
      <PreFlow name="PreFlow">
        <Request/>
        <Response/>
      </PreFlow>
      <PostFlow name="PostFlow">
        <Request/>
        <Response/>
      </PostFlow>
      <HTTPTargetConnection>
        <Properties/>
        <SSLInfo>
          <Enabled>true</Enabled>
          <TrustStore>ref://myTrustStoreRef</TrustStore>
        </SSLInfo>
        <URL>https://mocktarget.apigee.net</URL>
      </HTTPTargetConnection>
    </TargetEndpoint>
  6. اضبط متاجر Truststore كما هو موضَّح أدناه في مقالة لمحة عن ضبط بروتوكول أمان طبقة النقل (TLS) باستخدام الواجهة الخلفية.
  7. أجرِ أي تغييرات واحفظ الخادم الوكيل. في حال تفعيل الخادم الوكيل لواجهة برمجة التطبيقات، سيؤدي حفظه إلى إعادة نشره في الإعداد الجديد.

يُرجى ملاحظة أنّ تعريف TargetEndpoint يتضمّن سمة name. يمكنك استخدام قيمة السمة name لضبط تعريف ProxyEndpoint للخادم الوكيل لواجهة برمجة التطبيقات من أجل استخدام TargetEndpoint. انظر مرجع ضبط الخادم الوكيل لواجهة برمجة التطبيقات للحصول على المزيد.

يمكن ضبط نقاط النهاية للإشارة إلى TargetServer، بدلاً من عنوان URL المستهدف الصريح. يعمل إعداد TargetServer على فصل عناوين URL الملموسة لنقاط النهاية عن إعدادات TargetEndpoint. يتم استخدام TargetServers لدعم موازنة التحميل وتجاوز الإخفاق في العديد من مثيلات الخادم الخلفية.

في ما يلي مثال على تعريف TargetServer:

<TargetServer name="target1">
  <Host>mocktarget.apigee.net</Host>
  <Port>80</Port>
  <IsEnabled>true</IsEnabled>
</TargetServer> 

تتم الإشارة إلى TargetServer بواسطة الاسم في العنصر <HTTPTargetConnection> في تعريف TargetEndpoint. يمكنك تهيئة واحد أو أكثر من خوادم TargetServers المسماة، كما هو موضّح أدناه.

<TargetEndpoint name="default">
  ...
  <HTTPTargetConnection>
    <LoadBalancer>
      <Server name="target1" />
      <Server name="target2" />
    </LoadBalancer>
    <Path>/test</Path>
  </HTTPTargetConnection>
  ...
</TargetEndpoint>

راجِع موازنة التحميل عبر الخوادم الخلفية لمزيد من المعلومات.

لمحة عن ضبط بروتوكول أمان طبقة النقل (TLS) مع الواجهة الخلفية

قبل ضبط إمكانية الوصول عبر بروتوكول أمان طبقة النقل (TLS) إلى الخلفية، يجب معرفة نقطتَين مهمتَين:

  1. بشكل تلقائي، لا يتحقق متصفِّح Edge من شهادة الخلفية. يجب إنشاء متجر Truststore لإعداد Edge للتحقّق من صحة الشهادة.
  2. استخدِم مرجعًا لتحديد ملف تخزين المفاتيح أو ملف تخزين الثقة الذي يستخدمه Edge.

ويمكنك الاطّلاع على كلا الاعتبارين في ما يلي.

تحديد متجر موثوق به لتفعيل التحقق من صحة الشهادات

عند تقديم طلب بروتوكول أمان طبقة النقل (TLS) من خلال TargetEndpoint أو TargetServer، لا يتحقّق Edge تلقائيًا من شهادة TLS التي تم استلامها من الخادم الخلفية. وهذا يعني أنّ متصفّح Edge لا يتحقّق مما يلي:

  • تم توقيع الشهادة من قِبل مرجع تصديق موثوق به.
  • عدم انتهاء صلاحية الشهادة
  • تُقدِّم الشهادة اسمًا شائعًا. وإذا كان هناك اسم شائع، لا يتحقق Edge من تطابق الاسم الشائع مع اسم المضيف المحدّد في عنوان URL.

لإعداد Edge للتحقق من صحة شهادة الخلفية، يجب عليك:

  1. أنشِئ متجرًا موثوقًا به على Edge.
  2. حمِّل سلسلة شهادات الخادم أو شهاداتها إلى المتجر الموثوق به. إذا كانت شهادة الخادم موقَّعة من قِبل جهة خارجية، سيكون عليك تحميل سلسلة الشهادات الكاملة، بما في ذلك شهادة CA الجذرية، إلى Truststore. لا توجد مراجع تصديق موثوق بها بشكل ضمني.
  3. أضِف Truststore إلى تعريف TargetEndpoint أو TargetServer.

راجع مخازن المفاتيح والمتجر الموثوق بها لمزيد من المعلومات.

مثلاً:

<TargetEndpoint name="default">
  …
  <HTTPTargetConnection>
    <SSLInfo>
      <Enabled>true</Enabled>
      <TrustStore>ref://myTrustStoreRef</TrustStore>
    </SSLInfo>
    <URL>https://myservice.com</URL>
  </HTTPTargetConnection>
  …
</TargetEndpoint>

استخدام مرجع إلى ملف تخزين مفاتيح أو ملف موثوق به

يوضّح المثال أدناه كيفية ضبط TargetEndpoint أو TargetServer لإتاحة استخدام بروتوكول أمان طبقة النقل (TLS). كجزء من ضبط بروتوكول أمان طبقة النقل (TLS)، يمكنك تحديد ملف تخزين موثوق به وملف تخزين مفاتيح التشفير كجزء من تعريف TargetEndpoint أو TargetServer.

تنصح Apigee بشدة باستخدام مرجع إلى ملف تخزين المفاتيح وTruststore في تعريف TargetEndpoints أو TargetServer. وتتمثّل فائدة استخدام المرجع في أنّه ما عليك سوى تعديل المرجع للإشارة إلى ملف تخزين مفاتيح مختلف أو ملف تخزين موثوق به مختلف لتعديل شهادة بروتوكول أمان طبقة النقل (TLS).

إنّ الإشارات إلى ملفات تخزين المفاتيح ومخازن الثقة في تعريف TargetEndpoints أو TargetServer بالطريقة نفسها التي تعمل بها للمضيفات الافتراضية.

تحويل TargetEndpoint أو TargetServer لاستخدام مرجع

قد يكون لديك تعريفات TargetEndpoint أو TargetServer حالية تستخدم الاسم الحرفي لملف تخزين المفاتيح وTruststore. لتحويل تعريف TargetEndpoint أو TargetServer لاستخدام المراجع، يُرجى اتّباع الخطوات التالية:

  1. يُرجى تعديل تعريف TargetEndpoint أو TargetServer باستخدام مرجع.
  2. أعِد تشغيل معالِجات رسائل Edge:
    • بالنسبة إلى عملاء Public Cloud، يُرجى التواصل مع فريق دعم Apigee Edge لإعادة تشغيل معالِجات الرسائل.
    • بالنسبة إلى عملاء Private Cloud، يُرجى إعادة تشغيل معالِجات رسائل Edge واحدًا تلو الآخر.
  3. تأكَّد من أنّ TargetEndpoint أو TargetServer يعملان بشكل صحيح.

ضبط بروتوكول أمان طبقة النقل (TLS) الأحادي الاتجاه في خادم الخلفية

عند استخدام تعريف TargetEndpoint، لا يتطلب ضبط الوصول الأحادي الاتجاه عبر بروتوكول أمان طبقة النقل (TLS) من Edge (عميل TLS) إلى خادم الخلفية (خادم TLS) أي إعدادات إضافية في Edge. ويعتمد ضبط بروتوكول أمان طبقة النقل بشكل صحيح على خادم الخلفية.

ما عليك سوى التأكد من أنّ العنصر <URL> في تعريف TargetEndpoint يشير إلى خدمة الخلفية من خلال بروتوكول HTTPS وأنّك تفعِّل بروتوكول أمان طبقة النقل (TLS):

<TargetEndpoint name="default">
  …
  <HTTPTargetConnection>
    <SSLInfo>
      <Enabled>true</Enabled>
    </SSLInfo>
    <URL>https://myservice.com</URL>
  </HTTPTargetConnection>
  …
</TargetEndpoint>

إذا كنت تستخدم TargetServer لتحديد خدمة الخلفية، عليك تفعيل بروتوكول أمان طبقة النقل (TLS) في تعريف TargetServer:

<TargetServer name="target1">
  <Host>mocktarget.apigee.net</Host>
  <Port>443</Port>
  <IsEnabled>true</IsEnabled>
  <SSLInfo>
    <Enabled>true</Enabled>
  </SSLInfo> 
</TargetServer> 

ومع ذلك، إذا كنت تريد أن يتحقّق Edge من صحة شهادة الخلفية، عليك إنشاء متجر Truststore يحتوي على شهادة الخلفية أو سلسلة الشهادات. بعد ذلك، عليك تحديد Truststore في تعريف TargetEndpoint:

<TargetEndpoint name="default">
  …
  <HTTPTargetConnection>
    <SSLInfo>
      <Enabled>true</Enabled>
      <TrustStore>ref://myTrustStoreRef</TrustStore>
    </SSLInfo>
    <URL>https://myservice.com</URL>
  </HTTPTargetConnection>
  …
</TargetEndpoint>

أو في تعريف TargetServer:

<TargetServer name="target1">
  <Host>mockserver.apigee.net</Host>
  <Port>443</Port>
  <IsEnabled>true</IsEnabled>
  <SSLInfo>
    <Enabled>true</Enabled>
    <TrustStore>ref://myTrustStoreRef</TrustStore>
  </SSLInfo> 
</TargetServer>

لضبط بروتوكول أمان طبقة النقل (TLS) الأحادي الاتجاه:

  1. إذا كنت تريد التحقق من صحة شهادة الخلفية، أنشئ متجر Truststore على Edge، وحمِّل شهادة الخلفية أو سلسلة مرجع التصديق، كما هو موضّح في ملفات تخزين المفاتيح وأنظمة التخزين الموثوق بها. في هذا المثال، إذا كان عليك إنشاء متجر موثوق به، يمكنك تسميته myTrustStore.
  2. إذا أنشأت متجر Truststore، استخدِم طلب البيانات من واجهة برمجة التطبيقات POST التالي لإنشاء المرجع باسم myTrustStoreRef إلى متجر Truststore الذي أنشأته أعلاه:

    curl -X POST  -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \
      -d '<ResourceReference name="myTrustStoreRef">
        <Refers>myTrustKeystore</Refers>
        <ResourceType>KeyStore</ResourceType>
      </ResourceReference>' -u email:password
    
  3. استخدِم واجهة مستخدم إدارة Edge لتعديل تعريف TargetEndpoint للخادم الوكيل لواجهة برمجة التطبيقات (أو إذا حدّدت الخادم الوكيل لواجهة برمجة التطبيقات في ملف XML، يمكنك تعديل ملفات XML للخادم الوكيل):
    1. سجِّل الدخول إلى واجهة مستخدم إدارة Edge على الرابط https://enterprise.apigee.com.
    2. في قائمة واجهة مستخدم إدارة Edge، اختَر واجهات برمجة التطبيقات.
    3. اختَر اسم الخادم الوكيل لواجهة برمجة التطبيقات المطلوب تعديله.
    4. اختَر علامة التبويب التطوير.
    5. ضِمن نقاط النهاية المستهدفة، اختَر تلقائي.
    6. في منطقة الرمز، عدِّل العنصر <HTTPTargetConnection> لإضافة العنصر <SSLInfo>. تأكَّد من تحديد مرجع Truststore الصحيح وضبط <Enabled> على "صحيح":
      <TargetEndpoint name="default">
        …
        <HTTPTargetConnection>
          <SSLInfo>
            <Enabled>true</Enabled>
            <TrustStore>ref://myTrustStoreRef</TrustStore>
          </SSLInfo>
          <URL>https://myservice.com</URL>
        </HTTPTargetConnection>
        …
      </TargetEndpoint>
    7. احفظ الخادم الوكيل لواجهة برمجة التطبيقات. في حال تفعيل الخادم الوكيل لواجهة برمجة التطبيقات، سيؤدي حفظه إلى إعادة نشره في الإعداد الجديد.

ضبط بروتوكول أمان طبقة النقل (TLS) الثنائي الاتجاه في خادم الخلفية

إذا كنت تريد إتاحة بروتوكول TLS الثنائي بين Edge (برنامج TLS) وخادم الخلفية (خادم TLS):

  • أنشئ ملف تخزين على Edge وحمّل شهادة Edge والمفتاح الخاص.
  • إذا كنت تريد التحقق من صحة شهادة الخلفية، يمكنك إنشاء متجر Truststore على Edge يحتوي على سلسلة الشهادة وسلسلة مراجع التصديق (CA) التي تلقّيتها من الخادم الخلفية.
  • يمكنك تعديل TargetEndpoint من أي خوادم وكيلة لواجهة برمجة التطبيقات تشير إلى خادم الخلفية لضبط الوصول إلى بروتوكول أمان طبقة النقل.

استخدام الاسم المستعار للمفتاح لتحديد شهادة ملف تخزين المفاتيح

يمكنك تحديد عدة شهادات، على أن يكون لكل منها اسم مستعار خاص بها، في ملف تخزين المفاتيح نفسه. بشكل افتراضي، يستخدم Edge أول شهادة تم تحديدها في ملف تخزين المفاتيح.

يمكنك اختياريًا ضبط متصفّح Edge لاستخدام الشهادة التي تحدّدها السمة <KeyAlias>. يتيح لك هذا تحديد ملف تخزين واحد لشهادات متعدّدة، ثم اختيار الملف الذي تريد استخدامه في تعريف TargetServer. إذا لم يتمكن Edge من العثور على شهادة ذات اسم مستعار يتطابق مع <KeyAlias>، فإنه يستخدم الإجراء التلقائي المتمثل في اختيار الشهادة الأولى في ملف تخزين المفاتيح.

على مستخدمي Edge الخاص بخدمة Public Cloud التواصل مع فريق دعم Apigee Edge لتفعيل هذه الميزة.

ضبط بروتوكول أمان طبقة النقل (TLS) الثنائي الاتجاه

لضبط بروتوكول أمان طبقة النقل (TLS) الثنائي الاتجاه:

  1. أنشئ ملف تخزين المفاتيح على Edge، وحمِّل الشهادة والمفتاح الخاص، باستخدام الإجراء الموضح هنا: ملفات تخزين المفاتيح وأنظمة التخزين الموثوق بها. في هذا المثال، أنشِئ ملف تخزين مفاتيح باسم myTestKeystore يستخدم اسمًا مستعارًا لـ myKey للشهادة والمفتاح الخاص.
  2. استخدِم طلب POST API التالي لإنشاء المرجع المُسمّى myKeyStoreRef إلى ملف تخزين المفاتيح الذي أنشأته أعلاه:

    curl -X POST  -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \
    -d '<ResourceReference name="myKeyStoreRef">
        <Refers>myTestKeystore</Refers>
        <ResourceType>KeyStore</ResourceType>
    </ResourceReference>' -u email:password
    

    يحدّد المرجع اسم ملف تخزين المفاتيح ونوع المرجع على أنّه KeyStore.

    يمكنك استخدام طلب GET API التالي لعرض المرجع:

    curl -X GET https://api.enterprise.apigee.com/v1/o/[org_name}/e/{env_name}/references/myKeyStoreRef /
    -u email:password
    
  3. إذا كنت تريد التحقّق من صحة شهادة الخلفية، أنشئ متجر Truststore على Edge، وحمِّل سلسلة الشهادة وسلسلة مراجع التصديق (CA)، كما هو موضّح هنا: Keystores وTruststores. في هذا المثال، إذا كان عليك إنشاء اسم متجر موثوق به، يصبح الاسم myTrustStore.
  4. إذا أنشأت متجر Truststore، استخدِم طلب البيانات من واجهة برمجة التطبيقات POST التالي لإنشاء المرجع باسم myTrustStoreRef إلى متجر Truststore الذي أنشأته أعلاه:

    curl -X POST  -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \
    -d '<ResourceReference name="myTrustStoreRef">
        <Refers>myTrustKeystore</Refers>
        <ResourceType>KeyStore</ResourceType>
    </ResourceReference>' -u email:password
    
  5. استخدِم واجهة مستخدم إدارة Edge لتعديل تعريف TargetEndpoint للخادم الوكيل لواجهة برمجة التطبيقات (أو إذا حدّدت الخادم الوكيل لواجهة برمجة التطبيقات في ملف XML، يمكنك تعديل ملفات XML للخادم الوكيل):
    1. سجِّل الدخول إلى واجهة مستخدم إدارة Edge على الرابط https://enterprise.apigee.com.
    2. في قائمة واجهة مستخدم إدارة Edge، اختَر واجهات برمجة التطبيقات.
    3. اختَر اسم الخادم الوكيل لواجهة برمجة التطبيقات المطلوب تعديله.
    4. اختَر علامة التبويب التطوير.
    5. ضِمن نقاط النهاية المستهدفة، اختَر تلقائي.
    6. في منطقة الرمز، عدِّل العنصر <HTTPTargetConnection> لإضافة العنصر <SSLInfo>. احرِص على تحديد ملف تخزين المفاتيح والاسم المستعار للمفتاح الصحيح وضبط كل من العنصرَين <Enabled> و<ClientAuthEnabled> على "صحيح":
      <TargetEndpoint name="default">
        ...
        <HTTPTargetConnection>
          <SSLInfo>
            <Enabled>true</Enabled>
            <ClientAuthEnabled>true</ClientAuthEnabled>
            <KeyStore>ref://myKeyStoreRef</KeyStore>
            <KeyAlias>myKey</KeyAlias>
          </SSLInfo>
          <URL>https://myservice.com</URL>
        </HTTPTargetConnection>
        ...
      </TargetEndpoint>
    7. احفظ الخادم الوكيل لواجهة برمجة التطبيقات. في حال تفعيل الخادم الوكيل لواجهة برمجة التطبيقات، سيؤدي حفظه إلى إعادة نشره في الإعداد الجديد.

لمزيد من المعلومات عن الخيارات المتاحة في <TargetEndpoint>، بما في ذلك استخدام المتغيّرات لتوفير قيم TargetEndpoint <SSLInfo>، يُرجى الاطّلاع على مرجع إعداد الخادم الوكيل لواجهة برمجة التطبيقات.

تفعيل إشارة SNI

يتيح Edge استخدام مؤشر اسم الخادم (SNI) من معالِجات الرسائل لاستهداف نقاط النهاية في Apigee Edge for Cloud ولعمليات نشر Private Cloud.

بالنسبة إلى متصفّح Edge الخاص بخدمة Private Cloud، ليكون متوافقًا مع الخلفيات الخلفية الحالية لديك، أوقفت Apigee إشارة SNI تلقائيًا. في حال إعداد الخلفية المستهدفة بحيث تتوافق مع إشارة اسم الخادم (SNI)، يمكنك تفعيل هذه الميزة. راجع استخدام إشارة اسم الخادم (SNI) مع Edge لمزيد من المعلومات.