پیکربندی کردن درگاه برای استفاده از ارائه‌دهندگان هویت خارجی

پورتال Apigee Developer Services (یا به‌طور خلاصه، پورتال) به‌عنوان کارخواه Apigee Edge عمل می‌کند. این یعنی درگاه به‌عنوان سیستم مستقل عمل نمی‌کند. درعوض، بیشتر اطلاعاتی که درگاه استفاده می‌کند درواقع در Edge ذخیره می‌شود. درصورت لزوم، درگاه درخواستی برای بازیابی اطلاعات از Edge یا ارسال اطلاعات به Edge ایجاد می‌کند.

پورتال همیشه با یک سازمان Edge مرتبط است. وقتی درگاه را پیکربندی می‌کنید، می‌توانید اعتبارنامه‌های اصالت‌سنجی پایه (نام کاربری و گذرواژه) را برای حسابی در سازمان که درگاه از آن برای برقراری ارتباط با Edge استفاده می‌کند مشخص کنید.

اگر تصمیم بگیرید IDP خارجی‌ای مثل SAML یا LDAP را برای اصالت‌سنجی Edge فعال کنید، می‌توانید درگاه را پیکربندی کنید تا هنگام درخواست دادن به Edge از آن اصالت‌سنجی استفاده کند. پیکربندی پورتال برای استفاده از IDP خارجی به‌طور خودکار حساب کاربری ماشین جدیدی در سازمان Edge ایجاد می‌کند که پورتال سپس از آن برای درخواست دادن به Edge استفاده می‌کند. برای کسب اطلاعات بیشتر درباره کاربران ماشینی، به خودکارسازی تکالیف برای ارائه‌دهندگان هویت خارجی مراجعه کنید.

پشتیبانی IDP خارجی برای پورتال مستلزم این است که قبلاً ماژول Apigee SSO را در گره Edge Management Server نصب و پیکربندی کرده باشید. فرایند کلی برای فعال کردن IDP خارجی برای درگاه به‌صورت زیر است:

  1. واحد Apigee SSO را نصب کنید، همان‌طور که در نصب Apigee SSO برای دسترسی بالا شرح داده شده است.
  2. پورتال را نصب کنید و مطمئن شوید که نصب به‌درستی کار می‌کند. به نصب درگاه مراجعه کنید.
  3. SAML یا LDAP را در درگاه پیکربندی کنید، همان‌طور که در این بخش توضیح داده شده است.
  4. (اختیاری) اصالت‌سنجی «پایه» را در Edge غیرفعال کنید، همان‌طور که در غیرفعال کردن اصالت‌سنجی «پایه» در Edge شرح داده شده است.

ایجاد کاربر ماشینی برای درگاه

وقتی IDP خارجی فعال باشد، Edge از تولید خودکار کد OAuth2 ازطریق استفاده از کاربران ماشین پشتیبانی می‌کند. کاربر ماشین می‌تواند بدون نیاز به مشخص کردن گذرنویسه، کدهای OAuth2 را دریافت کند. یعنی می‌توانید فرایند دریافت و بازآوری کدهای OAuth2 را کاملاً خودکار کنید.

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

درباره اصالت‌سنجی برای حساب‌های توسعه‌دهنده درگاه

وقتی پورتال را برای استفاده از IDP خارجی پیکربندی می‌کنید، پورتال را فعال می‌کنید تا از SAML یا LDAP برای اصالت‌سنجی با Edge استفاده کند تا پورتال بتواند درخواست‌هایی به Edge ارسال کند. بااین‌حال، این درگاه از نوعی کاربر به نام توسعه‌دهنده نیز پشتیبانی می‌کند.

توسعه‌دهندگان انجمن کاربرانی را تشکیل می‌دهند که بااستفاده از میاناهای برنامه‌سازی کاربردی شما برنامه می‌سازند. توسعه‌دهندگان نرم‌افزار از این درگاه برای آشنایی با میاناهای برنامه‌سازی کاربردی شما، ثبت برنامه‌هایی که از میاناهای برنامه‌سازی کاربردی شما استفاده می‌کنند، تعامل با انجمن توسعه‌دهندگان، و مشاهده اطلاعات آماری درباره استفاده از برنامه‌شان در داشبورد استفاده می‌کنند.

وقتی توسعه‌دهنده‌ای به درگاه وارد می‌شود، درگاه مسئول اصالت‌سنجی توسعه‌دهنده و اعمال اجازه‌های مبتنی بر نقش است. حتی پس‌از اینکه اصالت‌سنجی IDP را بین درگاه و Edge فعال کنید، درگاه همچنان از اصالت‌سنجی «پایه» با توسعه‌دهندگان استفاده می‌کند. برای اطلاعات بیشتر، برقراری ارتباط بین پورتال و Edge را ببینید.

