設定及設定 Edge Microgateway

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

Edge Microgateway 2.3.x 版

總覽

本教學課程將逐步說明啟動 Edge Microgateway 執行個體的必要步驟 並開始運作

完成這裡的步驟後,您就能使用完整設定且能運作的 Edge Microgateway 安裝功能,處理 API 要求。以安全的 API 呼叫來測試設定 經由 Edge Microgateway 到後端目標此外,我們也會解說如何針對流量高峰 這個 Icrogate 的外掛程式。

本指南分為以下幾個部分:

事前準備:安裝 Edge Microgateway

按照安裝 Edge 中的操作說明 Microgateway。完成安裝後, 教學課程。

安裝完成後,請前往下一節「第 1 部分:設定 Edge Microgateway」一節。

第 1 部分:設定 Edge 微型閘道

在這個部分,您將使用指令列介面 (CLI) 指令設定 Edge Microgateway 與 Apigee Edge 通訊如果使用 Apigee Edge Cloud Apigee Edge Cloud 設定步驟。開啟這項設定時 Apigee 私有雲,按照 Apigee Edge 私人步驟操作 Cloud

Apigee Edge Cloud 設定步驟

請按照下列步驟搭配使用 Edge Microgateway 與 Apigee Edge Cloud:

  1. 如果您之前尚未執行此操作,請初始化 Edge Microgateway (只需執行這項操作) 第一步):
    edgemicro init
  2. (選用) 列印 edgemicro configuration 指令的說明:
    edgemicro configure -h
  3. 執行下列指令來設定 Edge Microgateway:
    edgemicro configure -o [org] -e [env] -u [username] 

    在此情況下:

    • org 是您的 Edge 機構名稱 (須為 機構組織管理員)。
    • env 是貴機構的環境 (例如測試或 prod)。
    • username 是與您帳戶相關聯的電子郵件地址 Apigee 帳戶。

範例

edgemicro configure -o docs -e test -u jdoe@example.com

輸出內容

./edgemicro configure -o docs -e test -u jdoe@apigee.com
password:
current nodejs version is v6.1.0
current edgemicro version is 2.2.3-beta
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
creating vault
adding private_key
adding public_key
configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1

saving configuration information to: /Home/.edgemicro/wwitman-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCaDpaTttaDANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTYxAxMjA0NzIyWhcNMTYxMTAyMjA0NzIyWjAUMRIwEAYD
VQQDEwlsb2NhbGhvcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDA
YbtbsFe50GgBrI8QTih5yzxxxvCfdubGrLWmovwwCCFthno3u8lS54ekOL9jQu
JTJsocJfNhZxvnXifDsCk5Muwx87Z/D0BYLw9ZhM8TMyA2MCkXgC6RfKT69IdJ
jT3X+3D0s+apr3lACsDhgOfaeQfeHAm1SSwH/VemaJqdImGkQMtM8uscMDwG6k
vBbCSNS+hh6ZH1m3tAkcKXqvj/E1hbrHNTWr+uiYFRByUzeo1I607daQD4Lxid
il4Ng3hr3LC1gEzvobWgVyhQ2ovYB57T886H7dGghTnOUxLm2y/TwmQya+44SL
JSsDwauArMF38cRKZZ7VAgMBAAEwDQYJKoZIhvcNAQELBQADEBAHwwu+gOn8Tq
jKOYBTXtOX11HPMTxmyvZ/I57R4roE7Z/lXg/DXwbiFpFG2uamXNKq7yTDJH2i
iiqdERZOGfv7TJMjRlxEnfVHoCV7UKguKq4zeeAEU2x55yFwpWNrarx0kMXRwI
v3WgGfo2bimFQrCjDCNIkDKmYYt4SXIF5zUJmBWPCaK9aJoQb7ARXQO9s2zoOI
XZ5bCUDbehQZ+6LyqC0hgDXiIZYy7R0j93yCbQgoHaHUMEprJEEjE24SHdsWBO
nxGZxB20JLq5AHTm8lbZp7XtvbU0jVpxyrBo2/olFnmpvBVOq9eIp042IVD7nT
J4rPejdK6C4=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: e88ec9d5da17cd88ca338d532b7c7a8c4f43ddd3da139d95955ab345af30352d
  secret: d7f64854eb6889d06b809dd7c161dba5eeba4a2657277fd819921bf992221a8f

