এক্সটার্নাল IDP-র জন্য টাস্ক অটোমেট করা

Edge API-এর সাথে এক্সটার্নাল IDP ব্যবহার করার সময়, IDP ইন্টার‍্যাকশন থেকে OAuth2 অ্যাক্সেস ও রিফ্রেশ টোকেন পাওয়ার জন্য আপনি যে প্রসেস ব্যবহার করেন, তাকে পাসকোড ফ্লো বলা হয়। পাসকোড ফ্লোয়ের মাধ্যমে, আপনি একটি ব্রাউজার ব্যবহার করে একটি ওয়ান-টাইম পাসকোড পান যা আপনি পরে OAuth2 টোকেন পেতে ব্যবহার করেন।

তবে, আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সাধারণ ডেভেলপমেন্ট টাস্কের জন্য অটোমেশন সাপোর্ট করতে পারে, যেমন টেস্ট অটোমেশন বা CI/CD। এক্সটার্নাল IDP চালু করা থাকলে এইসব টাস্ক অটোমেট করতে, আপনাকে ব্রাউজার থেকে পাসকোড কপি/পেস্ট না করেই OAuth2 টোকেন পাওয়া ও রিফ্রেশ করার উপায় খুঁজতে হবে।

Edge, IDP চালু থাকা প্রতিষ্ঠানের মধ্যে মেশিন ব্যবহারকারীর মাধ্যমে অটোমেটিক টোকেন জেনারেশন সমর্থন করে। কোনও মেশিন ব্যবহারকারী পাসকোড উল্লেখ না করেই OAuth2 টোকেন পেতে পারেন। এর অর্থ হল, আপনি Edge ম্যানেজমেন্ট API ব্যবহার করে OAuth2 টোকেন পাওয়া ও রিফ্রেশ করার প্রসেস সম্পূর্ণভাবে অটোমেট করতে পারবেন।

IDP-চালু থাকা সংস্থার জন্য মেশিন ব্যবহারকারী তৈরি করার দুটি উপায় আছে:

এইসব পদ্ধতির প্রতিটি নিচে দেওয়া বিভাগে বর্ণনা করা হয়েছে।

যেসব সংস্থার এক্সটার্নাল IDP চালু করা নেই, তাদের জন্য আপনি মেশিন ইউজার তৈরি করতে পারবেন না।

apigee-ssoadminapi.sh-এর সাহায্যে মেশিন ব্যবহারকারী তৈরি করুন

IDP-চালু থাকা সংস্থায় মেশিন ব্যবহারকারী তৈরি করতে apigee-ssoadminapi.sh ইউটিলিটি ব্যবহার করুন। আরও জানতে apigee-ssoadminapi.sh ব্যবহার করা দেখুন। আপনি একটি মেশিন ব্যবহারকারী তৈরি করতে পারেন যা আপনার সমস্ত প্রতিষ্ঠান ব্যবহার করে, অথবা প্রতিটি প্রতিষ্ঠানের জন্য একটি পৃথক মেশিন ব্যবহারকারী তৈরি করতে পারেন।

মেশিন ব্যবহারকারী তৈরি করা হয় এবং Edge ডেটাস্টোরে স্টোর করা হয়, আপনার IDP-তে নয়। তাই, Edge UI এবং Edge ম্যানেজমেন্ট API ব্যবহার করে মেশিন ব্যবহারকারীকে বজায় রাখার দায়িত্ব আপনার নয়।

মেশিন ইউজার তৈরি করার সময় আপনাকে অবশ্যই ইমেল আইডি ও পাসওয়ার্ড উল্লেখ করতে হবে। মেশিন ব্যবহারকারী তৈরি করার পরে, আপনি এটি এক বা একাধিক সংস্থাকে অ্যাসাইন করেন।

apigee-ssoadminapi.sh-এর মাধ্যমে মেশিন ইউজার তৈরি করতে:

  1. মেশিন ব্যবহারকারী তৈরি করতে নিম্নলিখিত apigee-ssoadminapi.sh কমান্ড ব্যবহার করুন:
    apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME \
      --secret SSO_ADMIN_SECRET --host Edge_SSO_IP_or_DNS \
      -u machine_user_email -p machine_user_password

    যেখানে:

    • SSO_ADMIN_NAME হল অ্যাডমিন ইউজারনেম যা Apigee SSO মডিউল কনফিগার করার জন্য ব্যবহৃত কনফিগারেশন ফাইলে SSO_ADMIN_NAME প্রপার্টি দ্বারা সংজ্ঞায়িত করা হয়েছে। ডিফল্ট হল ssoadmin।
    • SSO_ADMIN_SECRET হল অ্যাডমিন পাসওয়ার্ড, যা কনফিগারেশন ফাইলে SSO_ADMIN_SECRET প্রপার্টি দ্বারা নির্দিষ্ট করা হয়েছে।

      এই উদাহরণে, আপনি --port এবং --ssl-এর ভ্যালু বাদ দিতে পারেন কারণ apigee-sso মডিউল --port-এর জন্য ৯০৯৯ এবং --ssl-এর জন্য http-এর ডিফল্ট ভ্যালু ব্যবহার করে। আপনার ইনস্টলেশন যদি এই ডিফল্টগুলি ব্যবহার না করে, তাহলে উপযুক্ত হিসাবে সেগুলি নির্দিষ্ট করুন।

  2. Edge UI-তে লগ-ইন করুন এবং আপনার সংস্থায় মেশিন ব্যবহারকারীর ইমেল যোগ করুন এবং মেশিন ব্যবহারকারীকে প্রয়োজনীয় ভূমিকা অ্যাসাইন করুন। আরও জানতে গ্লোবাল ব্যবহারকারী যোগ করা দেখুন।

