SAML দিয়ে এজ এপিআই অ্যাক্সেস করুন

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

SAML একটি একক সাইন-অন (SSO) পরিবেশ সমর্থন করে৷ এজ-এর সাথে SAML ব্যবহার করে, আপনি এজ UI এবং API-এর জন্য SSO-কে সমর্থন করতে পারেন আপনার প্রদান করা অন্য যেকোন পরিষেবার পাশাপাশি যেগুলি SAML সমর্থন করে।

পূর্বশর্ত: এজ এপিআই অ্যাক্সেস করার জন্য এটি ব্যবহার করার আগে আপনাকে কমপক্ষে একটি প্রতিষ্ঠানের জন্য SAML সক্ষম করতে হবে।

SAML এবং OAuth2 এর মধ্যে পার্থক্য

একবার SAML সেট আপ হয়ে গেলে, এটি ব্যবহার করে Edge API অ্যাক্সেস করতে OAuth2 ব্যবহার করার মতোই। আপনি যখন এজ এপিআই কল করেন, তখন আপনি আপনার অনুরোধে একটি OAuth2 অ্যাক্সেস টোকেন অন্তর্ভুক্ত করেন।

এজ এপিআই অ্যাক্সেস করার সময় SAML এবং OAuth2 এর মধ্যে মূল পার্থক্য হল আপনি যেভাবে টোকেন পান। SAML এর সাথে, আপনার টোকেন পেয়ার পাওয়ার সময় আপনাকে অবশ্যই নিম্নলিখিতগুলি অন্তর্ভুক্ত করতে হবে:

  1. অঞ্চল: টোকেন পাওয়ার সময় পাবলিক ক্লাউড ব্যবহারকারীদের জন্য এজ তাদের জোনের নাম উল্লেখ করতে হবে।
  2. পাসকোড: একটি অ্যাক্সেস/রিফ্রেশ টোকেন জোড়ার অনুরোধ করার সময় একটি এককালীন পাসকোড অন্তর্ভুক্ত করুন।

SAML এজ OAuth2 পরিষেবাতে উপযুক্ত জোনের নাম যোগ করে একই প্রান্তবিন্দু ব্যবহার করে।

SAML এর সাথে অ্যাক্সেস টোকেন পেতে, আপনি এই বিভাগে বর্ণিত নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করতে পারেন:

এছাড়াও, আপনি মেশিন ব্যবহারকারীদের জন্য টোকেন জেনারেশন প্রক্রিয়া স্বয়ংক্রিয় করতে পারেন, যেমন টোকেন জেনারেশন প্রক্রিয়া স্বয়ংক্রিয়ভাবে বর্ণনা করা হয়েছে।

get_token দিয়ে অ্যাক্সেস টোকেন পান

আপনি get_token ইউটিলিটি ব্যবহার করতে পারেন আপনার শংসাপত্রগুলি বিনিময় করতে OAuth2 অ্যাক্সেস এবং রিফ্রেশ টোকেনগুলি যা আপনি SAML এর সাথে ব্যবহার করেন।

get_token দিয়ে একটি অ্যাক্সেস টোকেন পেতে:

  1. আপনার লগইন URL-এ SSO_LOGIN_URL পরিবেশ পরিবর্তনশীল সেট করুন। লগইন URL এর নিম্নলিখিত ফর্ম আছে:
    https://zoneName.login.apigee.com

    উদাহরণ স্বরূপ, "acme" নামের একটি জোনের জন্য SSO_LOGIN_URL কে "https://acme.login.apigee.com" সেট করুন, নিচের উদাহরণটি দেখায়:

    export SSO_LOGIN_URL=https://acme.login.apigee.com
  2. OAuth2 অ্যাক্সেস টোকেন পেতে get_token কল করুন:
    get_token -u me@example.com

    আপনাকে একটি এককালীন পাসকোড প্রাপ্ত করার জন্য প্রদর্শিত URLটি দেখার জন্য অনুরোধ করা হচ্ছে:

    Get passcode from https://acme.login.apigee.com/passcode
    [Note:  Passcode can be used only time time and expires] Input passcode (no spaces) and then press ENTER:

    আপনি যদি সম্প্রতি আপনার পরিচয় প্রদানকারীর মাধ্যমে সাইন ইন না করে থাকেন, তাহলে আপনাকে সাইন ইন করতে বলা হবে।

    এই URLটি একটি এককালীন পাসকোড ফেরত দেয় যা বৈধ থাকে যতক্ষণ না আপনি একটি নতুন পাসকোড পেতে সেই URLটি রিফ্রেশ করেন, অথবা আপনি একটি অ্যাক্সেস টোকেন তৈরি করতে get_token এর সাথে পাসকোড ব্যবহার করেন৷ যেমন:

  3. পাসকোড লিখুন। get_token ইউটিলিটি OAuth2 টোকেন প্রাপ্ত করে, stdout এ অ্যাক্সেস টোকেন প্রিন্ট করে এবং ~/.sso-cli এ অ্যাক্সেস এবং রিফ্রেশ টোকেন লিখে।

  4. এজ এপিআই-কে কল করুন এবং Authorization: Bearer শিরোনামে অ্যাক্সেস টোকেনটি পাস করুন, নিম্নলিখিত উদাহরণটি দেখায়:
    curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
      -H "Authorization: Bearer ACCESS_TOKEN"

    অ্যাক্সেস টোকেনের মান stdout থেকে কপি করা যেতে পারে।

    এই উদাহরণটি প্রদত্ত সংস্থা সম্পর্কে বিশদ বিবরণ পায়। ম্যানেজমেন্ট API এন্ডপয়েন্টের সম্পূর্ণ তালিকার জন্য, Apigee Edge API রেফারেন্স দেখুন।

