啟用 SAML 後使用 Edge 管理員公用程式和 API

Edge for Private Cloud 4.18.01

本節說明如何在啟用 SAML 後執行 Edge 系統管理員工具和指令。 Edge 上的許多工作都需要系統管理憑證,例如:

  • 建立機構和環境
  • 新增及移除 Edge 元件
  • 執行 apigee-adminapi.sh 指令
  • 許多其他工作

不過,在 Edge on Edge 上啟用 SAML 後,通常會停用基本驗證 皆須透過 SAML IDP 進行驗證。因此,請務必確認您已加入 新增到您的 SAML IDP。

以系統管理員身分呼叫 Edge 管理 API

許多 Edge API 呼叫都必須傳遞系統管理員憑證。在 Edge 管理 API 中使用 SAML 說明如何在發出 Edge 管理 API 呼叫時取得及重新整理權杖。

使用 apigee-adminapi.sh 公用程式搭配 SAML 驗證

使用 apigee-adminapi.sh 公用程式,藉由呼叫 Edge 來執行相同的 Edge 設定工作 Management APIapigee-adminapi.sh 公用程式的優點如下:

  • 使用簡單的指令列介面
  • 實作以 Tab 為基礎的指令自動完成功能
  • 提供說明和使用資訊
  • 如果您決定試用 API,可顯示對應的 API 呼叫

詳情請參閱「使用 apigee-ssoadminapi.sh」。

啟用 SAML 驗證後,您可以透過多種方式將系統傳送給系統管理員。 名為 apigee-adminapi.sh 公用程式。

您可以針對任何 apigee-adminapi.sh 指令看見所有選項,包括 指定 SAML 憑證的選項,方法是使用「-h」該指令例如:

> apigee-adminapi.sh orgs list -h

舉例來說,您可以傳遞系統管理員憑證:

> apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow password_grant --admin adminEmail --oauth-password adminPword 

其中:

  • sso-url 會指定 Edge SSO 模組的網址。修改通訊埠或通訊協定 (如果您從 9099 變更通訊埠或通訊協定,然後 HTTP
  • oauth-flow 會指定 passcodepassword_grant。在這個範例中 指定 password_grant
  • adminEmail 是系統管理員的電子郵件地址。
  • oauth-password 會指定 系統管理員的密碼

或者,您也可以在呼叫指令時使用密碼:

> apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow passcode --admin adminEmail --oauth-passcode passcode 

其中:

  • oauth-flow 會指定 passcode
  • oauth-passcode 會指定 從 http://edge_sso_IP_DNS:9099/passcode 取得的密碼。

最後,您可以在呼叫指令時使用權杖:

> apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow passcode --admin adminEmail --oauth-token token 

其中:

  • oauth-flow 會指定 passcodepassword_grant (取決於您的方式) 最初取得權杖在本範例中,您會指定 passcode,因為您最初是使用 get_token 取得權杖。詳情請見 將 SAML 與 Edge Management API 搭配使用
  • oauh_token 包含權杖。

使用 Edge 公用程式搭配 SAML 驗證

許多 Edge 公用程式需要系統管理員憑證,例如:

  • apigee-provision 用於建立機構、環境和虛擬主機
  • setup.sh 用於在現有系統中新增節點
  • 任何其他公用程式,您必須在設定檔中指定系統管理員憑證

這些公用程式做為輸入設定檔的輸入設定檔,用於指定系統管理員的 來部署憑證

ADMIN_EMAIL="adminEmail"
APIGEE_ADMINPW=adminPWord

如果您省略密碼,系統將提示您輸入密碼。

啟用 SAML 後,您可以使用不同的屬性指定系統管理員的憑證。舉例來說,您可以傳遞系統管理員憑證:

ADMIN_EMAIL="adminEmail"
SSO_LOGIN_URL=http://edge_sso_IP_DNS:9099
OAUTH_FLOW=password_grant
OAUTH_ADMIN_PASSWORD=adminPWord

其中:

  • SSO_LOGIN_URL 會指定 Edge 單一登入 (SSO) 模組的網址。修改通訊埠或通訊協定 (如果您從 9099 變更通訊埠或通訊協定,然後 HTTP
  • OAUTH_FLOW 會指定 passcodepassword_grant。在本例中,您會傳遞系統管理員的密碼,因此請指定 password_grant
  • OAUTH_ADMIN_PASSWORD 指定系統管理員的密碼。

您也可以使用下列屬性,將憑證指定為 密碼流動方式:

ADMIN_EMAIL="adminEmail"
SSO_LOGIN_URL=http://edge_sso_IP_DNS:9099
OAUTH_FLOW=passcode
OAUTH_ADMIN_PASSCODE=passcode

其中:

  • OAUTH_FLOW 會指定密碼
  • OAUTH_ADMIN_PASSCODE 指定從 http://edge_sso_IP_DNS:9099/passcode 取得的密碼。

最後,您可以使用

ADMIN_EMAIL="adminEmail"
SSO_LOGIN_URL=http://edge_sso_IP_DNS:9099
OAUTH_FLOW=passcode
OAUTH_BEARER_TOKEN=token

其中:

  • OAUTH_FLOW 會指定 passcodepassword_grant (取決於您的方式) 最初取得權杖在本例中,您要指定「passcode」,因為您原本取得 符記。get_token。請參閱「使用 SAML 與 Edge 管理 API」。
  • OAUTH_BEARER_TOKEN 包含 取得憑證