Edge ম্যানেজমেন্ট API-এর সাহায্যে মেশিন ব্যবহারকারী তৈরি করুন

আপনি apigee-ssoadminapi.sh ইউটিলিটি ব্যবহার করার পরিবর্তে Edge ম্যানেজমেন্ট API ব্যবহার করে মেশিন ব্যবহারকারী তৈরি করতে পারবেন।

ম্যানেজমেন্ট API-এর মাধ্যমে মেশিন ইউজার তৈরি করতে:

  1. ssoadmin ব্যবহারকারীর জন্য টোকেন পেতে নিম্নলিখিত curl কমান্ড ব্যবহার করুন, apigee-sso-এর জন্য অ্যাডমিন অ্যাকাউন্টের ইউজারনেম:
    curl "http://Edge_SSO_IP_DNS:9099/oauth/token" -i -X POST \
      -H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' \
      -d "response_type=token" -d "grant_type=client_credentials" \
      --data-urlencode "client_secret=SSO_ADMIN_SECRET" \
      --data-urlencode "client_id=ssoadmin"

    যেখানে SSO_ADMIN_SECRET হল অ্যাডমিন পাসওয়ার্ড যা আপনি ইনস্টল করার সময় সেট করেছেন apigee-sso কনফিগারেশন ফাইলে SSO_ADMIN_SECRET প্রপার্টি দ্বারা নির্দিষ্ট করা আছে।

    এই কমান্ডটি একটি টোকেন দেখায় যা আপনাকে পরবর্তী কল করতে হবে।

  2. মেশিন ব্যবহারকারী তৈরি করতে নিম্নলিখিত curl কমান্ড ব্যবহার করুন, আগের ধাপে আপনি যে টোকেন পেয়েছেন সেটি পাস করুন:
    curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST \
      -H "Accept: application/json" -H "Content-Type: application/json" \
      -d '{"userName" : "machine_user_email", "name" :
        {"formatted":"DevOps", "familyName" : "last_name", "givenName" :
        "first_name"}, "emails" : [ {"value" :
        "machine_user_email", "primary" : true } ], "active" : true,
        "verified" : true, "password" : "machine_user_password" }' \
      -H "Authorization: Bearer token"

    পরবর্তী ধাপে আপনার মেশিন ব্যবহারকারীর পাসওয়ার্ড প্রয়োজন হবে।

  3. Edge UI-তে লগ-ইন করুন।
  4. আপনার সংস্থায় মেশিন ব্যবহারকারীর ইমেল যোগ করুন এবং মেশিন ব্যবহারকারীকে প্রয়োজনীয় ভূমিকা অ্যাসাইন করুন। আরও জানতে গ্লোবাল ব্যবহারকারী যোগ করা দেখুন।

মেশিন ইউজার টোকেন পাওয়া ও রিফ্রেশ করা

পাসকোডের পরিবর্তে মেশিন ব্যবহারকারীর ক্রেডেনশিয়াল পাস করে OAuth2 টোকেন পেতে ও রিফ্রেশ করতে Edge API ব্যবহার করুন।

মেশিন ব্যবহারকারীর জন্য OAuth2 টোকেন পেতে:

  1. প্রাথমিক অ্যাক্সেস ও রিফ্রেশ টোকেন তৈরি করতে নিম্নলিখিত API কল ব্যবহার করুন:
    curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
      -H "accept: application/json;charset=utf-8" \
      -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \
      http://Edge_SSO_IP_DNS:9099/oauth/token -s \
      -d 'grant_type=password&username=m_user_email&password=m_user_password'

    পরে ব্যবহার করার জন্য টোকেন সেভ করুন।

  2. নিচের উদাহরণে যেমন দেখানো হয়েছে, সেইভাবে Bearer হেডার হিসেবে Edge ম্যানেজমেন্ট API কলে অ্যাক্সেস টোকেন পাস করুন:
    curl -H "Authorization: Bearer access_token" \
      http://MS_IP_DNS:8080/v1/organizations/org_name

    যেখানে org_name হল মেশিন ব্যবহারকারী সহ সংস্থার নাম।

  3. পরে অ্যাক্সেস টোকেন রিফ্রেশ করতে, নিম্নলিখিত কল ব্যবহার করুন যাতে রিফ্রেশ টোকেন অন্তর্ভুক্ত থাকে:
    curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \
      -H "Accept: application/json;charset=utf-8" \
      -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \
      http://edge_sso_IP_DNS:9099/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=refreshToken'