একটি API প্রক্সিতে TLS সংযোগ তথ্য অ্যাক্সেস করা

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

এজ আপনাকে ভার্চুয়াল হোস্ট তৈরি করতে দেয় যা একমুখী এবং দ্বিমুখী TLS সমর্থন করে। এক উপায় TLS এর মাধ্যমে, ক্লায়েন্ট একটি এজ রাউটারে স্থাপন করা একটি ভার্চুয়াল হোস্টের কাছে একটি সেশন অনুরোধ জারি করে এবং রাউটার একটি শংসাপত্রের সাথে প্রতিক্রিয়া জানায় যাতে ভার্চুয়াল হোস্টের পাবলিক কী থাকে। একটি স্বাক্ষরিত শংসাপত্রের জন্য, ক্লায়েন্ট তারপর শংসাপত্রটি প্রমাণীকরণের জন্য শংসাপত্র কর্তৃপক্ষের (CA) কাছে একটি অনুরোধ করতে পারে৷

দ্বি-মুখী TLS-এ, ক্লায়েন্ট এবং এজ পাস শংসাপত্র উভয়ই অনুরোধের অংশ হিসাবে যাচাই করা হয়:

  • এজ রাউটার নিজেকে প্রমাণীকরণ করতে TLS ক্লায়েন্টের কাছে তার শংসাপত্র উপস্থাপন করে। তারপর ক্লায়েন্ট সার্ভারে তার শংসাপত্র পাঠানোর আগে সার্ভারের পরিচয় যাচাই করে।
  • TLS ক্লায়েন্ট নিজেকে প্রমাণীকরণ করতে এজ-এ তার শংসাপত্র উপস্থাপন করে।

আরও তথ্যের জন্য ভার্চুয়াল হোস্ট সম্পর্কে দেখুন।

TLS সংযোগ তথ্য ক্যাপচার করা হচ্ছে

TLS সমর্থন করে এমন একটি ভার্চুয়াল হোস্টের মাধ্যমে একটি API প্রক্সিকে অনুরোধ করার সময়, এজ TLS সংযোগ সম্পর্কে তথ্য ক্যাপচার করতে পারে। আপনার API প্রক্সি অতিরিক্ত বিশ্লেষণ এবং বৈধতা সম্পাদন করতে ফ্লো ভেরিয়েবলের মাধ্যমে সেই তথ্য অ্যাক্সেস করতে পারে।

এজ দ্বারা ক্যাপচার করা TLS তথ্যের ধরন নির্ভর করে যে ভার্চুয়াল হোস্ট একমুখী বা দ্বিমুখী TLS সমর্থন করে কিনা। উদাহরণস্বরূপ, একমুখী TLS-এর জন্য, Edge TLS সংযোগে ব্যবহৃত TLS সাইফার বা TLS প্রোটোকল সম্পর্কে তথ্য ক্যাপচার করতে পারে।

দ্বি-মুখী TLS-এর জন্য, Edge একমুখী TLS-এর জন্য ক্যাপচার করা সমস্ত একই তথ্য ক্যাপচার করতে পারে এবং ক্লায়েন্টের শংসাপত্র সম্পর্কে তথ্যও ক্যাপচার করতে পারে। উদাহরণস্বরূপ, এজ ক্লায়েন্ট শংসাপত্রের SHA1 ফিঙ্গারপ্রিন্ট এবং PEM ফর্ম্যাটে ক্লায়েন্ট শংসাপত্র ক্যাপচার করতে পারে।

একমুখী এবং দ্বিমুখী TLS উভয়ের জন্য তথ্য ক্যাপচার করা

নিম্নলিখিত সারণীটি ফ্লো ভেরিয়েবলের তালিকা করে যেগুলিতে এজ দ্বারা ক্যাপচার করা TLS সংযোগের তথ্য রয়েছে এবং API প্রক্সিতে অ্যাক্সেসের জন্য উপলব্ধ। ভার্চুয়াল হোস্ট সংজ্ঞায় <ConnectionProperties> কে সত্যে সেট করে এক-মুখী এবং দ্বি-মুখী TLS উভয়ের জন্য এই তথ্য ক্যাপচার করা হয়েছে:

প্রবাহ পরিবর্তনশীল বর্ণনা
tls.cipher TLS সংযোগ দ্বারা ব্যবহৃত সাইফার।
tls.protocol TLS সংযোগ দ্বারা ব্যবহৃত প্রোটোকল।
tls.server.name অনুরোধ করা SNI সার্ভারের নাম।
tls.session.id

সেশন শনাক্তকারী।

