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

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

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

IDP চালু আছে এমন প্রতিষ্ঠানের মধ্যে মেশিন ব্যবহারকারীদের ব্যবহার করে Edge অটোমেটিক টোকেন তৈরি করা সমর্থন করে। মেশিন ব্যবহারকারীকে পাসকোড উল্লেখ না করেই 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 হল কনফিগারেশন ফাইলে সংজ্ঞায়িত অ্যাডমিন ইউজারনেম যা SSO_ADMIN_NAME প্রপার্টি ব্যবহার করে Apigee SSO মডিউল কনফিগার করতে ব্যবহৃত হয়। ডিফল্ট হল 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'