查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
Edge Microgateway 3.1.x 版
總覽
完成此設定指南中的步驟後,即可擁有設定完畢且可使用的 Edge 可處理 API 要求的 Microgateway 安裝功能。測試設定 透過 Edge Microgateway 回應到後端目標,確保 API 呼叫的安全性。您也會瞭解如何新增 Microgateway 上的尖峰式逮捕外掛程式
本指南分為以下幾個部分:
- 事前準備: 安裝 Edge 微型閘道
- 第 1 部分: 設定 Edge Microgateway
- 第 2 部分: 在 Apigee Edge 中建立實體
- 第 3 部分: 作業邊緣 微型閘道
- 第 4 部分: 安全邊緣微閘道
- 第 5 部分: 新增 Spike Arrest 外掛程式
- 第 6 部分: 查看 Apigee Edge 上的數據分析資料
事前準備:安裝 Edge Microgateway
按照安裝 Edge 中的操作說明 Microgateway。完成安裝後, 教學課程。
第 1 部分:設定 Edge 微型閘道
在這個部分,您將使用指令列介面 (CLI) 指令設定 Edge Microgateway 到 與 Apigee Edge 通訊
- 如果您使用的是 Apigee Edge Cloud,請按 Apigee Edge Cloud 設定步驟。
- 如果您使用的是 Apigee Private Cloud,請按 Apigee Edge 私有雲的步驟。
Apigee Edge Cloud 設定步驟
請按照下列步驟搭配使用 Edge Microgateway 與 Apigee Edge Cloud:
- 初始化 Edge Microgateway (您只需執行這個步驟一次):
edgemicro init
- 名為「
default.yaml
」的設定檔已新增至你的住家 位於名為.edgemicro
的子目錄中。立即檢查以確保這個檔案 已存在:ls ~/.edgemicro default.yaml
注意: 在 Edge Microgateway 文件中,我們指的是主目錄 透過波浪號 (
~
),這是 UNIX 快速鍵。如果您使用 Windows,並 執行不支援波浪號的殼層,您需要替換適當的 環境變數。適用對象 範例:%USERPROFILE%/.edgemicro
。 - 所有 CLI 指令都有說明函式。列印 edgemicro 的說明
設定指令:
edgemicro configure -h
- 執行下列指令來設定 Edge Microgateway:
edgemicro configure -o [org] -e [env] -u [username]
在此情況下:
org:
您的 Edge 機構名稱 (必須是機構) 管理員)。env:
貴機構的環境 (例如測試或 prod)。username:
與以下項目相關聯的電子郵件地址: Apigee 帳戶。
注意:設定指令允許其他參數。如需完整的 清單,請參閱為 Apigee Edge Cloud 設定 Edge Microgateway。
範例
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 v12.5.0 current edgemicro version is 3.1.0 password: file doesn't exist, setting up Give me a minute or two... this can take a while... App edgemicro-auth deployed. checking org for existing KVM error checking for cert. Installing new cert. creating KVM 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/docs-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQCQ2mJZJGbPPTANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls b2NhbGhvc3QwHhcNMTcwOTA3MjA0ODA4WhcNMTcwOTA4MjA0ODA4WjAUMRIwEAYD VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDw yzmqi5CelqqtTr6IaFe1ssrMXEDnNtkBh95U6F5zHLsNQhJcyNUAO9um6FLMSqSd fTztXfWUZzDgmbb6sfbx/9cqpvQ8TIjxyIz8xGM9H4legRQmsCQoYGkLjpPE5ZOa wZrI5IaVm8LY6vbopPFwxgKOQ9bphx6k9Na055DmNyZAOTMD+4I0m/RdsrnZnYih 3DaFj1tXHKZI1jfAt/QOif5Nmk4+JckYwF+9HBysWUbbvj/gnBjVYF2Isb7q7oFD lPGhwFoIebMqHMWD8lG7+9RJDO9dDV6f1g1/9waIrq1D+MoVXos9VMstNrPp0cKF Ue+lAkct8tylH+2MosF7AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAJMRdcQh3ayy csVVT4TYwxV7MKWRfhDRz6X+MM9frB+Z7sI4+ZoZbXKOoZI2hSjmbdLpkNR/m9eJ +1Uk0JKmpSY7Q+1rRrvcHsWNysGf4z+zDJXYECTrtSnXKBXtb9SJ8JAfoZOQD0lA zmKuJjQMLTdiYMHOBR6ZWnaKaRvrQwGHcQrheJm4a90XgZF6jcRR8CPrBzkmsbCp IU/Ux3E17wDGYPxjJs5otyQG8rN/88RGyaSeXK8rjKr9D4KFGJeasXBKmTG2afAr yfBvS4h6s42FCOR/eLpmMllVoO9up71Fa3EtV+aK+FNNY9uMbgUHeLQE7z9nn06q PTmvExZLkLQ= -----END CERTIFICATE----- The following credentials are required to start edge micro key: 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb secret: 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47
Apigee Private Cloud 設定步驟
請按照下列步驟搭配使用 Edge Microgateway 與 Apigee Private Cloud:
- 初始化 Edge Microgateway (您只需執行這個步驟一次):
edgemicro init
- 列印 edgemicro private configuration 指令的說明資訊。個人中心
可以使用此方法列印任何 Edge Microgateway CLI 指令或指令選項。
edgemicro private configure -h
- 執行下列指令。須提供 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
是私有雲的執行階段網址 執行個體。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 KVM error checking for cert. Installing new cert. creating KVM adding private_key adding public_key configuring host http://192.168.52.106:9001 for region dc-1 saving configuration information to: $HOME/.edgemicro/jdoe-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWsKWBDP9o 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: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4ad09389b645147151ba3 secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac10ace944c097a726a1263 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 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c
關於設定
到目前為止完成的所有設定都允許 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_hello
或edgemicro_userinfo
。Edge Microgateway 啟動時,會擷取 來源為來自同一 Edge 機構和環境的微型閘道感知 Proxy 清單 您在啟動 Edge Microgateway 時指定的 IP 位址
對於每個微閘道感知 Proxy,Edge Microgateway 都會擷取 Proxy 的目標網址, 基本路徑也能透過微型閘道感知 Proxy 輕鬆與數據分析建立關聯 資料。做為微門 會處理 API 呼叫,並以非同步的方式將數據分析資料推送至 Edge。Analytics 資料隨即顯示 (位於 Edge Analytics UI 中,顯微閘道感知 Proxy 名稱下方) Proxy 上。
- 產品、開發人員和開發人員應用程式 - Edge Microgateway 使用了多項產品 開發人員和開發人員應用程式,啟用 OAuth2 存取權杖或 API 金鑰安全性。執行邊緣時 Microgateway 啟動後,就會從 Apigee Edge 下載所有產品設定 並根據貴機構的使命 價值觀和目標進行調整系統會使用這項資訊,驗證透過 Edge Microgateway 上進行的 API 呼叫 API 金鑰或 OAuth2 存取權杖。
1. 創作 Edge 上的 Edge Microgateway 感知 API Proxy
- 在 Apigee Edge 上登入您的貴機構。
- 依序選取「開發」>「開發」側邊導覽選單中的「API Proxy」
- 按一下「+ Proxy」。叫用「Build a Proxy」精靈。
- 在第一個精靈頁面中,選取「反向 Proxy (最常見)」。
- 點選「下一步」。
- 在精靈的「詳細資料」頁面中,設定如下。請務必填寫精靈中
完全相同:
- Proxy 名稱:edgemicro_hello
- Proxy 基本路徑:/hello
- 現有 API:http://mocktarget.apigee.net/
- 點選「下一步」。
- 在精靈的「安全性」頁面中,選取「通過 (無)」。
- 點選「下一步」。
- 在精靈的「虛擬主機」頁面中接受預設值。
- 點選「下一步」。
- 在精靈的「Build」頁面中,檢查 Proxy 設定。請確認 已選取 test 環境。
- 按一下「Build and Deploy」(建構及部署)。
2. 建立產品
- 選取「發布」>「發布」API 產品。
- 按一下「+ API 產品」。「產品詳細資料」頁面隨即顯示。
- 按照下方所示填寫「產品詳細資料」頁面:
- 名稱:EdgeMicroTestProduct
- 顯示名稱:EdgeMicroTestProduct
- 環境:Test 和 prod
- 存取權:公開
- 金鑰核准類型:自動
- 在「資源」中,按一下「+API Proxy」。
- 選取「edgemicro-auth」edgemicro-auth
- 再次按一下「+API Proxy」。
- 選取「edgemicro_hello」
- 選取「+ 自訂資源」
- 輸入 /**
- 再次選取「+ 自訂資源」。
- 輸入 /
- 按一下 [儲存]。
3. (選用) 建立 測試開發人員
為了方便進行本教學課程,您可以在下一個步驟中,使用現有的任何開發人員。 建立開發人員應用程式但您可以現在建立測試用的開發人員:
- 選取「發布」>「發布」開發人員。
- 按一下「+ 開發人員」。
- 填寫對話方塊來建立測試開發人員。
4. 建立開發人員應用程式
您將會使用這個應用程式的用戶端憑證,透過以下方式發出安全的 API 呼叫: Edge Microgateway:
- 選取「發布」>「發布」應用程式。
- 按一下「+ 應用程式」。「開發人員應用程式詳細資料」頁面隨即顯示。
- 按照下方指示填寫開發人員應用程式頁面:
- 名稱:EdgeMicroTestApp
- 「Display Name」:EdgeMicroTestApp
- 開發人員:如果您建立了測試開發人員,請選取該開發人員。或者,您也可以使用 但任何現有的開發人員。
-
憑證:
- 選取到期日:「永不」。
- 點選「+ 產品」,然後選取「EdgeMicroTestProduct」 (您剛建立的產品)
- 按一下 [儲存]。
- 您會回到「應用程式清單」頁面。
- 選取剛剛建立的應用程式「EdgeMicroTestApp」。EdgeMicroTestApp
- 按一下用戶端金鑰和消費者金鑰旁邊的顯示 Secret。
第 3 部分:操作 Edge Microgateway
您設定了 Edge Microgateway 並且至少具備一個 Edge Microgateway 感知功能 現在可以啟動 Edge Microgateway 上的 Proxy。系統會執行 Edge Microgateway HTTP 伺服器 就能直接對該伺服器發出 API 呼叫
1. 啟動 Edge Microgateway
使用 edgemicro start 指令啟動 Edge Microgateway。
- 請確認您在執行 edgemicro 時,擁有先前傳回的鍵
設定 指令。輸出的內容如下所示:
You need key and secret while starting edgemicro instance key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
- (選用) 列印
edgemicro start
指令的說明資訊。
edgemicro start -h
- 如要啟動 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 和產品在輸出的結尾,您會看到 輸入:
... current nodejs version is v12.5.0 current edgemicro version is 3.1.0 info: jwk_public_keys download from null returned 200 undefined info: jwt_public_key download from https://docs-test.apigee.net/edgemicro-auth/publicKey returned 200 OK info: products download from https://docs-test.apigee.net/edgemicro-auth/products returned 200 OK info: config download from https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test returned 200 OK PROCESS PID : 17991
- 查看微型閘道狀態。在另一個終端機視窗中,cd 到含有
您已啟動 Edge Micro,然後輸入下列指令:
edgemicro status current nodejs version is v12.5.0 current edgemicro version is 3.1.0 edgemicro is running with 8 workers
為什麼會這樣?
Edge 酬載 系統會從 Apigee Edge 下載 Microgateway 設定資訊,再在本機快取。這類資訊包括:
- 我們先前建立並儲存在加密鍵/值對應 (KVM) 中的公開金鑰。
- 表示 Pod 中存在的所有 Edge Microgateway 感知 Proxy 機構/環境這些都是使用前置字串命名的 Proxy edgemicro_:
- 代表 Pod 中現有的所有 API 產品 機構/環境
透過這項資訊,Edge Microgateway 就能知道哪些 Proxy 和 Proxy 路徑允許 上傳資料集之後,您可以運用 AutoML 自動完成部分資料準備工作使用產品資訊來強制執行安全性,做法與使用 API 完全相同 Proxy 會在 Apigee Edge 上執行,其中開發人員應用程式金鑰會與產品建立關聯)。我們決定 很快就會開始逐步保護 Edge Microgateway
2. 測試 Edge Microgateway
執行 Edge Microgateway 後,您就可以呼叫 Proxy。映像檔的設定 在您啟動 Edge 時,已從 Edge 下載 edgemicro_hello Proxy 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
- 在另外的終端機視窗中,將
cd
設為同一目錄,其中 開始使用 Edge Microgateway - 輸入停止指令:
edgemicro stop
第 4 部分:安全邊緣 微型閘道
您可以使用 API 金鑰或存取權,保護透過 Edge Microgateway 發出的 API 呼叫安全 產生下一個符記
以 OAuth2 存取權杖確保 API 呼叫安全無虞
如要使用 OAuth2 存取權杖驗證 API 呼叫,請按照下列步驟操作:
1. 取得必要金鑰
- 在 Edge UI 中,前往您先前建立的開發人員應用程式。應用程式名稱 是 EdgeMicroTestApp
- 在「開發人員應用程式」頁面上顯示並複製「用戶端金鑰」和「用戶端密鑰」。 必須提供這些值,才能在下一個步驟中取得存取權杖。
2. 取得存取權杖
取得存取權杖的方式有兩種。以下將介紹這兩種方法。
使用 CLI 取得存取權杖
第一種方法很方便,而且遵循我們常用的模式 相關教學課程一般來說,第二種方法對用戶端應用程式來說更實用 開發人員會收到要求憑證實際權杖端點會 在設定 Edge 時部署的 edgemicro-auth Proxy Microgateway。
- (選用) 查看 token get 指令的說明:
edgemicro token get -h
- 產生憑證,將
您在 Apigee Edge 中建立的開發人員應用程式 -i 和 -s
參數:
edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
在此情況下:
org
是您的 Edge 機構名稱 (您必須是機構) 管理員)。env
是貴機構的環境 (例如測試或 prod)。consumer_id
是您開發人員應用程式中的消費者 IDconsumer_secret
是開發人員中的用戶端密鑰 您先前建立的應用程式。
範例
edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
輸出內容 (範例)
current nodejs version is v12.5.0 { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIsVkZ2VNaWNyb1Rlc 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 Secret」值, 驗證標頭:
curl -i -X POST "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{ "client_id": "your consumer key", "client_secret": "your consumer secret", "grant_type": "client_credentials" }' -H "Content-Type: application/json"
在此情況下:
org
是您的 Edge 機構名稱 (您必須是機構) 管理員)。env
是貴機構的環境 (例如測試或 prod)。client_id
是您建立的開發人員應用程式中消費者 ID 像是剛才說過,即便 VM 正在運作 您還是能變更 VM 可用性政策client_secret
是您開發人員應用程式中的用戶端密鑰
輸出內容 (範例)
這個指令可讓您使用 edgemicro 權杖 CLI 指令或 端點,會傳回已簽署的存取權杖,可用來發出用戶端呼叫。 如下所示:
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFsnhB0Yvg6JKWxKWBDP9o Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik241yfBku7olooXKRKTRKOUoXa 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 中的設定
- 開啟
$HOME/.edgemicro/org-env-config.yaml
檔案。詳情請參閱 如果找不到此檔案,安裝 Edge Microgateway 在哪裡。 - 確認這些 OAuth 外掛程式屬性已設為 false。事實證明
但建議您再次確認:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- 此外,在
org-env-config.yaml
檔案中,請確認 OAuth 外掛程式為 加入plugins:sequence
元素中,如下所示:plugins: dir: ../plugins sequence: - oauth
- 如果你對檔案進行變更,請將變更重新載入至執行中
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.PL30Y6uK1W1f2ONPEsBDB_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 金鑰
- 在 Edge UI 中,前往您先前建立的開發人員應用程式。應用程式名稱 是 EdgeMicroTestApp
- 在「開發人員應用程式」頁面中顯示並複製用戶端金鑰。這是 API 。您將使用這組金鑰進行驗證 API 呼叫。
2. 檢查 Edge Microgateway 中的設定
- 開啟檔案
$HOME/.edgemicro/org-env-config.yaml.
查看位置 如果找不到這個檔案,表示已安裝 Edge Microgateway。 - 確認這些 OAuth 外掛程式屬性已設為 false。事實證明
但您可以視需要再次確認:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- 此外,在
org-env-config.yaml
檔案中,請確認 OAuth 外掛程式為 加入plugins:sequence
元素中,如下所示:plugins: dir: ../plugins sequence: - oauth
- 如果你對檔案進行變更,請將變更重新載入至執行中
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 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d
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: XsU1R4zGXz2ERxd0ilYQ5szwuljr5bB'
現在您已擁有功能完善且安全的 Edge Microgateway。在下一個部分 教學課程,我們會介紹可為 Edge Microgateway 新增功能的外掛程式。
第 5 部分:加入尖峰挑戰 外掛程式
在這階段,我們會在您的 Edge 執行個體中新增頻率限制功能,稱為「峰值逮捕」功能 Microgateway。
什麼是外掛程式?
外掛程式是一種 Node.js 模組,可為 Edge Microgateway 新增功能。外掛程式模組 遵循一致模式,且儲存在 Edge Microgateway 上的已知位置,使 即可自動探索並載入微型閘道。如要進一步瞭解外掛程式,請參閱 使用外掛程式。
新增尖峰式逮捕外掛程式
激勵人心 arrest 外掛程式可防範流量暴增。限制已處理的要求數 使用 Cloud Edge Microgateway 執行個體
在 Edge Microgateway 中,尖峰流量可作為外掛程式模組實作。如要啟用這個模式,您必須準備以下 將其新增至 Edge Microgateway 設定檔。
- 開啟檔案
$HOME/.edgemicro/org-env-config.yaml.
在哪裡 如果找不到這個檔案,表示已安裝 Edge Microgateway。 - 新增下列元素。您可以將該檔案新增至檔案中的任何位置,
spikearrest: timeUnit: minute allow: 10 buffersize: 0
- 將
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: - oauth - spikearrest
- 儲存設定檔。
- 使用 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
- 嘗試快速連續呼叫 API 數次。第二次呼叫後,Edge
Microgateway 傳回這個錯誤:
{"message":"SpikeArrest engaged","status":503}
之所以會這樣,是因為接聽程式來電 指定時間單位。因此,您可以每分鐘撥打 10 次或每 6 次呼叫 秒內請求驗證碼。
額外課程內容:新增 配額外掛程式
您可以按照設定尖峰流量的模式,新增其他外掛程式,例如 配額外掛程式。 與尖峰修復機制一樣,使用者每次安裝 Edge Microgateway 時,都會包含配額外掛程式。A 罩杯 「配額」可指定應用程式能夠透過多少要求提交 API 的要求訊息 指定時間間隔 (分或小時)。
第 6 部分:檢視 Apigee Edge 的數據分析
我們現在已有功能完整的 Edge Microgateway 執行個體,讓我們來看看它的功能! 根據預設,數據分析外掛程式模組會新增至 Edge Micro。這個模組會在不通知使用者的情況下推送 從 Edge Micro 到 Apigee 邊緣的分析資料,Edge Analytics 系統會使用這些資料。 具體範例如下:
- 在 Apigee Edge 上登入您的貴機構。
- 選取「Analytics」>「Proxy 效能。
- 在 Proxy 效能資訊主頁中,選取 edgemicro_hello Proxy。
- 圖表會顯示 Proxy 流量模式的相關資訊,例如總流量 平均回覆時間、平均目標回應時間等等。
如要進一步瞭解 Edge Analytics 資訊主頁,請前往 Analytics 資訊主頁首頁,網址為: Edge 說明文件。如要進一步瞭解外掛程式,請參閱使用外掛程式。