همچنین می‌توان درگاه را برای استفاده از SAML یا LDAP برای اصالت‌سنجی توسعه‌دهندگان پیکربندی کرد. برای نمونه‌ای از فعال کردن SAML بااستفاده از ماژول‌های Drupal طرف سوم، ادغام SSO ازطریق SAML با درگاه توسعه‌دهندگان را ببینید.

فایل پیکربندی IDP برای پورتال

برای پیکربندی IDP خارجی برای درگاه، باید فایل پیکربندی‌ای ایجاد کنید که تنظیمات درگاه را تعریف کند.

مثال زیر فایل پیکربندی درگاه با پشتیبانی از IDP را نشان می‌دهد:

# IP address of Edge Management Server and the node on which the Apigee SSO module is installed.
IP1=22.222.22.222

# URL of Edge management API.
MGMT_URL=http://$IP1:8080/v1

# Organization associated with the portal.
EDGE_ORG=myorg

# Information about the Apigee SSO module (apigee-sso).
# Externally accessible IP or DNS of apigee-sso.
SSO_PUBLIC_URL_HOSTNAME=$IP1
SSO_PUBLIC_URL_PORT=9099
# Default is http. Set to https if you enabled TLS on apigee-sso.
SSO_PUBLIC_URL_SCHEME=http

# SSO admin credentials as set when you installed apigee-sso.
SSO_ADMIN_NAME=ssoadmin
SSO_ADMIN_SECRET=Secret123

# Enables or disables external IDP support.
# Default is "n", which disables external IDP support.
# Change it to "y" to enable external IDs support.
DEVPORTAL_SSO_ENABLED=y

# The name of the OAuth2 client used to connect to apigee-sso.
# The default client name is portalcli.
PORTALCLI_SSO_CLIENT_NAME=portalcli
# OAuth client password using uppercase, lowercase, number, and special characters.
PORTALCLI_SSO_CLIENT_SECRET=Abcdefg@1

# Email address and user info for the machine user created in the Edge org specified
# above by EDGE_ORG.
# This account is used by the portal to make requests to Edge.
# Add this email as an org admin before configuring the portal to use an external IDP.
DEVPORTAL_ADMIN_EMAIL=DevPortal_SAML@google.com
DEVPORTAL_ADMIN_FIRSTNAME=DevPortal
DEVPORTAL_ADMIN_LASTNAME=SAMLAdmin
DEVPORTAL_ADMIN_PWD=Abcdefg@1

# If set, the existing portal OAuth client is deleted and a new one is created.
# The default value is "n".
# Set to "y" when you configure the external IDP and change the value of
# any of the PORTALCLI_* properties.
PORTALCLI_SSO_CLIENT_OVERWRITE=y

برای فعال کردن پشتیبانی از IDP خارجی در پورتال:

  1. در Edge UI، کاربر ماشین مشخص‌شده توسط DEVPORTAL_ADMIN_EMAIL را به سازمان مرتبط با پورتال به‌عنوان سرپرست سازمان اضافه کنید.
  2. فرمان زیر را برای پیکربندی IDP خارجی در درگاه اجرا کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile

    که configFile فایل پیکربندی شرح‌داده‌شده در بالا است.

  3. به‌عنوان سرپرست درگاه به سیستم درگاه وارد شوید.
  4. در منو اصلی Drupal، پیکربندی > درگاه توسعه را انتخاب کنید. صفحه پیکربندی درگاه ظاهر می‌شود، ازجمله تنظیمات IDP خارجی:

    به موارد زیر توجه کنید:

    • چارگوش این سازمان SAML-فعال است علامت زده شده باشد
    • نقطه پایانی برای واحد Apigee SSO تکمیل شده است
    • فیلدهای کلید میانای API و رمز مصرف‌کننده برای کارخواه Oauth درگاه تکمیل شده است
    • پیام اتصال موفقیت‌آمیز بود زیر دکمه آزمایش کردن اتصال ظاهر می‌شود.
  5. برای آزمایش مجدد اتصال در هر زمان، روی دکمه آزمایش کردن اتصال کلیک کنید.

برای تغییر دادن این مقادیر در آینده، فایل پیکربندی را به‌روز کنید و این روال را دوباره اجرا کنید.

غیرفعال کردن IDP خارجی در پورتال

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

برای غیرفعال کردن اصالت‌سنجی IDP خارجی در پورتال:

  1. فایل پیکربندی را که قبلاً برای فعال کردن IDP خارجی استفاده کرده‌اید باز کنید.
  2. مقدار ویژگی DEVPORTAL_SSO_ENABLED را روی n تنظیم کنید، همان‌طور که در مثال زیر نشان داده شده است:
    DEVPORTAL_SSO_ENABLED=n
  3. با اجرای فرمان زیر، درگاه را پیکربندی کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile