設定入口網站以使用外部 IDP

Apigee Developer Services 入口網站 (或簡稱入口網站) 是 Apigee Edge 的用戶端。這表示入口網站無法做為獨立系統運作。但實際上,入口網站使用的大部分資訊都儲存在 Edge 中。如有需要,入口網站會要求從 Edge 擷取資訊,或將資訊傳送給 Edge。

入口網站一律會與單一 Edge 機構建立關聯。設定入口網站時,您可以為入口網站中的帳戶指定基本驗證憑證 (使用者名稱和密碼),藉此讓入口網站與 Edge 相互通訊。

如果您選擇啟用外部 IDP (例如 SAML 或 LDAP 供 Edge 驗證),就可以將入口網站設為向 Edge 傳送要求時使用該驗證。將入口網站設為使用外部 IDP,會自動在 Edge 機構中建立新的機器使用者帳戶,讓入口網站用於向 Edge 傳送要求。如要進一步瞭解電腦使用者,請參閱「自動處理外部 IDP 的工作」。

您必須先安裝並設定 Edge Edge Server 節點上的 Apigee SSO 模組,才能使用入口網站的外部 IDP 支援。啟用入口網站外部 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 的應用程式、與開發人員社群互動,以及在資訊主頁上查看應用程式使用情況的相關統計資料。

開發人員登入入口網站時,入口網站會負責驗證開發人員的身分,並強制執行角色型權限。即使您在入口網站和 Edge 之間啟用 IDP 驗證機制,入口網站會繼續為開發人員使用基本驗證功能。詳情請參閱「在入口網站和 Edge 之間進行通訊」。

您也可以將入口網站設為使用 SAML 或 LDAP 來驗證開發人員。如需使用第三方 Drupal 模組啟用 SAML 的範例,請參閱透過 SAML 使用 SAML 整合單一登入 (SSO) 服務

入口網站的 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. 在主選單中,依序選取「Configuration」>「Dev Portal」。系統隨即會顯示入口網站設定畫面,包括外部 IdP 設定:

    請注意以下事項:

    • 已勾選「這個機構已啟用 SAML」方塊
    • Apigee SSO 模組的端點已填入
    • 已填入入口網站 OAuth 用戶端的「API 金鑰」和「用戶端密鑰」欄位
    • 「Test Connection」按鈕下方會顯示「Connection Success」訊息。
  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