অটোমেটেড টাস্কের সাথে SAML ব্যবহার করা

Edge for Private Cloud v4.18.01

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

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

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

মেশিন ব্যবহারকারী তৈরি করুন

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

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

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

মেশিন ব্যবহারকারী তৈরি করতে:

  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 হল অ্যাডমিন ইউজারনেম যা Edge SSO মডিউল কনফিগার করার জন্য ব্যবহৃত কনফিগারেশন ফাইলে SSO_ADMIN_NAME প্রপার্টি দ্বারা সংজ্ঞায়িত করা হয়। ডিফল্ট হল ssoadmin।
    • SSO_ADMIN_SECRET হল অ্যাডমিন পাসওয়ার্ড যা কনফিগারেশন ফাইলে SSO_ADMIN_SECRET প্রপার্টি দ্বারা নির্দিষ্ট করা হয়।

      এই উদাহরণে, আপনি --port এবং --ssl-এর ভ্যালু বাদ দিতে পারেন কারণ apigee-sso মডিউল --port-এর জন্য 9099 এবং --ssl-এর জন্য http-এর ডিফল্ট ভ্যালু ব্যবহার করে। আপনার ইনস্টলেশন যদি এই ডিফল্ট ব্যবহার না করে, তাহলে উপযুক্তভাবে সেগুলি উল্লেখ করুন।
  2. Edge UI-তে লগ-ইন করুন এবং আপনার সংস্থায় মেশিন ব্যবহারকারীর ইমেল যোগ করুন এবং মেশিন ব্যবহারকারীকে প্রয়োজনীয় ভূমিকা অ্যাসাইন করুন। আরও জানতে গ্লোবাল ব্যবহারকারী যোগ করা দেখুন।

মেশিন ব্যবহারকারীর টোকেন পান ও রিফ্রেশ করুন

পাসকোডের পরিবর্তে মেশিন ব্যবহারকারীর ক্রেডেনশিয়াল পাস করে 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/orgName

    যেখানে orgName হল মেশিন ব্যবহারকারী সহ সংস্থার নাম।
  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'

Edge ম্যানেজমেন্ট API ব্যবহার করে মেশিন ইউজার তৈরি করুন

আপনি apigee-ssoadminapi.sh ইউটিলিটি ব্যবহার করার পরিবর্তে Edge ম্যানেজমেন্ট 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-তে লগ-ইন করুন এবং আপনার সংস্থায় মেশিন ব্যবহারকারীর ইমেল যোগ করুন এবং মেশিন ব্যবহারকারীকে প্রয়োজনীয় ভূমিকা অ্যাসাইন করুন। আরও জানতে গ্লোবাল ব্যবহারকারী যোগ করা দেখুন।