با SAML به Edge API دسترسی پیدا کنید

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

SAML از یک محیط ورود واحد (SSO) پشتیبانی می کند. با استفاده از SAML با Edge، می‌توانید از SSO برای رابط کاربری Edge و API علاوه بر هر سرویس دیگری که ارائه می‌دهید و همچنین SAML را پشتیبانی می‌کند، پشتیبانی کنید.

پیش نیاز: باید SAML را برای حداقل یک سازمان فعال کنید تا بتوانید از آن برای دسترسی به Edge API استفاده کنید.

تفاوت بین SAML و OAuth2

هنگامی که SAML راه اندازی شد، استفاده از آن بسیار شبیه به استفاده از OAuth2 برای دسترسی به Edge API است. هنگامی که با Edge API تماس می گیرید، یک نشانه دسترسی OAuth2 را در درخواست خود قرار می دهید.

تفاوت اصلی بین SAML و OAuth2 هنگام دسترسی به Edge API در نحوه دریافت توکن ها است. با SAML، هنگام دریافت جفت توکن خود باید موارد زیر را لحاظ کنید:

  1. Zones: کاربران Edge برای Public Cloud باید هنگام دریافت توکن به نام منطقه خود اشاره کنند.
  2. رمز عبور: هنگام درخواست جفت رمز دسترسی/بازخوانی، یک رمز عبور یکبار مصرف را وارد کنید.

SAML از همان نقاط پایانی در سرویس Edge OAuth2 با اضافه کردن نام منطقه مناسب استفاده می کند.

برای دریافت نشانه های دسترسی با SAML، می توانید از یکی از روش های زیر که در این بخش توضیح داده شده است استفاده کنید:

علاوه بر این، می‌توانید فرآیند تولید توکن را برای کاربران ماشین خودکار کنید، همانطور که در Automate the Token Process توضیح داده شده است.

توکن های دسترسی را با get_token دریافت کنید

می‌توانید از ابزار get_token برای تبادل اعتبار خود برای دسترسی OAuth2 و بازخوانی نشانه‌هایی که با SAML استفاده می‌کنید استفاده کنید.

برای دریافت نشانه دسترسی با 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 کپی کرد.

    این مثال جزئیات مربوط به سازمان داده شده را دریافت می کند. برای فهرست کامل نقاط پایانی API مدیریت، به مرجع Apigee Edge مراجعه کنید.

هنگامی که نشانه دسترسی شما منقضی شد، می توانید دوباره get_token برای دریافت رمز دسترسی جدید فراخوانی کنید. به عنوان مثال:

get_token -u me@example.com

تا زمانی که توکن refresh منقضی نشده باشد، از شما درخواست رمز عبور جدید نمی شود.

هنگامی که نشانه رفرش منقضی می شود، get_token از شما می خواهد یک رمز عبور جدید دریافت کنید. قبل از اینکه بتوانید رمز دسترسی OAuth2 جدیدی ایجاد کنید، باید یک رمز عبور جدید ایجاد کنید.

با سرویس Edge OAuth2 به توکن دسترسی پیدا کنید

می‌توانید از سرویس Edge OAuth2 برای دسترسی به نشانه‌هایی که با SAML استفاده می‌کنید استفاده کنید. برای احراز هویت خود با Edge API، در درخواست اولیه خود از یک رمز عبور برای دریافت یک جفت نشانه دسترسی/رفرش و دوباره برای دریافت یک جفت توکن جدید استفاده می کنید.

برای دریافت یک جفت توکن با API Edge:

  1. در یک مرورگر، به URL زیر بروید تا یک رمز عبور یک بار مصرف دریافت کنید:
    https://zoneName.login.apigee.com/passcode

    به عنوان مثال، برای منطقه ای به نام "acme" به آدرس زیر بروید:

    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 "رمز عبور" است.
      • 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 مقدار توکن refresh است.
  • سرصفحه Authorization "Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" است (از این مقدار دقیق استفاده کنید).
  • نوع درخواست POST است.

با SAML به Edge API دسترسی پیدا کنید

برای دسترسی به Edge API می توانید از ابزارهایی مانند curl یا Apigee convenience utility 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 مراجعه کنید.

برای روش‌های دیگر فراخوانی API، از جمله راه‌هایی برای اطمینان از تازه ماندن رمزتان، به دسترسی به API Edge با OAuth2 مراجعه کنید.

کاربران ماشین در مناطق SAML

می‌توانید از ابزارهای acurl و get_token برای دسترسی خودکار به APIهای Edge برای کاربران ماشین در مناطق SAML استفاده کنید. مثال زیر نحوه استفاده از 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 ایجاد می‌شود را لغو می‌کند.

از طرف دیگر، می‌توانید درخواست توکن و 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/...'