設定入口網站以使用 SAML 與 Edge 進行通訊

Edge for Private Cloud 4.18.05

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

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

如果您選擇為 Edge 驗證啟用 SAML,則可以將入口網站設為在向 Edge 提出要求時使用 SAML 驗證。設定要使用 SAML 的入口網站,會在 Edge 機構中自動建立新的機器使用者帳戶,然後由入口網站用於向 Edge 提出要求。如要進一步瞭解機器使用者,請參閱「在自動化工作中使用 SAML」。

您必須已在 Edge Management Server 節點上安裝並設定 Edge SSO 模組,才能為入口網站提供 SAML 支援。為入口網站啟用 SAML 的一般程序如下:

  1. 按照「Edge 的 SAML 安裝和設定」一文所述,在 Edge 上設定 SAML。注意:您仍必須在 Edge 上啟用基本驗證功能,才能安裝入口網站。請先將入口網站設定為使用 SAML,再停用 Edge 上的 Basic Auth。
  2. 安裝入口網站,並確認安裝作業是否正常運作。請參閱「安裝 Edge for Private Cloud 入口網站」。
  3. 在入口網站上設定 SAML。
  4. 您現在可以在 Edge 上停用基本驗證功能。

為入口網站建立機器使用者

啟用 SAML 後,Edge 會透過使用機器使用者,支援自動產生 OAuth2 權杖。機器使用者可以取得 OAuth2 權杖,而無須指定密碼。也就是說,您可以完全自動化取得和重新整理 OAuth2 權杖的程序。

入口網站的 SAML 設定程序會自動在與入口網站相關聯的機構中建立機器使用者。接著,入口網站會使用這個機器使用者帳戶連線至 Edge。如要進一步瞭解機器使用者,請參閱「使用 SAML 搭配自動化工作」。

關於入口網站開發人員帳戶的驗證

設定入口網站使用 SAML 時,您會啟用入口網站使用 SAML 驗證 Edge,以便入口網站向 Edge 提出要求。不過,入口網站也支援「開發人員」類型的使用者。

開發人員是使用者社群,他們會使用您的 API 建構應用程式。應用程式開發人員可透過這個入口網站瞭解您的 API、註冊使用您 API 的應用程式、與開發人員社群互動,以及在資訊主頁上查看應用程式使用量的統計資料。

開發人員登入入口網站時,入口網站會負責驗證開發人員,並強制執行角色型權限。即使您已在入口網站和 Edge 之間啟用 SAML,入口網站仍會繼續使用基本驗證與開發人員互動。詳情請參閱「在入口網站和 Edge 之間進行通訊」。

您也可以設定入口網站,使用 SAML 驗證開發人員。如要瞭解如何使用第三方 Drupal 模組啟用 SAML,請參閱「透過 SAML 與開發人員入口整合單一登入 (SSO)」一文。

在入口網站上設定 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 使用者介面中,將 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 模組的端點已填入,Portal Oauth 用戶端的 API 金鑰Consumer secret 欄位已填入,且「Test Connection」按鈕下方顯示「Connection Successful」訊息。

  5. 您隨時可以按下「Test Connection」按鈕,重新測試連線。

如要日後變更這些值,請更新設定檔並再次執行指令。

在入口網站上停用 SAML

如果您選擇停用 SAML,以便在入口網站和 Edge 之間進行通訊,入口網站就無法再向 Edge 提出要求。開發人員可以登入入口網站,但無法查看產品或建立應用程式。

如要在入口網站上停用 SAML,請按照下列步驟操作:

  1. 編輯用於設定 SAM 的設定檔,以便設定:
    DEVPORTAL_SSO_ENABLED=n
  2. 設定入口網站:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile