বহিরাগত IDPs জন্য কাজ স্বয়ংক্রিয়

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

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

একটি IDP সক্ষম করা প্রতিষ্ঠানের মধ্যে মেশিন ব্যবহারকারীদের ব্যবহারের মাধ্যমে এজ স্বয়ংক্রিয় টোকেন তৈরি করতে সহায়তা করে। একটি মেশিন ব্যবহারকারী একটি পাসকোড নির্দিষ্ট না করেই OAuth2 টোকেন পেতে পারেন। এর মানে হল আপনি এজ ম্যানেজমেন্ট API ব্যবহার করে OAuth2 টোকেনগুলি প্রাপ্ত এবং রিফ্রেশ করার প্রক্রিয়াটিকে সম্পূর্ণরূপে স্বয়ংক্রিয় করতে পারেন।

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

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

আপনি এমন সংস্থাগুলির জন্য একটি মেশিন ব্যবহারকারী তৈরি করতে পারবেন না যেগুলিতে কোনও বহিরাগত IDP সক্রিয় নেই৷

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

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

মেশিন ব্যবহারকারী এজ ডেটাস্টোরে তৈরি এবং সংরক্ষণ করা হয়, আপনার IDP-এ নয়। অতএব, আপনি এজ UI এবং এজ ম্যানেজমেন্ট 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

    QUESTION/TBD: Does apigee-ssoadminapi.sh also take "ldap" as an argument?

    কোথায়:

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

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

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

এজ ম্যানেজমেন্ট এপিআই সহ একটি মেশিন ব্যবহারকারী তৈরি করুন

আপনি apigee-ssoadminapi.sh ইউটিলিটি ব্যবহার করার পরিবর্তে এজ ম্যানেজমেন্ট 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. এজ 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 হেডার হিসাবে পাস করুন, নিম্নলিখিত উদাহরণটি দেখায়:
    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'