Edge for Private Cloud 4.18.01 版
本節說明啟用 SAML 後,如何執行 Edge 系統管理工具和指令。Edge 上的許多工作都需要系統管理憑證,例如:
- 建立組織和環境
- 新增及移除 Edge 元件
- 執行 apigee-adminapi.sh 指令
- 許多其他工作
不過,在 Edge 上啟用 SAML 後,您通常會停用基本驗證,因此只能透過 SAML IDP 進行驗證。因此,請務必確認您已將系統管理員帳戶新增至 SAML IDP。
以系統管理員身分呼叫 Edge Management API
許多 Edge API 呼叫都需要您傳遞系統管理員憑證。「搭配使用 SAML 與 Edge Management API」一文說明如何在發出 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 公用程式。
您可以使用指令的「-h」選項,查看任何 apigee-adminapi.sh 指令的所有選項,包括指定 SAML 憑證的選項。例如:
> 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 指定 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 包含權杖。
搭配使用 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:指定 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,具體取決於您最初取得權杖的方式。在本範例中,您指定 passcode,因為您原本是使用 get_token 取得權杖。請參閱「搭配使用 SAML 與 Edge Management API」。
- OAUTH_BEARER_TOKEN 包含權杖。