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

Apigee Developer Services 入口網站 (或簡稱入口網站) 是 Apigee Edge 的用戶端。也就是說,入口網站無法做為獨立系統運作。入口網站使用的大部分資訊實際上都儲存在 Edge 上。必要時,入口網站會提出要求,從 Edge 擷取資訊或將資訊傳送至 Edge。

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

如果您選擇啟用外部 IDP (例如 SAML 或 LDAP) 進行 Edge 驗證,則可設定入口網站,在向 Edge 提出要求時使用該驗證。將入口網站設為使用外部 IDP 時,系統會自動在 Edge 組織中建立新的機器使用者帳戶,入口網站會使用該帳戶向 Edge 提出要求。如要進一步瞭解機器使用者,請參閱「自動執行外部 IdP 的工作」。

如要讓入口網站支援外部 IDP,您必須先在 Edge 管理伺服器節點上安裝及設定 Apigee SSO 模組。為入口網站啟用外部 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 與開發人員入口網站整合 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. 在 Drupal 主選單中,依序選取「Configuration」>「Dev Portal」。系統隨即會顯示入口網站設定畫面,包括外部 IDP 設定:

    請注意以下事項:

    • 勾選「This org is SAML-enabled」方塊
    • Apigee SSO 模組的端點已填入
    • 入口網站 OAuth 用戶端的「API 金鑰」和「Consumer secret」欄位已填入
    • 「Test Connection」(測試連線) 按鈕下方會顯示「Connection Successful」(連線成功) 訊息。
  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