আপনার অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেলে, আপনি একটি নতুন অ্যাক্সেস টোকেন পেতে আবার get_token কল করতে পারেন। যেমন:

get_token -u me@example.com

রিফ্রেশ টোকেনের মেয়াদ শেষ না হওয়া পর্যন্ত আপনাকে একটি নতুন পাসকোডের জন্য অনুরোধ করা হবে না।

রিফ্রেশ টোকেনের মেয়াদ শেষ হয়ে গেলে, get_token আপনাকে একটি নতুন পাসকোডের জন্য অনুরোধ করে। আপনি একটি নতুন OAuth2 অ্যাক্সেস টোকেন তৈরি করার আগে আপনাকে অবশ্যই একটি নতুন পাসকোড তৈরি করতে হবে৷

এজ OAuth2 পরিষেবার মাধ্যমে অ্যাক্সেস টোকেন পান

আপনি SAML এর সাথে ব্যবহার করেন এমন অ্যাক্সেস টোকেন পেতে আপনি Edge OAuth2 পরিষেবা ব্যবহার করতে পারেন। এজ এপিআই দিয়ে নিজেকে প্রমাণীকরণ করতে, আপনি একটি অ্যাক্সেস/রিফ্রেশ টোকেন জোড়া পেতে আপনার প্রাথমিক অনুরোধে একটি পাসকোড ব্যবহার করেন এবং আবার একটি নতুন টোকেন জোড়া পেতে।

এজ API এর সাথে একটি টোকেন জোড়া পেতে:

  1. একটি ব্রাউজারে, একটি এককালীন পাসকোড পেতে নিম্নলিখিত URL এ নেভিগেট করুন:
    https://zoneName.login.apigee.com/passcode

    উদাহরণস্বরূপ, "acme" নামের একটি জোনের জন্য, নিম্নলিখিত URL এ যান:

    https://acme.login.apigee.com/passcode

    আপনি যদি সম্প্রতি আপনার পরিচয় প্রদানকারীর মাধ্যমে সাইন ইন না করে থাকেন, তাহলে আপনাকে সাইন ইন করতে বলা হবে।

    এই URLটি একটি এককালীন পাসকোড ফেরত দেয় যা টোকেন পাওয়ার জন্য আপনার শংসাপত্র হিসাবে কাজ করে এবং আপনি একটি নতুন পাসকোড পাওয়ার জন্য URL রিফ্রেশ না করা পর্যন্ত বৈধ থাকে, অথবা আপনি একটি অ্যাক্সেস টোকেন তৈরি করতে get_token সহ পাসকোড ব্যবহার করতে পারেন৷ যেমন:

  2. এজ এপিআইতে একটি অনুরোধ পাঠান, যেমনটি নিম্নলিখিত উদাহরণটি দেখায়:
    curl https://zoneName.login.apigee.com/oauth/token \
          -s \
          -H "Accept: application/json" \
          -d 'grant_type=password&response_type=token&passcode=passcode'

    passcode অনুমোদনের জন্য আপনার শংসাপত্র হিসাবে কাজ করে।

    কোথায়:

    • Authorization শিরোনাম হল "বেসিক ZWRnZWNsaTplZGdlY2xpc2VjcmV0" (এই সঠিক মানটি ব্যবহার করুন)।
    • অনুরোধের ধরন হল POST
    • অনুরোধের মূল অংশে নিম্নলিখিতগুলি রয়েছে:
      • grant_type হল "পাসওয়ার্ড"।
      • response_type হল "টোকেন"।
      • passcode যেখানে passcode হল পাসকোড যা পূর্ববর্তী ধাপে ফেরত দেওয়া হয়েছিল।

    কলটি স্ক্রীনে অ্যাক্সেস এবং রিফ্রেশ টোকেন প্রিন্ট করে।

