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

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

您可以透過基本驗證,存取 Edge for the Cloud 帳戶的 Edge API。使用基本驗證時,您會在每個 Edge API 要求中傳遞憑證 (Apigee 帳戶的電子郵件地址和密碼)。

基本驗證是支援的驗證機制中安全性最低的一種。您的憑證不會經過加密或雜湊處理,只會採用 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 標頭。

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

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

使用 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. 建立自動化用戶端,並對貴機構的特定資源設定嚴格的權限限制。