edgemicro configuration complete!
    
敬上

Apigee Private Cloud 設定步驟

請按照下列步驟搭配使用 Edge Microgateway 與 Apigee Private Cloud:

  1. 列印 edgemicro Private 的說明資訊 設定 指令。您可以透過這種方式列印任何 Edge Microgateway CLI 指令或指令選項
    edgemicro private configure -h
  2. 執行下列指令。須提供 Apigee Edge 的標準資訊 私人雲端帳戶:機構名稱、環境名稱、使用者名稱 (電子郵件地址)、密碼 管理伺服器 IP 和路由器 IP您必須是 Edge 機構管理員,才能使用這項功能 指令:
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]

    在此情況下:

    • org 是您的 Edge 機構名稱 (須為 機構組織管理員)。
    • env 是貴機構的環境 (例如測試或 prod)。
    • runtime_url 是私人的執行階段網址 Cloud 執行個體
    • mgmt_url 是其管理伺服器的網址 私人雲端執行個體
    • username 是與您帳戶相關聯的電子郵件地址 Apigee 帳戶。
    • virtual_host 是以逗號分隔的虛擬主機清單 。預設值為 default,secure

範例

edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.52.106:9001 -m http://192.162.52.106:8080 -v default

或者,如果您有 myorg-test.mycompany.com 的虛擬主機別名,則 請使用類似以下的指令:

edgemicro private configure -o docs -e test -u jdoe@example.com -r myorg-test.mycompany.com -m http://192.162.52.106:8080 -v default

輸出內容

delete cache config
checking for previously deployed proxies
configuring edgemicro internal proxy
deploying edgemicro internal proxy
deploying  edgemicro-auth  app
copy auth app into tmp dir
copy config into tmp deer
Give me a minute or two... this can take a while...
App edgemicro-auth added to your org. Now adding resources.

checking org for existing vault creating vault adding private_key adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: /Users/ApigeeCorporation/.edgemicro/jdoe-test-config.yaml 
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o 
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0= 
-----END CERTIFICATE----- 

The following credentials are required to start edge micro 
   key: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4dd09389b645147151ba3 
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac30ace944c097a726a1263

edgemicro configuration complete!
    
敬上

驗證安裝

執行下列指令,驗證安裝作業。如果沒有回報錯誤,表示設定完畢 才能順利啟動 Edge Microgateway。

edgemicro verify -o [org] -e [env] -k [key] -s [secret]

在此情況下:

  • org 是您的 Edge 機構名稱 (您必須是機構) 管理員)。
  • env 是貴機構的環境 (例如測試或 prod)。
  • key 是該項設定先前傳回的鍵 指令
  • secret 是該項設定先前傳回的鍵 指令

範例

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f664ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0556d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

關於設定

到目前為止完成的所有設定都允許 Edge Microgateway 自行啟動到 Apigee 邊緣開機程序成功後,Edge Microgateway 還會擷取 即可從 Apigee Edge 擷取設定資訊

這項設定資訊的用途為何?這堂課程的後續部分會再說明 教學課程中,Edge Microgateway 啟動時必須接收特殊 Edge 清單 來自 Apigee Edge 的 Microgateway-aware API Proxy。在本教學課程的下一部分中 建立 Microgateway 感知 ProxyEdge Microgateway 將用戶端限制為只能呼叫 API 這些 Microgateway 感知 API Proxy 前方,而且用戶端 (根據預設) 必須 但必須為每次呼叫提供有效的安全性權杖。如要進一步瞭解這些 Proxy,請參閱 想瞭解 Edge Microgateway 感知 Proxy,請參閱 Edge 總覽 Microgateway

