SAML-এর মাধ্যমে Edge API অ্যাক্সেস করা

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

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-কে টোকেন পাওয়ার সময় অবশ্যই তাদের জোনের নাম উল্লেখ করতে হবে।
  2. পাসকোড: অ্যাক্সেস/রিফ্রেশ টোকেন পেয়ারের অনুরোধ করার সময় একবার ব্যবহারের পাসকোড অন্তর্ভুক্ত করুন।

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

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

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

get_token-এর মাধ্যমে অ্যাক্সেস টোকেন পাওয়া

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

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. Edge API কল করুন এবং 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 অ্যাক্সেস টোকেন জেনারেট করার আগে আপনাকে অবশ্যই নতুন পাসকোড জেনারেট করতে হবে।

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 রেফারেন্স দেখুন।

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

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 কোড দেওয়ার জন্য প্রম্পট করা হবে না। SAML জোন থেকে আসা অনুরোধের জন্য পাসকোড সংক্রান্ত স্ট্যান্ডার্ড প্রম্পটকে --force-basic-auth ফ্ল্যাগ ব্যবহার করে ওভাররাইড করা হবে।

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

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