การกําหนดค่าพอร์ทัลบริการสําหรับนักพัฒนาแอปเพื่อใช้ SAML ในการสื่อสารกับ Edge

Edge for Private Cloud v4.18.01

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

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

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

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

  1. กำหนดค่า SAML ใน Edge ตามที่อธิบายไว้ในการติดตั้งและการกำหนดค่า SAML สำหรับ Edge หมายเหตุ: คุณยังคงต้องเปิดใช้การตรวจสอบสิทธิ์พื้นฐานใน Edge เพื่อติดตั้งพอร์ทัล อย่าปิดใช้การตรวจสอบสิทธิ์พื้นฐานใน Edge จนกว่าคุณจะกำหนดค่าพอร์ทัลให้ใช้ SAML
  2. ติดตั้งพอร์ทัลและตรวจสอบว่าการติดตั้งทำงานได้อย่างถูกต้อง ดูการติดตั้ง Edge สำหรับพอร์ทัลบริการนักพัฒนาซอฟต์แวร์ Private Cloud
  3. กำหนดค่า SAML ในพอร์ทัล
  4. ตอนนี้คุณปิดใช้ Basic Auth ใน Edge ได้แล้ว

การสร้างผู้ใช้ที่เป็นเครื่องสำหรับพอร์ทัล

เมื่อเปิดใช้ SAML แล้ว Edge จะรองรับการสร้างโทเค็น OAuth2 แบบอัตโนมัติผ่านการใช้ผู้ใช้เครื่อง ผู้ใช้ที่เป็นเครื่องจะรับโทเค็น OAuth2 ได้โดยไม่ต้องระบุรหัสผ่าน ซึ่งหมายความว่าคุณสามารถทำให้กระบวนการรับและรีเฟรชโทเค็น OAuth2 เป็นแบบอัตโนมัติได้อย่างสมบูรณ์

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

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

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

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

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

นอกจากนี้ คุณยังกำหนดค่าพอร์ทัลให้ใช้ SAML เพื่อตรวจสอบสิทธิ์นักพัฒนาแอปได้ด้วย ดูตัวอย่างการเปิดใช้ SAML โดยใช้โมดูล Drupal ของบุคคลที่สามได้ที่ https://community.apigee.com/articles/29201/sso-integration-via-saml-with-developer-portal.html

กำหนดค่า SAML ในพอร์ทัลเพื่อสื่อสารกับ Edge

หากต้องการกำหนดค่า SAML สำหรับพอร์ทัล คุณต้องสร้างไฟล์การกำหนดค่าเพื่อกำหนดค่าพอร์ทัล โดยทำดังนี้

# IP address of Edge Management Server and apigee-sso node.
IP1=22.222.22.222

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

# Org associated with the portal.
EDGE_ORG=myorg

# Information about 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

# Default is "n" to disable SAML support.
DEVPORTAL_SSO_ENABLED=y

# The name of the OAuth 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 chars. 
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 SAML. 
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 new one is created.
# The default value is "n".
# Set to "y" when you configure SAML and change the value of 
# any of the PORTALCLI_* properties.
PORTALCLI_SSO_CLIENT_OVERWRITE=y

วิธีเปิดใช้การรองรับ SAML ในพอร์ทัล

  1. ใน Edge UI ให้เพิ่มผู้ใช้เครื่องที่ระบุโดย DEVPORTAL_ADMIN_EMAIL ลงในองค์กรที่เชื่อมโยงกับพอร์ทัลเป็นผู้ดูแลระบบองค์กร
    หมายเหตุ: ผู้ใช้เครื่องยังไม่มีอยู่ แต่ระบบจะสร้างขึ้นโดยอัตโนมัติในขั้นตอนถัดไป
  2. เรียกใช้คำสั่งต่อไปนี้เพื่อกำหนดค่า SAML ในพอร์ทัล
    > /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f samlConfigFile

    โดยที่ samlConfigFile คือไฟล์การกำหนดค่า SAML
  3. เข้าสู่ระบบพอร์ทัลในฐานะผู้ดูแลระบบพอร์ทัล
  4. ในเมนูหลักของ Drupal ให้เลือก Configuration > Dev Portal หน้าจอการกำหนดค่าพอร์ทัลจะปรากฏขึ้น รวมถึงการตั้งค่า SAML ดังนี้

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

  5. คุณกดปุ่มทดสอบการเชื่อมต่อเพื่อทดสอบการเชื่อมต่ออีกครั้งได้ทุกเมื่อ

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

ปิดใช้ SAML ในพอร์ทัล

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

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

วิธีปิดใช้ SAML ในพอร์ทัล

  1. แก้ไขไฟล์การกำหนดค่าที่ใช้กำหนดค่า SAM เพื่อตั้งค่าต่อไปนี้
    DEVPORTAL_SSO_ENABLED=n
  2. กำหนดค่าพอร์ทัล:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile