راهنمای عملیات

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

نحوه دریافت کلید API

مثال زیر نحوه به دست آوردن یک کلید API را توضیح می دهد که می توانید از آن برای اعتبارسنجی تماس های API به یک سرویس هدف پروکسی شده از طریق Apigee Adapter for Envoy استفاده کنید.

1. وارد Apigee شوید

  1. رابط کاربری Apigee را در مرورگر باز کنید.
  2. پس از وارد شدن به رابط کاربری، همان سازمانی را که برای پیکربندی Apigee Adapter برای Envoy استفاده کردید، انتخاب کنید.

2. یک توسعه دهنده ایجاد کنید

می‌توانید از یک توسعه‌دهنده موجود برای آزمایش استفاده کنید، یا یک توسعه‌دهنده جدید به شرح زیر ایجاد کنید:

  1. در منوی ناوبری کناری ، Publish > Developers را انتخاب کنید.
  2. روی + Developer کلیک کنید.
  3. برای ایجاد یک توسعه دهنده جدید، کادر گفتگو را پر کنید. می توانید از هر نام یا ایمیل توسعه دهنده ای که می خواهید استفاده کنید.

3. یک محصول API ایجاد کنید

مثال ایجاد محصول ارائه شده در زیر را دنبال کنید. همچنین درباره پیکربندی محصول API رجوع کنید.

  1. انتشار > محصولات API را در منوی ناوبری کناری انتخاب کنید.
  2. روی + محصول API کلیک کنید.
  3. صفحه جزئیات محصول را به صورت زیر پر کنید. تا زمانی که به شما دستور داده نشده است، روی ذخیره کلیک نکنید.
  4. میدان ارزش
    نام httpbin-product
    نام نمایشی httpbin product
    محیط زیست your_environment

    این را روی محیطی که هنگام تهیه Apigee Adapter برای Envoy باapigee-remote-service-cli استفاده کردید، تنظیم کنید.

    دسترسی داشته باشید Private
    سهمیه هر 1 دقیقه 5 درخواست

    همچنین به درک سهمیه ها مراجعه کنید.

  5. در بخش اهداف سرویس از راه دور Apigee ، روی افزودن یک هدف سرویس راه دور Apigee کلیک کنید.
  6. در گفتگوی هدف سرویس راه دور Apigee، مقادیر زیر را اضافه کنید:
    صفت ارزش توضیحات
    نام هدف نام سرویس مورد نظر را وارد کنید. به عنوان مثال: httpbin.org نقطه پایانی هدف که توسط پراکسی فرستاده روبرو می شود.
    پروکسی API remote-service پراکسی remote-service که در Apigee در هنگام نصب آداپتور Envoy ارائه شد.
    مسیر یک / resource_path را برای مطابقت با یک مسیر خاص وارد کنید. به عنوان مثال: /httpbin . مسیر درخواست مطابقت در نقطه پایانی هدف. فراخوانی های پراکسی API به این مسیر با این محصول API مطابقت دارد.

    Edge Public یا Private Cloud: تصویر زیر تنظیمات گفتگوی مناسب پیکربندی شده برای هدف httpbin.org را نشان می‌دهد، یک پیکربندی مناسب برای Apigee Edge Public یا Private Cloud.

  7. روی ذخیره کلیک کنید.

4. یک برنامه توسعه دهنده ایجاد کنید

  1. انتشار > برنامه‌ها را در منوی ناوبری کناری انتخاب کنید.
  2. روی + برنامه کلیک کنید.
  3. صفحه Developer App را به صورت زیر پر کنید. تا زمانی که دستور داده نشده است، ذخیره نکنید.
  4. نام httpbin-app
    نام نمایشی httpbin app
    توسعه دهنده توسعه‌دهنده‌ای را که قبلاً ایجاد کرده‌اید انتخاب کنید یا هر برنامه‌نویسی را که می‌خواهید از فهرست انتخاب کنید.
  5. در مرحله بعد، دو محصول را به برنامه اضافه کنید:
    1. ابتدا در قسمت Credentials روی + Add product کلیک کنید و محصولی را که پیکربندی کرده اید انتخاب کنید: httpbin-product .
    2. سپس، محصول خدمات از راه دور را اضافه کنید. هنگامی که Apigee را تهیه کردید، این محصول به طور خودکار ایجاد شد.
  6. روی ایجاد کلیک کنید.
  7. در قسمت اعتبارنامه ها، روی نمایش در کنار کلید کلیک کنید.
  8. مقدار Consumer Key را کپی کنید. این مقدار کلید API است که از آن برای برقراری تماس های API با سرویس httpbin استفاده می کنید.

درباره محصولات API

محصولات API نقطه کنترل اولیه برای سرویس راه دور Apigee هستند. هنگامی که یک محصول API ایجاد می‌کنید و آن را به یک سرویس هدف متصل می‌کنید، خط‌مشی ایجاد می‌کنید که برای هر درخواستی که آداپتور Apigee خود را برای Envoy پیکربندی می‌کنید اعمال می‌شود.