身為 Edge 機構管理員,您一定想知道 Edge Microgateway 感知的 Proxy 新增至 Edge 產品的方法 就像任何其他 Proxy 一樣透過使用產品和開發人員 應用程式產生用戶端專屬安全性權杖,用於控管透過以下方式呼叫的 API 存取權: Edge Microgateway。再次提醒您,過程中涉及的模式與任何 API Proxy 相同 和開發人員應用程式如想參閱產品簡介 在 Edge 中,什麼是 API 產品? 說明文件。

接著,我們會逐步說明如何建立 Edge Microgateway 感知 Proxy,之後則會在 啟動 Edge Microgateway 並測試設定。

第 2 部分:建立實體 在 Apigee Edge 上

在這個部分,您會在 Edge 中建立這些實體:

  • 微閘道感知 Proxy - 這是特殊的 Edge Microgateway 在啟動時可發現的 Proxy 伺服器。微型閘道感知 Proxy 您必須遵循的命名慣例:名稱必須 只在 edgemicro_。適用對象 例如 edgemicro_helloedgemicro_userinfo。 Edge Microgateway 啟動時,會從 Edge 的微閘道感知 Proxy 清單中擷取 與您啟動 Edge 時指定的相同 Edge 機構和環境 Microgateway。

    對於每個微門感知 Proxy,Edge Microgatway 會擷取 Proxy 的目標網址, 基本路徑也能透過微型閘道感知 Proxy 輕鬆與數據分析建立關聯 資料。做為微門 會處理 API 呼叫,並以非同步的方式將數據分析資料推送至 Edge。Analytics 資料隨即顯示 (位於 Edge Analytics UI 中,顯微閘道感知 Proxy 名稱下方) Proxy 上。
  • 產品、開發人員和開發人員應用程式 - Edge Microgateway 使用 產品、開發人員和開發人員應用程式,啟用 OAuth2 存取權杖或 API 金鑰安全性。 Edge Microgateway 啟動時,會從您的 Apigee 下載所有產品設定 Edge 機構。系統會使用這項資訊來驗證透過 Edge Microgateway 發出的 API 呼叫 驗證憑證

瞭解詳情:另請參閱「Edge Microgateway 感知功能」 Proxy」在 Edge 總覽 Microgateway

1. 創作 Edge 上的 Edge Microgateway 感知 API Proxy

,瞭解如何調查及移除這項存取權。
  1. 在 Apigee Edge 上登入您的貴機構。
  2. 按一下「切換為傳統版 UI」,前往 Edge 傳統版 UI。
  3. 選取「API」>API Proxy
  4. 在「API Proxy」頁面中,按一下「+ API Proxy」
  5. 在「Build a Proxy」精靈中,選取「Reverse proxy (mcommon)」
  6. 點選「下一步」。
  7. 在精靈的「詳細資料」頁面中,設定如下。請務必填寫精靈中 完全相同:
    • Proxy 名稱:edgemicro_hello
    • Proxy 基本路徑:/hello
    • 現有 API:http://mocktarget.apigee.net/
  8. 點選「下一步」。
  9. 在精靈的「安全性」頁面中,選取「通過 (無)」
  10. 點選「下一步」。
  11. 在精靈的「虛擬主機」頁面中接受預設值。
  12. 點選「下一步」。
  13. 在精靈的「Build」頁面中,檢查 Proxy 設定。請確認 已選取 test 環境。
  14. 按一下「Build and Deploy」(建構及部署)

2. 建立產品

