本節說明如何在啟用 SAML 後執行 Edge 系統管理工具和指令。 許多 Edge 工作都需要系統管理憑證,例如:
- 建立機構和環境
- 新增及移除 Edge 元件
- Runngin apigee-adminapi.sh 指令
不過,在 Edge on Edge 啟用 SAML 後,通常會停用基本驗證,這樣系統就只會透過 SAML IDP 進行驗證。因此,請務必確認您已經將系統管理員帳戶新增至 SAML IDP。
以系統管理員的身分呼叫 Edge Management API
許多 Edge API 呼叫都需要您傳遞系統管理員憑證。搭配 Edge Management API 使用 SAML 一文說明如何在執行 Edge Management API 呼叫時取得及更新權杖。
使用 apigee-adminapi.sh 公用程式搭配 SAML 驗證
使用 apigee-adminapi.sh
公用程式,即可執行您在呼叫 Edge Management API 後執行的相同 Edge 設定工作。apigee-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
選項會指定 Apigee SSO 模組的網址。如果您已在 9099 和 HTTP 中變更通訊埠或通訊協定,請修改通訊埠或通訊協定。oauth-flow
可指定passcode
或password_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
會根據您原先取得權杖的方式,指定passcode
或password_grant
。在此範例中,您之所以指定passcode
,是因為您原本是使用get_token
取得權杖。請參閱「將 SAML 與 Edge Management API 搭配使用」。oauh_token
包含權杖。
搭配 SAML 驗證使用 Edge 公用程式
許多 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
會指定 Apigee 單一登入 (SSO) 模組的網址。如果您已在 9099 和 HTTP 中變更通訊埠或通訊協定,請修改通訊埠或通訊協定。OAUTH_FLOW
可指定passcode
或password_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
指定passcode
。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
會根據您原先取得權杖的方式,指定passcode
或password_grant
。在本範例中,因為您原本是使用get_token
取得權杖,所以指定了passcode
。請參閱「將 SAML 與 Edge Management API 搭配使用」。OAUTH_BEARER_TOKEN
包含權杖。