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

私有雲 v4.18.01 的邊緣

開發人員服務入口網站即為 Apigee Edge 的用戶端。這表示入口網站無法做為獨立系統。入口網站使用的大部分資訊實際上會儲存在 Edge。入口網站會在必要時發出要求,從 Edge 擷取資訊,或將資訊傳送至 Edge。

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

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

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

  1. 按照「為 Edge 的 SAML 安裝與設定」的說明設定 Edge 上的 SAML。注意事項:在 Edge 上仍須啟用基本驗證才能安裝入口網站。將入口網站設為使用 SAML 之前,請勿停用 Edge 上的基本驗證。
  2. 安裝入口網站並確認您的安裝作業運作正常。請參閱安裝 Private Cloud Developer Services 入口網站的 Edge。
  3. 在入口網站上設定 SAML。
  4. 您現在可以停用 Edge 的基本驗證。

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

啟用 SAML 後,Edge 支援透過電腦使用者自動產生 OAuth2 權杖。機器使用者不必指定密碼即可取得 OAuth2 權杖。也就是說,您可以完全自動化取得及更新 OAuth2 權杖的程序。

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

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

只要將入口網站設為使用 SAML,入口網站就能使用 SAML 向 Edge 進行驗證,以便入口網站向 Edge 提出要求。不過,入口網站也支援名為「developers」的使用者類型。

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

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

此外,您也可以將入口網站設為使用 SAML 來驗證開發人員。如需使用第三方 Drupal 模組啟用 SAML 的範例,請參閱 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-devportalconfigure-sso -f samlConfigFile

    其中 samlConfigFile 是 SAML 設定檔。
  3. 以入口網站管理員身分登入入口網站。
  4. 在 Drupal 主選單中,依序選取「Configuration」(設定) >「Dev Portal」(開發人員入口網站)。畫面上會顯示入口網站設定畫面,包含 SAML 設定:

    請注意,已勾選「這個機構已啟用 SAML 功能」的方塊,系統會填入 Edge SSO 模組的端點、填寫入口網站 OAuth 用戶端的「API key」和「ConsumerSecret」欄位,並在「Test Connection」按鈕下方顯示「Connection Success」訊息。

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

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

在入口網站上停用 SAML

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

注意:如果您停用 SAML,那麼系統會將入口網站重新設定為使用 SAML。如果 Edge 仍設為支援基本驗證,請將入口網站設定為使用基本驗證與 Edge 通訊。如要進一步瞭解如何使用基本驗證,請參閱在入口網站和邊緣之間進行通訊

如何在入口網站上停用 SAML:

  1. 編輯用來設定 SAM 的設定檔:
    DEVPORTAL_SSO_ENABLED=n
  2. 設定入口網站:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal 編輯內容-sso -f configFile