使用基本驗證功能存取 Edge API

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

您可以使用基本驗證功能存取 Cloud 帳戶的 Edge API。使用基本驗證功能後,您就能在每項要求中,將憑證 (Apigee 帳戶的電子郵件地址和密碼) 傳送至 Edge API。

「基本驗證」是系統支援的驗證機制中最安全的一種。您的憑證不會加密或雜湊處理,只採用 Base64 編碼。相較於基本驗證,Apigee 建議您使用 OAuth2SAML 來存取 Edge API。

基本驗證格式

您可以將憑證做為 Base64 編碼標頭或 HTTP 用戶端中的參數傳送。

當您透過標頭傳送憑證時,您必須以 Base64 編碼。以下是經過編碼的 HTTP 基本驗證標頭範例:

Authorization: Basic YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo

透過 curl 等用戶端,您可以使用 -u 選項傳送憑證,如以下範例所示:

curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u email_address:password

curl 會將電子郵件地址和密碼進行編碼,然後將這些編碼新增到要求的 Authorization 標頭中。

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

請注意,您必須在 Edge API 呼叫中使用 Apigee 帳戶的電子郵件地址,而非使用者名稱。

透過 curl 存取 Edge API

使用 curl 存取 Edge API 時,您也可以手動設定 Authorization 標頭要求。

如上所述,雖然 curl 會將您的憑證編碼,但有時您可能不想在指令記錄中輸入未編碼的憑證。

如何使用 curl 手動設定標頭及存取 Edge API:

  1. Base64 會使用工具 (例如 base64) 將電子郵件地址和密碼編碼。例如:
      read -es PASS
      echo -n ahamilton@apigee.com:$PASS | base64

    base64 工具會傳回經過編碼的字串:

    YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo=
  2. 將編碼字串新增至 Edge API 要求的 Authorization 標頭中,如以下範例所示:
        read -es PASS
        BASIC=$(echo -n ahamilton@apigee.com:$PASS | base64
        curl -H "Authorization: Basic $BASIC" \
        https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
        {
        "createdAt" : 1491854501264,
        "createdBy" : "noreply_iops@apigee.com",
        "displayName" : "ahamilton",
        "environments" : [ "prod", "test" ],
        "lastModifiedAt" : 1491854501264,
        "lastModifiedBy" : "noreply_iops@apigee.com",
        "name" : "ahamilton",
        "properties" : {
        "property" : [ {
        "name" : "features.isSmbOrganization",
        "value" : "false"
        }, {
        "name" : "features.isCpsEnabled",
        "value" : "true"
        } ]
        },
        "type" : "trial"
        }

這項要求取得「ahamilton-eval」機構的詳細資料。如需 Edge API 端點的完整清單,請參閱 Apigee Edge API 參考資料

您必須在每個要求中加入 Authorization 標頭。

停用基本驗證功能

如要停用基本驗證 (只要 OAuth2 或 SAML 已啟用),請傳送要求給 Apigee Edge 支援

指令碼指南

在某些情況下,執行指令碼時收集密碼並不切實際。舉例來說,您可能需要執行在沒有管理員的情況下觸發的 Cron 工作。在這些情況下,您必須讓指令碼能取得密碼,不需要任何人為介入。

請按照下列指南進行:

  1. 在單一檔案中集中管理憑證,做為您編寫程式和指令碼的來源
  2. 使用檔案系統安全性和權限,盡可能保護憑證來源檔案
  3. 建立自動化用戶端,並對機構中的特定資源具備高度限制的權限。