আপনি <ConnectionProperties> অথবা <ClientProperties> অথবা সত্যে সেট করলে এই ফ্লো ভেরিয়েবলটি পাওয়া যায়।

দ্বিমুখী TLS চলাকালীন অতিরিক্ত TLS তথ্য ক্যাপচার করা

নিচের সারণীতে ফ্লো ভেরিয়েবলের তালিকা করা হয়েছে যাতে ক্লায়েন্ট শংসাপত্রের বিবরণ রয়েছে এজ দ্বারা দ্বি-মুখী TLS-এ ক্যাপচার করা। ভার্চুয়াল হোস্ট সংজ্ঞায় <ClientProperties> কে সত্য হিসাবে সেট করে এই তথ্যটি দ্বি-মুখী TLS-এর জন্য ক্যাপচার করা হয়েছে:

প্রবাহ পরিবর্তনশীল বর্ণনা
tls.client.s.dn ক্লায়েন্ট শংসাপত্রের বিষয় বিশিষ্ট নাম (DN)।
tls.client.i.dn ক্লায়েন্ট শংসাপত্রের ইস্যুকারী বিশিষ্ট নাম (DN)।
tls.client.raw.cert PEM বিন্যাসে ক্লায়েন্ট শংসাপত্র।
tls.client.cert.serial ক্লায়েন্ট শংসাপত্রের ক্রমিক নম্বর।
tls.client.cert.fingerprint ক্লায়েন্ট শংসাপত্রের SHA1 ফিঙ্গারপ্রিন্ট।
tls.session.id

সেশন শনাক্তকারী।

আপনি <ConnectionProperties> অথবা <ClientProperties> সত্যে সেট করলে এই ফ্লো ভেরিয়েবলটি পাওয়া যায়।

TLS তথ্য ক্যাপচার করতে একটি ভার্চুয়াল হোস্ট কনফিগার করা হচ্ছে

TLS তথ্য ক্যাপচার করার জন্য ভার্চুয়াল হোস্ট কনফিগার করতে, <PropagateTLSInformation> এর অধীনে নিম্নলিখিত বৈশিষ্ট্যগুলিকে true সেট করুন।

  • <ConnectionProperties> : একমুখী এবং দ্বিমুখী TLS উভয়ের জন্য TLS সংযোগ তথ্য ক্যাপচার সক্ষম করুন। ডিফল্ট মান false
  • <ClientProperties> : দ্বিমুখী TLS-এর জন্য অতিরিক্ত তথ্য ক্যাপচার সক্ষম করুন। ডিফল্ট মান false

উদাহরণস্বরূপ, নিম্নলিখিত ভার্চুয়াল হোস্ট সংজ্ঞা দ্বি-মুখী TLS ব্যবহার করে এবং উভয় ধরনের TLS তথ্য ক্যাপচার করতে সক্ষম করে:

<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 তথ্য ক্যাপচার সক্ষম করেন, তখন এজ সেই তথ্যটি HTTP হেডার ব্যবহার করে পাস করে। তাই আপনাকে অবশ্যই নিশ্চিত করতে হবে যে আপনি ক্লাউডের জন্য এজ বা প্রাইভেট ক্লাউডের জন্য এজ ব্যবহার করছেন কিনা তার উপর ভিত্তি করে হেডারের আকারের সীমা যথাযথভাবে সেট করা হয়েছে:

  • ক্লাউডের জন্য প্রান্ত : Apigee হেডারের আকার যথাযথভাবে সেট করে।
  • প্রাইভেট ক্লাউডের জন্য এজ : বৈশিষ্ট্য উপলব্ধ নয়।

একটি API প্রক্সিতে ফ্লো ভেরিয়েবল অ্যাক্সেস করা

আপনার API প্রক্সি থেকে, আপনি TLS ফ্লো ভেরিয়েবলগুলি অ্যাক্সেস এবং পরিদর্শন করতে পারেন৷ উদাহরণস্বরূপ, আপনি তাদের অ্যাক্সেস করার জন্য AssignMessage নীতি ব্যবহার করতে পারেন, JavaScript নীতির সাথে JavaScript এ অ্যাক্সেস করতে পারেন।

আপনি প্রক্সি বা টার্গেট ফ্লো-এর <Condition> এলিমেন্টে অথবা <Step> বা <RouteRule> -এ ফ্লো ভেরিয়েবল উল্লেখ করতে পারেন। উদাহরণস্বরূপ, আপনি ক্লায়েন্টের SN এর উপর ভিত্তি করে বিভিন্ন লক্ষ্যে একটি অনুরোধ রুট করতে পারেন।

আরো জন্য, দেখুন: