กําหนดค่าพอร์ทัลเพื่อใช้ IDP ภายนอก

พอร์ทัลบริการสำหรับนักพัฒนาซอฟต์แวร์ Apigee (หรือเรียกสั้นๆ ว่าพอร์ทัล) ทำหน้าที่เป็นไคลเอ็นต์ของ Apigee Edge ซึ่งหมายความว่าพอร์ทัลไม่ได้ทำงานเป็นระบบแบบสแตนด์อโลน แต่ข้อมูลส่วนใหญ่ที่พอร์ทัลใช้จะจัดเก็บไว้ใน Edge เมื่อจำเป็น พอร์ทัลจะส่งคำขอเพื่อดึงข้อมูลจาก Edge หรือส่งข้อมูลไปยัง Edge

พอร์ทัลจะเชื่อมโยงกับองค์กร Edge เดียวเสมอ เมื่อกำหนดค่าพอร์ทัล คุณสามารถระบุข้อมูลรับรองการตรวจสอบสิทธิ์พื้นฐาน (ชื่อผู้ใช้และรหัสผ่าน) สำหรับบัญชีในองค์กรที่พอร์ทัลใช้เพื่อสื่อสารกับ Edge

หากเลือกเปิดใช้ IDP ภายนอก เช่น SAML หรือ LDAP สำหรับการตรวจสอบสิทธิ์ Edge คุณจะกำหนดค่าพอร์ทัลให้ใช้การตรวจสอบสิทธิ์นั้นเมื่อส่งคำขอไปยัง Edge ได้ การกำหนดค่าพอร์ทัลให้ใช้ IDP ภายนอกจะสร้างบัญชีผู้ใช้เครื่องใหม่ในองค์กร Edge โดยอัตโนมัติ ซึ่งพอร์ทัลจะใช้เพื่อส่งคำขอไปยัง Edge ดูข้อมูลเพิ่มเติมเกี่ยวกับผู้ใช้ที่เป็นเครื่องได้ที่หัวข้อทำงานอัตโนมัติสำหรับ IDP ภายนอก

การรองรับ 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 ภายนอก

เกี่ยวกับการตรวจสอบสิทธิ์สำหรับบัญชีนักพัฒนาแอปในพอร์ทัล

เมื่อกำหนดค่าพอร์ทัลให้ใช้ IDP ภายนอก คุณจะเปิดใช้พอร์ทัลให้ใช้ SAML หรือ LDAP เพื่อตรวจสอบสิทธิ์กับ Edge เพื่อให้พอร์ทัลส่งคำขอไปยัง Edge ได้ อย่างไรก็ตาม พอร์ทัลยังรองรับผู้ใช้ประเภทที่เรียกว่านักพัฒนาแอปด้วย

นักพัฒนาแอปคือชุมชนของผู้ใช้ที่สร้างแอปโดยใช้ API ของคุณ นักพัฒนาแอปใช้พอร์ทัลเพื่อดูข้อมูลเกี่ยวกับ API ของคุณ เพื่อลงทะเบียนแอปที่ใช้ API ของคุณ เพื่อโต้ตอบกับชุมชนนักพัฒนาแอป และเพื่อดูข้อมูลทางสถิติเกี่ยวกับการใช้งานแอปของตนบนแดชบอร์ด

เมื่อนักพัฒนาแอปเข้าสู่ระบบพอร์ทัล พอร์ทัลจะมีหน้าที่ตรวจสอบสิทธิ์นักพัฒนาแอปและบังคับใช้สิทธิ์ตามบทบาท พอร์ทัลจะยังคงใช้การตรวจสอบสิทธิ์พื้นฐานกับนักพัฒนาซอฟต์แวร์แม้ว่าคุณจะเปิดใช้การตรวจสอบสิทธิ์ 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 ให้เลือก Configuration > Dev Portal หน้าจอการกำหนดค่าพอร์ทัลจะปรากฏขึ้น ซึ่งรวมถึงการตั้งค่า IdP ภายนอก ดังนี้

    ข้อควรทราบ

    • เลือกช่อง This org is SAML-enabled
    • ระบบจะป้อนปลายทางสำหรับโมดูล Apigee SSO
    • ระบบจะป้อนข้อมูลในช่องคีย์ API และข้อมูลลับของผู้ใช้สำหรับไคลเอ็นต์ OAuth ของพอร์ทัล
    • ข้อความ Connection Successful จะปรากฏใต้ปุ่ม Test Connection
  5. คลิกปุ่ม Test Connection เพื่อทดสอบการเชื่อมต่ออีกครั้งได้ทุกเมื่อ

หากต้องการเปลี่ยนค่าเหล่านี้ในภายหลัง ให้อัปเดตไฟล์การกำหนดค่าและทำตามขั้นตอนนี้อีกครั้ง

ปิดใช้ 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