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

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

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

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

คุณต้องติดตั้งและกำหนดค่าโมดูล SSO ของ Apigee ในโหนด Edge Management Server เพื่อรองรับ IdP ภายนอกสำหรับพอร์ทัล ขั้นตอนทั่วไปสำหรับการเปิดใช้ IdP ภายนอกสำหรับพอร์ทัลมีดังนี้

  1. ติดตั้งโมดูล SSO ของ Apigee ตามที่อธิบายไว้ในติดตั้งและกำหนดค่า SSO ของ Apigee
  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 หลัก ให้เลือกการกำหนดค่า > พอร์ทัลนักพัฒนาซอฟต์แวร์ หน้าจอการกำหนดค่าพอร์ทัลจะปรากฏขึ้น รวมถึงการตั้งค่า IdP ภายนอก

    โปรดทราบดังต่อไปนี้

    • เลือกช่ององค์กรนี้เปิดใช้ SAML แล้ว
    • ระบบจะกรอกข้อมูลปลายทางสำหรับโมดูล SSO ของ Apigee
    • กรอกข้อมูลในช่องคีย์ 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