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

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

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

如果您選擇啟用使用 SAML 或 LDAP 進行 Edge 驗證的外部 IDP,則可將入口網站設為在向 Edge 提出要求時使用該驗證。設定入口網站以使用外部 IdP 時,會自動在 Edge 機構中建立新的機器使用者帳戶,然後入口網站會使用此帳戶向 Edge 發出要求。如需機器使用者的詳細資訊,請參閱「自動處理外部 IdP 的工作」。

您必須先在 Edge Management 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 提出要求。不過,入口網站也支援名為「developers」的使用者類型。

開發人員是由開發人員組成,利用您的 API 建構應用程式。應用程式開發人員可透過入口網站瞭解 API、註冊使用 API 的應用程式、與開發人員社群互動,以及在資訊主頁上查看應用程式使用情況的統計資料。

開發人員登入入口網站時,入口網站將負責驗證開發人員及強制執行角色權限。即使您在入口網站和 Edge 之間啟用 IDP 驗證機制,入口網站仍會繼續對開發人員進行基本驗證。詳情請參閱「在入口網站和邊緣之間通訊」。

此外,您也可以將入口網站設為使用 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 enabled」(這個機構已啟用 SAML) 方塊。
    • 已填入 Apigee SSO 模組的端點
    • 填入入口網站 Oauth 用戶端的「API 金鑰」和「用戶端密鑰」欄位
    • 「Test Connection」按鈕下方會顯示「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