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

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

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

পূর্বশর্ত: Edge API অ্যাক্সেস করার জন্য এটি ব্যবহার করার আগে আপনাকে অবশ্যই অন্তত একটি সংস্থার জন্য SAML সক্রিয় করতে হবে।

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

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

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

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

SAML, Edge OAuth2 সার্ভিসে একই এন্ডপয়েন্টগুলো ব্যবহার করে, তবে এর সাথে উপযুক্ত জোনের নামটি যুক্ত করা হয়।

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

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

get_token ব্যবহার করে অ্যাক্সেস টোকেন পান।

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

get_token ব্যবহার করে অ্যাক্সেস টোকেন পেতে:

  1. SSO_LOGIN_URL এনভায়রনমেন্ট ভেরিয়েবলটি আপনার লগইন 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. Edge API-কে কল করুন এবং Authorization: Bearer হেডারে অ্যাক্সেস টোকেনটি পাস করুন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
    curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
      -H "Authorization: Bearer ACCESS_TOKEN"

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

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

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

get_token -u me@example.com

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

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

Edge OAuth2 পরিষেবা দিয়ে অ্যাক্সেস টোকেন সংগ্রহ করুন

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

Edge API ব্যবহার করে টোকেন জোড়া পেতে:

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

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

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

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

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

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

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

    কোথায়:

    • Authorization হেডারটি হলো "Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" (এই সঠিক মানটি ব্যবহার করুন)।
    • অনুরোধের ধরণ হলো POST
    • অনুরোধের মূল অংশে নিম্নলিখিত বিষয়গুলো রয়েছে:
      • grant_type হলো 'password'।
      • response_type হলো 'token'।
      • 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 হেডারটি হলো "Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" (এই সঠিক মানটি ব্যবহার করুন)।
  • অনুরোধের ধরণ হলো POST

SAML ব্যবহার করে Edge API অ্যাক্সেস করুন

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

curl ব্যবহার করে Edge API কল করার সময়, 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

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

এপিআই কল করার অতিরিক্ত পদ্ধতি, যার মধ্যে আপনার টোকেন সতেজ রাখা নিশ্চিত করার উপায়ও অন্তর্ভুক্ত, সেগুলির জন্য “Access the Edge API with 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 এর মান একটি খালি স্ট্রিং-এ সেট করলে মেশিন ব্যবহারকারীকে এমএফএ কোডের জন্য অনুরোধ করা থেকে বিরত রাখা হবে। --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/...'