Edge ম্যানেজমেন্ট API-এর সাথে এক্সটার্নাল IDP ব্যবহার করা

Edge ম্যানেজমেন্ট API-তে কল করার সময় যাচাইকরণের একটি উপায় হল প্রাথমিক যাচাইকরণ। যেমন, আপনার প্রতিষ্ঠানের তথ্য অ্যাক্সেস করতে আপনি Edge ম্যানেজমেন্ট API-তে নিম্নলিখিত curl অনুরোধ করতে পারেন:

curl -u USER_NAME:PASSWORD http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

এই উদাহরণে, আপনি বেসিক যাচাইকরণ ক্রেডেনশিয়াল পাস করার জন্য curl -u বিকল্প ব্যবহার করেন। অথবা, Edge ম্যানেজমেন্ট API কল করার জন্য Authorization: Bearer হেডার থেকে OIDC/OAuth2 টোকেন পাস করতে পারেন, যেমন নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

curl -H "Authorization: Bearer ACCESS_TOKEN" http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

যাচাইকরণের জন্য এক্সটার্নাল IDP চালু করার পরে, আপনি চাইলে বেসিক যাচাইকরণ বন্ধ করতে পারেন। আপনি প্রাথমিক যাচাইকরণ বন্ধ করে দিলে, প্রাথমিক যাচাইকরণ কাজ করে এমন Edge ম্যানেজমেন্ট API কলের উপর নির্ভর করে এমন সব স্ক্রিপ্ট (যেমন, Maven, shell এবং apigeetool) আর কাজ করবে না। আপনাকে অবশ্যই Bearer হেডার থেকে OAuth2 অ্যাক্সেস টোকেন পাস করার জন্য বেসিক যাচাইকরণ ব্যবহার করে এমন যেকোনও API কল ও স্ক্রিপ্ট আপডেট করতে হবে।

get_token-এর মাধ্যমে টোকেন পাওয়া ও রিফ্রেশ করা

OIDC/OAuth2 অ্যাক্সেস ও রিফ্রেশ টোকেন পেতে get_token ইউটিলিটি স্ট্যান্ডার্ড OAuth 2.0 ডিভাইস কোড ফ্লো ব্যবহার করে। ইউটিলিটি আপনাকে আপনার এক্সটার্নাল IDP (বা লোকাল LDAP)-এর মাধ্যমে যাচাইকরণ করার জন্য আপনার ব্রাউজারে একটি URL-এ যেতে প্রম্পট করে এবং তারপরে সঠিক অ্যাক্সেস টোকেন প্রিন্ট করার জন্য আপনার টার্মিনাল অটোমেটিক আনব্লক করে।

get_token ইউটিলিটি ~/.sso-cli/-এ ডিস্কে নিরাপদে টোকেন ক্যাশে করে, যা প্রয়োজন হলে ব্যবহারের জন্য প্রস্তুত থাকে। এটি stdout-এ একটি সঠিক অ্যাক্সেস টোকেনও প্রিন্ট করে। আগে থেকে থাকা টোকেন রিফ্রেশ করা গেলে, ইউটিলিটি অটোমেটিক সেটি রিফ্রেশ করবে। রিফ্রেশ টোকেনের মেয়াদ শেষ হয়ে গেলে, এটি নতুন ব্রাউজার-ভিত্তিক অনুমোদনের ফ্লো শুরু করবে।

Edge ম্যানেজমেন্ট API কল করার জন্য OAuth2 অ্যাক্সেস টোকেন পেতে:

  1. get_token এবং acurl ইউটিলিটিগুলি Apigee SSO (OpenLDAP নোড) হোস্ট করা নোডে আগে থেকেই ইনস্টল করা আছে: /opt/apigee/apigee-openldap/bin/
  2. (ঐচ্ছিক) SSO_LOGIN_URL এনভায়রনমেন্ট ভেরিয়েবল আপনার SSO ইস্যুকারী URL-এ সেট করুন, এই ফর্ম্যাটে:
    export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"

    যেখানে EDGE_SSO_IP_DNS হল Apigee SSO হোস্ট করা মেশিনের IP অ্যাড্রেস বা DNS নাম। আপনি Apigee SSO-তে TLS কনফিগার করলে, https এবং সঠিক TLS পোর্ট নম্বর ব্যবহার করুন।

  3. OAuth 2.0 ডিভাইস কোড ফ্লো শুরু করতে, আপনার ইমেল আইডি দিয়ে get_token ইনভোক করুন:
    /opt/apigee/apigee-openldap/bin/get_token -u EMAIL_ADDRESS

    যেখানে EMAIL_ADDRESS হল Edge ব্যবহারকারীর ইমেল আইডি।

  4. ইউটিলিটি পজ হয়ে যাবে এবং আপনার টার্মিনালে একটি URL ও ৮-অক্ষরের ডিভাইস কোড প্রিন্ট করবে:
    Please visit: http://EDGE_SSO_IP_DNS:9099/device
    And enter code: ABCD-EFGH
  5. আপনার ব্রাউজারে নির্দিষ্ট URL খুলুন, ডিভাইস কোড লিখুন এবং জমা দিন বিকল্পে ক্লিক করুন। অনুরোধ যাচাই ও অনুমোদন করার জন্য আপনাকে এক্সটার্নাল IDP (বা লোকাল LDAP ফর্ম)-এ রিডাইরেক্ট করা হবে।
  6. ব্রাউজারে সফলভাবে যাচাইকরণ করার পরে, আপনার টার্মিনালে ফিরে যান। get_token ইউটিলিটি অটোমেটিক অনুমোদন শনাক্ত করবে, OAuth2 অ্যাক্সেস টোকেন পাবে, স্ক্রিনে প্রিন্ট করবে এবং নিরাপদে ক্যাশে করবে।
  7. acurl ইউটিলিটি ব্যবহার করে Edge ম্যানেজমেন্ট API কলে অ্যাক্সেস টোকেন পাস করুন, যা অটোমেটিক ক্যাশে করা টোকেন পড়ে এবং বিয়ারার হেডার ইনজেক্ট করে:
    /opt/apigee/apigee-openldap/bin/acurl http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

    অথবা, আপনি স্ট্যান্ডার্ড curl ব্যবহার করে ম্যানুয়ালি টোকেন পাস করতে পারেন:

    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

টোকেন পেতে এবং রিফ্রেশ করতে ম্যানেজমেন্ট API ব্যবহার করুন

পুরনো /passcode এন্ডপয়েন্ট সরিয়ে দেওয়া হয়েছে। তাই, প্রাথমিক যাচাইকরণের জন্য ব্রাউজার-ভিত্তিক OAuth 2.0 ডিভাইস কোড ফ্লো শুরু করতে, হিউম্যান ইউজারদের অবশ্যই আগে বর্ণিত get_token ইউটিলিটি ব্যবহার করতে হবে।

আপনি যদি এমন স্ক্রিপ্ট বা CI/CD পাইপলাইন লেখেন যা ব্রাউজারের সাথে ইন্টার‍্যাক্ট করতে পারে না, তাহলে মেশিন ব্যবহারকারীদের সাথে টাস্ক অটোমেট করুন দেখুন। বৈধ ক্রেডেনশিয়াল সহ অটোমেটেড মেশিন ব্যবহারকারী বা অ্যাপ্লিকেশন টোকেন পেতে ও রিফ্রেশ করতে স্ট্যান্ডার্ড API কল ব্যবহার করতে পারে।