আপনার অ্যাক্সেস টোকেন রিফ্রেশ করতে:

https:// zoneName .login.apigee.com/oauth/token এ একটি অনুরোধ জমা দিন, যেমনটি নিম্নলিখিত উদাহরণটি দেখায়:

curl https://zoneName.login.apigee.com/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'

কোথায়:

  • অনুরোধের মূল অংশে নিম্নলিখিতগুলি রয়েছে:
    • grant_type হল "refresh_token"।
    • refresh_token হল রিফ্রেশ টোকেনের মান।
  • Authorization শিরোনাম হল "বেসিক ZWRnZWNsaTplZGdlY2xpc2VjcmV0" (এই সঠিক মানটি ব্যবহার করুন)।
  • অনুরোধের ধরন হল POST

SAML দিয়ে এজ এপিআই অ্যাক্সেস করুন

এজ এপিআই অ্যাক্সেস করতে আপনি curl বা অ্যাপিজি সুবিধার ইউটিলিটি acurl মতো টুল ব্যবহার করতে পারেন।

curl এর সাথে, আপনি এজ এপিআই কল করুন এবং Authorization: Bearer শিরোনামে অ্যাক্সেস টোকেন পাস করুন, নিম্নলিখিত উদাহরণটি দেখায়:

curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
  -H "Authorization: Bearer ACCESS_TOKEN"

acurl এর সাথে, আপনাকে Authorization হেডার নির্দিষ্ট করতে হবে না। যেমন:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

এই উদাহরণগুলি একটি এজ এপিআই এন্ডপয়েন্টকে কল করে যা প্রদত্ত সংস্থার বিশদ বিবরণ পায়। এজ এপিআই এন্ডপয়েন্টের সম্পূর্ণ তালিকার জন্য, এপিজি এজ এপিআই রেফারেন্স দেখুন।

আপনার টোকেন তাজা থাকে তা নিশ্চিত করার উপায় সহ API কল করার অতিরিক্ত পদ্ধতির জন্য, OAuth2 এর সাথে এজ এপিআই অ্যাক্সেস করুন দেখুন।

SAML জোনে মেশিন ব্যবহারকারীরা

আপনি SAML জোনে মেশিন ব্যবহারকারীদের জন্য Edge API-এ স্বয়ংক্রিয় অ্যাক্সেস স্ক্রিপ্ট করতে acurl এবং get_token ইউটিলিটিগুলি ব্যবহার করতে পারেন। নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি অ্যাক্সেস টোকেন অনুরোধ করতে get_token ব্যবহার করতে হয় এবং তারপরে একটি curl কলে টোকেন মান যুক্ত করতে হয়:

  USER=me@example.com
  PASS=not-that-secret
  TOKEN=$(get_token -u $USER:$PASS -m '' --force-basic-auth)
  curl -H "Authorization: Bearer $TOKEN" 'https://api.enterprise.apigee.com/v1/organizations/...'

উপরের উদাহরণে, -m এর মান একটি খালি স্ট্রিং-এ সেট করা একজন মেশিন ব্যবহারকারীকে MFA কোডের জন্য অনুরোধ করা থেকে বাধা দেবে। --force-basic-auth ফ্ল্যাগ ব্যবহার করা SAML জোনের অনুরোধ দ্বারা ট্রিগার করা পাসকোডের জন্য স্ট্যান্ডার্ড প্রম্পটকে ওভাররাইড করবে।

বিকল্পভাবে, আপনি acurl ইউটিলিটি ব্যবহার করে টোকেন অনুরোধ এবং curl কল একত্রিত করতে পারেন। যেমন:

  USER=me@example.com
  PASS=not-that-secret
  acurl -u $USER:$PASS -m '' --force-basic-auth 'https://api.enterprise.apigee.com/v1/organizations/...'