建立包含兩個 Proxy 的產品:

  • 您的微閘道感知 Proxy:edgemicro_hello
  • 由 Edge 安裝的驗證 Proxy Microgateway:edgemicro-auth
  1. 在 Edge UI (傳統版本) 中,依序前往「發布」>「發布」產品
  2. 在「產品」頁面中,按一下「+ 產品」。填寫產品詳細資料 如下所示:
    • 名稱:EdgeMicroTestProduct
    • 顯示名稱:EdgeMicroTestProduct
    • 環境:Test 和 prod
    • 存取權:公開
    • 金鑰核准類型:自動
    • 資源:
      • API Proxy:選取「edgemicro_hello」
      • 修訂版本:1
      • 資源路徑: /**
  3. 按一下「匯入資源」
  4. 在「資源」中,按一下「+API Proxy」
  5. 選取「edgemicro-auth」edgemicro-auth
  6. 按一下 [儲存]

3. (選用) 建立 測試開發人員

為了方便進行本教學課程,您可以在下一個步驟中,使用現有的任何開發人員。 建立開發人員應用程式但您可以現在建立測試用的開發人員:

  1. 前往「發布」>「發布」開發人員
  2. 在「產品」頁面中,按一下「+ 開發人員」
  3. 填寫對話方塊來建立測試開發人員。

4. 建立開發人員應用程式

您將會使用這個應用程式的用戶端憑證,透過以下方式發出安全的 API 呼叫: Edge Microgateway:

  1. 前往「發布」>「發布」開發人員應用程式
  2. 在「開發人員應用程式」頁面中,按一下「+ 開發人員應用程式」
  3. 按照下方指示填寫開發人員應用程式頁面:
    1. 名稱:EdgeMicroTestApp
    2. 「Display Name」:EdgeMicroTestApp
    3. 開發人員:如果您建立了測試開發人員,請選取該開發人員。或者,您 但可以使用任何現有的開發人員進行本教學課程。
    4. 憑證:
      1. 選取到期日:「永不」。
      2. 依序點按「+ 產品」和 選取 EdgeMicroTestProduct (您剛才使用的產品) 建立完成)
  4. 按一下 [儲存]
  5. 您已返回開發人員應用程式清單頁面。
  6. 選取剛剛建立的應用程式「EdgeMicroTestApp」。EdgeMicroTestApp
  7. 按一下「消費者」旁邊的「顯示」 金鑰和用戶端密鑰

第 3 部分:操作 Edge Microgateway

您設定了 Edge Microgateway 並且至少具備一個 Edge Microgateway 感知功能 現在可以啟動 Edge Microgateway 上的 Proxy。系統會執行 Edge Microgateway HTTP 伺服器 就能直接對該伺服器發出 API 呼叫

1. 啟動 Edge Microgateway

使用 edgemicro start 指令啟動 Edge Microgateway。

  1. 請確認執行時會傳回先前傳回的鍵 edgemicro configuration 指令輸出的內容 :
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828ac9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e87189921ad00e6fc1ba8a8ae9f929ee2
  2. (選用) 列印 edgemicro start 指令的說明資訊。
    edgemicro start -h
  3. 如要啟動 Edge Microgateway,請執行下列指令:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    在此情況下:

    • org 是您的 Edge 機構名稱 (須為 機構組織管理員)。
    • env 是貴機構的環境 (例如測試或 prod)。
    • key 是該項設定先前傳回的鍵 指令
    • secret 是模型先前傳回的鍵 設定指令

    範例

    edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824

    輸出內容

    啟動指令會從 Apigee Edge 擷取許多設定資訊 ( 捲動至終端機視窗)。輸出內容中有微門感知能力的清單 先前發現的 Proxy 和產品在輸出的結尾,您會看到 輸入:

    ...
    
    PROCESS PID : 9757
    installed plugin from analytics
    installed plugin from oauth
    eb725020-a2b0-11e6-8a52-6de156e3a6e2 edge micro listening on port 8000
    installed plugin from analytics
    installed plugin from oauth
    installed plugin from analytics
    installed plugin from oauth
    installed plugin from analytics
    installed plugin from oauth
    eb77ce60-a2b0-11e6-8a88-b96278c0c198 edge micro listening on port 8000
    eb78b8c0-a2b0-11e6-bf36-717b986c91fe edge micro listening on port 8000
    eb77f570-a2b0-11e6-883e-472b9104351e edge micro listening on port 8000

為什麼會這樣?

請查看您執行 edgemicro config 指令的終端機。 向上捲動標準輸出內容,就會看到該指令擷取 來自 Apigee Edge 的 Edge Microgateway 設定資訊。這類資訊包括:

  • 我們先前在 Apigee 保管箱中建立及儲存的公開金鑰。
  • JSON 表示法中存在的所有 Edge Microgateway 感知 Proxy 機構/環境這些是所有以 前置字元為 edgemicro_
  • JSON 表示法中 機構/環境

透過這項資訊,Edge Microgateway 就能知道哪些 Proxy 和 Proxy 路徑允許 上傳資料集之後,您可以運用 AutoML 自動完成部分資料準備工作使用產品資訊來強制執行安全性,做法與使用 API 完全相同 Proxy 會在 Apigee Edge 上執行,其中開發人員應用程式金鑰會與產品建立關聯)。我們決定 很快就會開始逐步保護 Edge Microgateway

2. 測試 Edge Microgateway

執行 Edge Microgateway 後,您就可以呼叫 Proxy。訓練資料中 啟動時,系統會從 Edge 下載 edgemicro_hello Proxy Edge Microgateway。請注意,Proxy 基本路徑是 /hello

如要測試 Edge Microgateway,我們先從基本路徑開始,然後新增資源 路徑 /echo。請注意,基本路徑之後的所有內容 (包括任何查詢) 參數) 會直接傳遞至後端目標:

curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}

這個錯誤發生原因是您並未透過要求傳送有效的 API 金鑰或存取權杖。變更者: 根據預設,Edge Microgateway 在每個 API 呼叫中都需要 API 金鑰或存取權杖。於 在教學課程的下一個步驟中,我們會妥善保護這個 API,並示範如何取得有效的 並在要求中附上該權杖

4. 停止 Edge Microgateway

  1. 在另外的終端機視窗中,將 cd 設為 相同 目錄
  2. 輸入停止指令:
    edgemicro stop
,瞭解如何調查及移除這項存取權。

第 4 部分:安全邊緣 微型閘道

您可以使用 API 金鑰或存取權,保護透過 Edge Microgateway 發出的 API 呼叫安全 產生下一個符記

確保 API 呼叫的安全性 OAuth2 存取權杖

如要使用 OAuth2 存取權杖驗證 API 呼叫,請按照下列步驟操作:

1. 取得必要金鑰

  1. 在 Edge UI 中,前往您之前建立的「開發人員應用程式」,如所述 第 2 部分:在 Apigee Edge 中建立實體。應用程式名稱是 EdgeMicroTestApp。
  2. 在「開發人員應用程式」頁面中顯示「用戶端金鑰」和「用戶端密鑰」,並複製 具體做法是指示 Kubernetes 建立並維護 一或多個代表這些 Pod 的物件必須提供這些值,才能在接下來 。

2. 取得存取權杖

取得存取權杖的方式有兩種。以下將介紹這兩種方法。

使用 CLI 取得存取權杖

第一種方法很方便,而且遵照我們使用的模式 會在整個教學課程中停止顯示第二種方法通常更實用 適合需要要求權杖的用戶端應用程式開發人員實際權杖端點的 設定 Edge 時部署的 edgemicro-auth Proxy Microgateway。

  1. (選用) 查看 token get 指令的說明:
    edgemicro token get -h
  2. 產生憑證,將 您在 Apigee Edge 中建立的開發人員應用程式 -i-s 參數:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]

    在此情況下:

    • org 是您的 Edge 機構名稱 (須為 機構組織管理員)。
    • env 是貴機構的環境 (例如測試或 prod)。
    • consumer_id 是開發人員應用程式中的消費者 ID 先前建立的帳戶
    • consumer_secret 是 您先前建立的開發人員應用程式。

    範例

    edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy

    輸出內容 (範例)

    current nodejs version is v4.4.4
    { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl
    vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI
    iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA
    iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIkVkZ2VNaWNyb1Rlc
    3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ.
    v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM
    nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4
    QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te
    E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax
    NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t
    -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }

(選用) 使用 API 取得權杖

如果您習慣透過 curl 或其他 HTTP 用戶端呼叫 Edge Proxy,您可能會有興趣 才知道自己可以直接呼叫憑證端點,而非使用 edgemicro 符記指令。以下是 curl 範例。直接更換 您的機構和環境名稱,然後傳送以半形冒號分隔的「Consumer Key:Consumer」 「基本驗證」標頭中的密鑰值:

curl -i -X POST --user [client_id]:[client_secret] "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{"grant_type": "client_credentials"}' -H "Content-Type: application/json"

在此情況下:

  • org 是您的 Edge 機構名稱 (您必須是機構) 管理員)。
  • env 是貴機構的環境 (例如測試或 prod)。
  • client_id 是您開發人員應用程式中的消費者 ID
  • client_secret 是開發人員中的用戶端密鑰 您先前建立的應用程式。

輸出內容 (範例)

這個指令:無論您使用 edgemicro 權杖 CLI 指令或 系統會透過 curl 傳回已簽署的存取權杖,可用於建立用戶端 呼叫。如下所示:

MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o 
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0=
      

3. 檢查 Edge Microgateway 中的設定

  1. 開啟檔案 ~/.edgemicro/org-env-config.yaml. 另請參閱「Edge 的位置」 微型閘道已安裝」於 安裝 Edge Microgateway
  2. 確認這些 OAuth 外掛程式屬性已設為 false。這些是 預設為 false,但建議您再次確認:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. 此外,在 org-env-config.yaml 檔案中,請確認 OAuth 外掛程式 新增至 plugins:sequence 元素,如下所示:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
  4. 如果您對檔案進行變更,請將變更重新載入到 執行 Edge Microgateway 執行個體這個指令會使用以下程式碼來重新設定 Edge Microgateway 完全不需要停機:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    在此情況下:

    • org 是您的 Edge 機構名稱 (須為 機構組織管理員)。
    • env 是貴機構的環境 (例如測試或 prod)。
    • key 是該項設定先前傳回的鍵 指令
    • secret 是模型先前傳回的鍵 設定指令

    範例

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d

4. 安全地呼叫 API

有了存取權杖,您現在可以安全地發出 API 呼叫。例如:

  curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl
9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM
VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh
eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PN30Y6uK1W1f2ONPEsBDB_BT31c6
IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO
s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx
4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0
64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo

API 會傳回模擬伺服器中的標頭和其他資訊。

保護 API 使用 API 金鑰

如果您想使用 API 金鑰進行授權,請按照下列步驟操作:

1. 取得 API 金鑰

  1. 在 Edge UI 中,前往您之前建立的「開發人員應用程式」,如所述 第 2 部分:在 Apigee Edge 中建立實體。應用程式名稱是 EdgeMicroTestApp。
  2. 在「開發人員應用程式」頁面中顯示並複製用戶端金鑰。這個值 並擷取 API 金鑰您將使用這組金鑰進行驗證 API 呼叫。

2. 檢查 Edge Microgateway 中的設定

  1. 開啟檔案 ~/.edgemicro/org-env-config.yaml. 另請參閱「Edge 的位置」 微型閘道已安裝」於 安裝 Edge Microgateway
  2. 確認這些 OAuth 外掛程式屬性已設為 false。這些是 預設為 false,但建議您再次確認:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. 此外,在 org-env-config.yaml 檔案中,請確認 OAuth 外掛程式 新增至 plugins:sequence 元素,如下所示:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
  4. 如果您對檔案進行變更,請將變更重新載入到 執行 Edge Microgateway 執行個體這個指令會使用以下程式碼來重新設定 Edge Microgateway 完全不需要停機:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    在此情況下:

    • org 是您的 Edge 機構名稱 (須為 機構組織管理員)。
    • env 是貴機構的環境 (例如測試或 prod)。
    • key 是該項設定先前傳回的鍵 指令
    • secret 是模型先前傳回的鍵 設定指令

    範例

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d

3. 使用 API 金鑰安全呼叫 API

使用 x-api-key 標頭呼叫 API,如下所示。用戶端金鑰 您從開發人員應用程式複製的值即為 API 金鑰。根據預設,Edge Microgateway 預計 以便透過名為 x-api-key 的標頭傳遞金鑰,如下所示:

curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"

在此情況下:

  • apikey即為用戶端金鑰值 EdgeMicroTestApp。

例如:


curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxa0ilYQ5szwuljr5bB'

現在您已擁有功能完善且安全的 Edge Microgateway。在下一個部分 教學課程,我們會介紹可為 Edge Microgateway 新增功能的外掛程式。

第 5 部分:加入尖峰挑戰 外掛程式

在這階段,我們會在您的 Edge 執行個體中新增頻率限制功能,稱為「峰值逮捕」功能 Microgateway。

什麼是外掛程式?

外掛程式是一種 Node.js 模組,可為 Edge Microgateway 新增功能。外掛程式模組 遵循一致模式,且儲存在 Edge Microgateway 上的已知位置,使 即可自動探索並載入微型閘道。如要進一步瞭解外掛程式,請參閱 使用外掛程式

新增流量高峰 外掛程式

峰值摔角可抵禦流量暴增。可針對 Edge Microgateway 執行個體

在 Edge Microgateway 中,尖峰流量可作為外掛程式模組實作。如要啟用這個模式,您必須準備以下 將其新增至 Edge Microgateway 設定檔。

  1. 開啟檔案 ~/.edgemicro/org-env-config.yaml. 另請參閱「Edge 的位置」 微型閘道已安裝」於 安裝 Edge Microgateway
  2. 新增下列元素。您可以將該檔案新增至檔案中的任何位置,
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
  3. spikearrest新增至 edgemicro:sequence 元素,如下所示。序列 設定屬性會向 Edge Microgateway 指出外掛程式模組的執行順序 執行狀態
    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
      sequence:
        - spikearrest
        - oauth 
  4. 儲存設定檔。
  5. 使用以下命令重新載入 Edge Microgateway reload 指令。您必須在 找出啟動 Edge Microgateway 的目錄
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    在此情況下:

    • org 是您的 Edge 機構名稱 (須為 機構組織管理員)。
    • env 是貴機構的環境 (例如測試或 prod)。
    • key 是該項設定先前傳回的鍵 指令
    • secret 是模型先前傳回的鍵 設定指令

    範例

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
  6. 嘗試快速連續呼叫 API 數次。第二次呼叫後,Edge Microgateway 傳回這個錯誤:
    {"message":"SpikeArrest engaged","status":503}

之所以會這樣,是因為接聽程式來電 指定時間單位。因此,您可以每分鐘撥打 10 次或每 6 次呼叫 秒內請求驗證碼。

如需瞭解更多資訊,請參閱「尖峰攻擊是如何辦到的?」使用外掛程式一節。

額外課程內容:新增 配額外掛程式

您可以按照設定尖峰流量的模式,新增其他外掛程式,例如 配額外掛程式。與尖峰流量一樣,每個 Edge Microgateway 都附有配額外掛程式 安裝。配額會指定應用程式可提交的要求訊息數量 在指定時間間隔 (分鐘或小時) 內對 API 執行要求。

如要瞭解配額的運作方式,請參閱「使用配額外掛程式」「使用外掛程式」一節。

第 6 部分:檢視 Apigee Edge 的數據分析

我們現在已有功能完整的 Edge Microgateway 執行個體,讓我們來看看它的功能! 根據預設,數據分析外掛程式模組會新增至 Edge Micro。這個模組會在不通知使用者的情況下推送 從 Edge Micro 到 Apigee 邊緣的分析資料,Edge Analytics 系統會使用這些資料。 具體範例如下:

  1. 在 Apigee Edge 上登入您的貴機構。
  2. 選取「Analytics」>「Proxy 效能
  3. 在 Proxy 效能資訊主頁中,選取 edgemicro_hello Proxy
  4. 圖表會顯示 Proxy 流量模式的相關資訊,例如 包括流量、平均回覆時間、平均目標回應時間等等

如要進一步瞭解 Edge Analytics 資訊主頁,請前往 Analytics 資訊主頁首頁,網址為: Edge 說明文件。如要進一步瞭解外掛程式,請參閱使用外掛程式