تعریف محصول API

هنگامی که یک محصول API را در Apigee تعریف می کنید، می توانید تعدادی پارامتر را تنظیم کنید که برای ارزیابی درخواست ها استفاده می شود:

  • هدف
  • مسیر درخواست
  • سهمیه
  • دامنه های OAuth

اهداف خدمات از راه دور

اگر درخواست با اتصال هدف (مثلا httpbin.org ) و مسیر درخواست (مثلا /httpbin ) مطابقت داشته باشد، تعریف محصول API برای یک درخواست اعمال خواهد شد. لیستی از اهداف بالقوه به عنوان یک ویژگی در محصول API ذخیره می شود.

به طور پیش‌فرض، سرویس از راه دور Apigee هدر :authority (host) ویژه Envoy را در برابر فهرست اهدافش بررسی می‌کند. با این حال می توان آن را برای استفاده از هدرهای دیگر پیکربندی کرد.

مسیر منبع API

مسیر وارد شده طبق قوانین زیر مطابقت دارد:

  • یک اسلش ( / ) به خودی خود با هر مسیری مطابقت دارد.
  • * در هر جایی معتبر است و در یک بخش (بین اسلش) مطابقت دارد.
  • ** در پایان معتبر است و هر چیزی را تا آخر خط مطابقت می دهد.

سهمیه

سهمیه تعداد پیام‌های درخواستی را مشخص می‌کند که یک برنامه مجاز است در طول یک ساعت، روز، هفته یا ماه به یک API ارسال کند. وقتی یک برنامه به حد نصاب خود می رسد، تماس های بعدی API رد می شوند.

موارد استفاده از سهمیه

سهمیه ها به شما این امکان را می دهند که تعداد درخواست هایی را که یک مشتری می تواند به یک سرویس ارائه دهد در مدت زمان معینی اعمال کنید. سهمیه ها اغلب برای اجرای قراردادهای تجاری یا SLA با توسعه دهندگان و شرکا به جای مدیریت ترافیک عملیاتی استفاده می شوند. به عنوان مثال، یک سهمیه ممکن است برای محدود کردن ترافیک برای یک سرویس رایگان استفاده شود، در حالی که امکان دسترسی کامل را برای مشتریان پولی فراهم می کند.

سهمیه در یک محصول API تعریف شده است

پارامترهای سهمیه در محصولات API پیکربندی می شوند. به عنوان مثال، هنگامی که یک محصول API ایجاد می کنید، می توانید به صورت اختیاری محدودیت سهمیه مجاز، واحد زمانی و بازه زمانی را تنظیم کنید.

از آنجایی که کلیدهای API به محصولات API برمی گردند، هر بار که یک کلید API تأیید می شود، می توان سهمیه شمار مناسب را کاهش داد (اگر یک سهمیه در محصول مرتبط تعریف شده باشد).

برخلاف زمان اجرا Apigee، سهمیه های وارد شده در تعریف محصول به طور خودکار توسط سرویس راه دور Apigee اعمال می شود. اگر درخواست مجاز باشد، درخواست در سهمیه مجاز محاسبه می شود.

جایی که سهمیه ها حفظ می شود

سهمیه ها به صورت محلی توسط فرآیند Remote Service حفظ و بررسی می شوند و به طور ناهمزمان با Apigee Runtime حفظ می شوند. این بدان معناست که سهمیه‌ها دقیق نیستند و اگر بیش از یک سرویس از راه دور داشته باشید که سهمیه را حفظ می‌کنند، احتمالاً مقداری از آن فراتر خواهد رفت. اگر اتصال به Apigee Runtime مختل شود، سهمیه محلی به عنوان یک سهمیه مستقل تا زمانی که بتواند دوباره به Apigee Runtime متصل شود، ادامه خواهد داشت.

محدوده های OAuth

اگر از نشانه‌های JWT استفاده می‌کنید، می‌توانید نشانه‌ها را به زیر مجموعه‌های محدوده مجاز OAuth محدود کنید. محدوده های اختصاص داده شده به توکن JWT صادر شده شما با محدوده محصول API بررسی می شود.

درباره برنامه های توسعه دهنده

هنگامی که محصولات API خود را پیکربندی کردید، یک برنامه مرتبط با یک توسعه دهنده ایجاد خواهید کرد. این برنامه به مشتری اجازه می دهد تا با یک کلید API یا توکن JWT به محصولات API مرتبط دسترسی داشته باشد.

با استفاده از احراز هویت مبتنی بر JWT

می توانید به جای استفاده از کلید API از یک نشانه JWT برای برقراری تماس های پروکسی API احراز هویت شده استفاده کنید. این بخش نحوه استفاده از دستور apigee-remote-service-cli token برای ایجاد، بازرسی و چرخش توکن های JWT توضیح می دهد.

نمای کلی

تأیید و احراز هویت JWT توسط Envoy با استفاده ازفیلتر تأیید اعتبار JWT انجام می شود.

