স্বয়ংক্রিয় কাজের সাথে SAML ব্যবহার করা

প্রাইভেট ক্লাউড v4.19.01 এর জন্য এজ

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

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

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

একটি SAML অর্গের জন্য একটি মেশিন ব্যবহারকারী তৈরি করার দুটি উপায় রয়েছে:

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

আপনি একটি নন-SAML সংস্থার জন্য একটি মেশিন ব্যবহারকারী তৈরি করতে পারবেন না।

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

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

মেশিন ব্যবহারকারী আপনার SAML পরিচয় প্রদানকারীতে নয়, এজ ডেটাস্টোরে তৈরি এবং সংরক্ষণ করা হয়। অতএব, আপনি এজ ইউআই এবং এজ ম্যানেজমেন্ট 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 মডিউল কনফিগার করার জন্য ব্যবহৃত কনফিগারেশন ফাইলে 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. বিয়ারার হেডার হিসাবে একটি এজ ম্যানেজমেন্ট এপিআই কলে অ্যাক্সেস টোকেনটি পাস করুন:
    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'