為 Edge 啟用 SAML 或 LDAP 後,即可停用基本驗證。不過 再停用基本驗證:
- 請務必將所有 Edge 使用者 (包括系統管理員) 加入 IDP。
- 確認您已在 Edge UI 和 Edge 上完整測試 IdP 驗證 Management API
- 如果您使用的是 Apigee Developer Services 入口網站 (或簡稱入口網站),請在入口網站設定並測試您的外部 IdP 確保入口網站可連線至 Edge。詳情請見 設定外部 IdP 的入口網站。
查看目前的安全性設定檔
您可以查看邊緣安全性設定檔來判斷目前的設定,以判斷目前的設定是否 目前已啟用基本驗證和外部 IdP。使用下列 Edge 管理 對 Edge Management Server 發出的 API 呼叫,查看 Edge 目前使用的安全性設定檔:
curl -H "accept:application/xml" http://localhost:8080/v1/securityprofile -u sysAdminEmail:pWord
如果您尚未設定外部 IdP,回應如下所示,這表示「基本」 驗證功能是否已啟用:
<SecurityProfile enabled="true" name="securityprofile"> <UserAccessControl enabled="true"> </UserAccessControl> </SecurityProfile>
如果已啟用外部 IdP,<ssoserver>
元素應
出現在回應中:
<SecurityProfile enabled="true" name="securityprofile"> <UserAccessControl enabled="true"> <SSOServer> <BasicAuthEnabled>true</BasicAuthEnabled> <PublicKeyEndPoint>/token_key</PublicKeyEndPoint> <ServerUrl>http://35.197.37.220:9099</ServerUrl> </SSOServer> </UserAccessControl> </SecurityProfile>
請注意,已啟用外部 IdP 的版本也會顯示 <BasicAuthEnabled>true</BasicAuthEnabled>,表示 驗證仍為啟用狀態
停用基本驗證功能
在 Edge Management Server 上,使用下列 Edge Management API 呼叫來停用基本版 驗證。
如要停用基本驗證,請將上一節傳回的 XML 物件做為酬載傳送。只有
不同之處在於您將 <BasicAuthEnabled>
設為 false
,因為
範例如下:
curl -H "Content-Type: application/xml" http://localhost:8080/v1/securityprofile -u sysAdminEmail:pWord -d '<SecurityProfile enabled="true" name="securityprofile"> <UserAccessControl enabled="true"> <SSOServer> <BasicAuthEnabled>false</BasicAuthEnabled> <PublicKeyEndPoint>/token_key</PublicKeyEndPoint> <ServerUrl>http://35.197.37.220:9099</ServerUrl> </SSOServer> </UserAccessControl> </SecurityProfile>'
停用基本驗證功能後,所有通過基本驗證的 Edge Management API 呼叫都會 驗證憑證會傳回下列錯誤:
<Error> <Code>security.SecurityProfileBasicAuthDisabled</Code> <Message>Basic Authentication scheme not allowed</Message> <Contexts/> </Error>
重新啟用基本驗證功能
如果您基於任何原因必須重新啟用基本驗證功能,您必須執行下列作業 步驟:
- 登入任何 Edge ZooKeeper 節點。
- 執行下列 bash 指令碼,關閉所有安全防護功能:
#! /bin/bash /opt/apigee/apigee-zookeeper/bin/zkCli.sh -server localhost:2181 <<EOF set /system/securityprofile <SecurityProfile></SecurityProfile> quit EOF
輸出內容的格式如下:
Connecting to localhost:2181 Welcome to ZooKeeper! JLine support is enabled WATCHER:: WatchedEvent state:SyncConnected type:None path:null [zk: localhost:2181(CONNECTED) 0] set /system/securityprofile <SecurityProfile></SecurityProfile> cZxid = 0x89 ... [zk: localhost:2181(CONNECTED) 1] quit Quitting...
- 重新啟用基本驗證和外部 IdP 驗證:
curl -H "Content-Type: application/xml" http://localhost:8080/v1/securityprofile -u sysAdminEmail:pWord -d '<SecurityProfile enabled="true" name="securityprofile"> <UserAccessControl enabled="true"> <SSOServer> <BasicAuthEnabled>true</BasicAuthEnabled> <PublicKeyEndPoint>/token_key</PublicKeyEndPoint> <ServerUrl>http://35.197.37.220:9099</ServerUrl> </SSOServer> </UserAccessControl> </SecurityProfile>'
您現在可以再次使用基本驗證功能。請注意,基本驗證功能無法運作 啟用新版 Edge 時