پس از احراز هویت، فیلتر Envoy ext-authz هدر درخواست و JWT را به apigee-remote-service-envoy ارسال می کند. این درخواست با api_product_list و scope ادعاهای JWT علیه محصولات Apigee Apigee مطابقت دارد تا آن را در برابر هدف درخواست مجاز کند.

ایجاد توکن های Apigee JWT

توکن های Apigee JWT را می توان با استفاده از CLI ایجاد کرد:

apigee-remote-service-cli token create -c config.yaml --id $KEY --secret $SECRET

یا با استفاده از نقطه پایانی نشانه OAuth استاندارد. مثال کرل:

curl https://org-env.apigee.net/remote-service/token -d '{"client_id":"myclientid","client_secret":"myclientsecret","grant_type":"client_credentials"}' -H "Content-type: application/json"

با استفاده از توکن JWT

هنگامی که توکن را دریافت کردید، به سادگی آن را در هدر Authorization به Envoy ارسال می کنید. مثال:

curl localhost:8080/httpbin/headers -i -H "Authorization:Bearer $TOKEN"

شکست توکن JWT

رد فرستاده

اگر Envoy توکن را رد کند، ممکن است پیامی مانند:

Jwks remote fetch is failed

اگر چنین است، مطمئن شوید که پیکربندی Envoy شما دارای یک URI معتبر در بخش remote_jwks است، که توسط Envoy قابل دسترسی است، و هنگام نصب پراکسی Apigee، گواهی ها را به درستی تنظیم کرده اید. باید بتوانید مستقیماً با یک تماس GET با URI تماس بگیرید و یک پاسخ JSON معتبر دریافت کنید.

مثال:

curl https://myorg-eval-test.apigee.net/remote-service/certs

سایر پیام‌های فرستاده ممکن است به شرح زیر باشد:

  • "مخاطبان در Jwt مجاز نیستند"
  • "صادر کننده Jwt پیکربندی نشده است"

اینها از الزامات موجود در پیکربندی Envoy شما هستند که ممکن است نیاز به اصلاح داشته باشید.

یک نشانه را بررسی کنید

می توانید از CLI برای بازرسی توکن خود استفاده کنید. مثال

apigee-remote-service-cli -c config.yaml token inspect -f path/to/file

یا

apigee-remote-service-cli -c config.yaml token inspect <<< $TOKEN

اشکال زدایی

به خرابی کلید API معتبر مراجعه کنید.

ورود به سیستم

می‌توانید سطح گزارش را در سرویس $REMOTE_SERVICE_HOME/apigee-remote-service-envoy تنظیم کنید. همه گزارش ها به stderr ارسال می شود.

عنصر مورد نیاز توضیحات
-l، --log-level سطوح معتبر: اشکال زدایی، اطلاعات، هشدار، خطا. سطح ثبت را تنظیم می کند. پیش فرض: اطلاعات
-j، --json-log خروجی گزارش را به عنوان رکوردهای JSON منتشر می کند.

فرستاده ورود به سیستم را فراهم می کند. برای اطلاعات بیشتر، به پیوندهای مستندات فرستاده زیر مراجعه کنید:

استفاده از پروکسی شبکه

یک پروکسی HTTP را می توان با استفاده از متغیرهای محیطی HTTP_PROXY و HTTPS_PROXY در محیط باینری apigee-remote-service-envoy درج کرد. هنگام استفاده از اینها، متغیر محیطی NO_PROXY همچنین می‌تواند برای حذف میزبان‌های خاص از ارسال از طریق پروکسی استفاده شود.

HTTP_PROXY=http://[user]:[pass]@[proxy_ip]:[proxy_port]
HTTPS_PROXY=http://[user]:[pass]@[proxy_ip]:[proxy_port]
NO_PROXY=127.0.0.1,localhost

به یاد داشته باشید که پروکسی باید از طریق apigee-remote-service-envoy قابل دسترسی باشد.

درباره متریک و تجزیه و تحلیل

نقطه پایانی متریک پرومتئوس در آدرس :5001/metrics موجود است. شما می توانید این شماره پورت را پیکربندی کنید. فایل پیکربندی را ببینید.

تجزیه و تحلیل فرستاده

پیوندهای زیر اطلاعاتی در مورد به دست آوردن داده های تجزیه و تحلیل پروکسی Envoy ارائه می دهند:

تجزیه و تحلیل Istio

پیوندهای زیر اطلاعاتی در مورد به دست آوردن داده های تجزیه و تحلیل پروکسی Envoy ارائه می دهند:

تجزیه و تحلیل Apigee

Apigee Remote Service for Envoy آمار درخواست ها را برای پردازش تجزیه و تحلیل به Apigee می فرستد. Apigee این درخواست ها را تحت نام محصول API مرتبط گزارش می کند.

برای اطلاعات در مورد تجزیه و تحلیل Apigee، به نمای کلی خدمات Analytics مراجعه کنید.