Edge Microgateway 的 CLI 參考資料

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

Edge Microgateway 3.3.x 版

總覽

Edge Microgateway CLI 可讓您控管 Edge Microgateway 執行個體的所有層面。

管理憑證

cert 指令可讓您安裝及管理公開/私密金鑰組,用來簽署用戶端用於簽署不記名權杖,以便透過 Edge Microgateway 進行安全呼叫。金鑰會儲存在 Apigee Edge 中,經過加密的金鑰值對應 (KVM) 中。Edge Microgateway 會使用公開金鑰來驗證已簽署的不記名權杖。這些金鑰會在您執行 Edgemicro 設定指令時產生,如設定及設定 Edge Microgateway 中所述。如有需要,您可以使用這裡所述的 cert 指令,重新產生及管理這些金鑰。

安裝憑證

將金鑰安裝到加密的金鑰值對應 (KVM) 中,並以輸出內容傳回公開金鑰。金鑰組限定於指定機構。

用法

edgemicro cert install -o [organization] -e [environment] -u [username] -p [password] --force

參數

參數 說明
-o, --org 您設定 Edge Microgateway 的 Apigee 機構。
-e, --env 已設定 Edge Microgateway 的環境。
-u, --username 您的 Apigee 使用者名稱。您必須是指定機構的機構組織管理員。
-p, --password (選用) 您的密碼。如果您未在指令列中提供這項參數,系統會提示您。
-f, --force (選用) 如果金鑰已儲存在加密的 KVM 中,請強制取代金鑰。
-h, --help 輸出使用資訊。

範例

edgemicro cert install -o docs -e test -u jdoe@example.com -f

輸出內容

current nodejs version is v12.5.0
current edgemicro version is 3.0.2
password:
deleting vault
creating vault
adding private_key
adding public_key
installed cert

刪除憑證

刪除機構的金鑰組。

用法

edgemicro cert delete -o [organization] -e [environment] -u [username] -p [password]

參數

參數 說明
-o, --org 您設定 Edge Microgateway 的 Apigee 機構。
-e, --env 已設定 Edge Microgateway 的環境。
-u, --username 您的 Apigee 使用者名稱。您必須是指定機構的機構組織管理員。
-p, --password (選用) 您的密碼。如果您未在指令列中提供這項參數,系統會提示您。
-h, --help 輸出使用資訊。

範例

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

輸出內容

deleting vault
Vault deleted!

檢查憑證

檢查貴機構是否已安裝憑證。

用法

edgemicro cert check -o [organization] -e [environment] -u [username] -p [password]

參數

參數 說明
-o, --org 您設定 Edge Microgateway 的 Apigee 機構。
-e, --env 已設定 Edge Microgateway 的環境。
-u, --username 您的 Apigee 使用者名稱。您必須是指定機構的機構組織管理員。
-p, --password (選用) 您的密碼。如果您未在指令列中提供這項參數,系統會提示您。
-h, --help 輸出使用資訊。

範例

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

輸出 (成功)

checked cert successfully

輸出 (失敗)

如果憑證不存在,系統會傳回錯誤。

取得公開金鑰

傳回指定機構的公開金鑰。不需要驗證。

用法

edgemicro cert public-key -o [organization] -e [environment]

參數

參數 說明
-o, --org 您設定 Edge Microgateway 的 Apigee 機構。
-e, --env 已設定 Edge Microgateway 的環境。
-h, --help 輸出使用資訊。

範例

edgemicro cert public-key -o docs -e test

輸出 (範例)

-----BEGIN CERTIFICATE-----

MIICpDCCAYwCCQCKpXWGum9uTjANBgkq9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3cNMTYxMTAyMjAxNTA2WhcNMTYxMTAzMjAxNTA2WjAUMRIwEAYD
VQQDEwlsb2Nvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDD
ETr/ne/gP47+9LgjLvBJjpbFVdaeUabZZ3wbA7sSIVnnNXWt3yPklrWSfIh+
L2+dq4k+YunsQE2+dwPdXA2x8DPGvqGcCdWPxnpZ7ix5Akbs8i/J+Ue0pXT4
jkpWbaDDftGL2tcxwP45yI+slpDYvmWRps07TFXkAPjGEHYPvCT9/v/35GkL
0h4v0S+XfpcjS5c47o7CIWlkgEM5GBosQUb17kuVR48392vGFPsnCP34iNe7
zguhiCXYg2zkOcj/N3AE4xKIhCz0QcewULy08GltWMmyjJ/30zs8P41JqoA4
RwfeEZ8RenN3rJQim1ppAAEwDQYJKoZIhvcNAQELBQADggEBAHcORIfc+ySe
2FMmqicNe6Wt5V/5zOaBMLsGQdqGOHB5cQc79sMBrk680KVhrwHXZ2nBIkVe
UEL+2qLY1VLfswBNAvcNwV9U4TwHq4eIANiD751oJK1tHmM/ujThQkwNf96o
6I7Ws+wfpGO3ppJCttRbtnATIxrwsCHN4i5lbW/tJSL7t/Zf6T1B+YSJU9AF
xuvLq22cCqyYJQdmKq2vVS55WRZdllm+mRtJrv7MLM9gfDPRxVlwrBz/eQHy
Fv+dwzxcvQjkz03RNhZUodzuD34DPJoYeK++rItsddwQ26KTahH80yYTAFzY
x9gfPf1/+qo=?

-----END CERTIFICATE-----

設定 Apigee Edge Cloud 的 Edge Microgateway

啟用 Edge Microgateway,與 Apigee Edge Cloud 執行個體搭配使用。這項工具會包裝並執行一系列的指令,藉此將必要的驗證 Proxy 部署至 Edge、產生驗證權杖,以及更新設定檔。如需完整的工作範例,請參閱「設定及設定 Edge Microgateway」。

用法

edgemicro configure -o [organization] -e [environment] -u [username] -p [password]

參數

參數 說明
-o, --org 您設定 Edge Microgateway 的 Apigee 機構。
-e, --env 已設定 Edge Microgateway 的環境。
-u, --username 您的 Apigee 使用者名稱。您必須是指定機構的機構組織管理員。
-p, --password (選用) 您的密碼。如果您未在指令列中提供這項參數,系統會提示您。
-r, --url (選用) 指定貴機構的虛擬主機別名:Environment。如要瞭解虛擬主機,請參閱 Edge 說明文件。預設值:org-env.apigee.net
-c, --configDir (選用) 指定 Edge Microgateway 設定檔的路徑。根據預設,設定檔位於 ./config/config.yaml。(新增 2.4.x 版)
-x, --proxyName (選用) 設定 edgemicro-auth Proxy 的基本路徑。如果 edgemicro-auth Proxy 部署在與預設 /edgemicro-auth 的預設路徑底下,您可以使用這項功能在 Edge Microgateway 中設定新路徑。根據預設,基本路徑為 /edgemicro-auth。(新增 2.4.x 版)
-t, --token (選用) 使用 OAuth 權杖進行驗證,而不使用使用者名稱/密碼。另請參閱「使用 OAuth2 存取權杖確保 API 呼叫」。例如:

edgemicro configure -o docs -e test -t <your token>
-v, --virtualHosts (選用) 覆寫預設的虛擬主機 (即「default,secure」)。如果您已為 Edge 機構指定並非這些預設值的虛擬主機,請使用這個選項。如要瞭解虛擬主機,請參閱 Edge 說明文件。
-d, --debug (選用) 提供偵錯資訊。
-h, --help 輸出使用資訊。

使用注意事項

這個指令會將設定資訊儲存在 ~/.edgemicro/org-env-config.yaml 中。

範例

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

輸出內容

成功執行之後,指令會傳回一組啟動 Edge Microgateway 時所需的鍵。

...

The following credentials are required to start edge micro
  key: d2f0a246ad52b5d2a8b04ba65b43c76348aba586691cf6185cd7bb9fb78fe9f
  secret: 59813bc1db4a7ada182705ae40893c28a6fae680c3deb42aefbf1a4db42e372

edgemicro configuration complete!

產生金鑰

genkeys 指令會產生 Edge Microgateway 所使用的金鑰和密鑰配對,以便在將數據分析資料以非同步方式發布至 Apigee Edge 時進行驗證。

用法

edgemicro genkeys -o [organization] -e [environment] -u [username] -p [password]

參數

參數 說明
-o, --org 您設定 Edge Microgateway 的 Apigee 機構。
-e, --env 已設定 Edge Microgateway 的環境。
-u, --username 您的 Apigee 使用者名稱。您必須是指定機構的機構組織管理員。
-p, --password (選用) 您的密碼。如果您未在指令列中提供這項參數,系統會提示您。
-t, --token (選用) 使用 OAuth 權杖進行驗證,而不使用使用者名稱/密碼。另請參閱「使用 OAuth2 存取權杖確保 API 呼叫」。例如:

edgemicro genkeys -o docs -e test -t <your token>
-h, --help 輸出使用資訊。

使用注意事項

成功執行後,指令會傳回三個項目。首先是必須放在設定檔中的網址。另外兩個是啟動 Edge Microgateway 執行個體時所需的金鑰組。

  • Bootstrap URL:這個網址會指向 Apigee Edge 服務,可讓 Edge Microgateway 執行個體將數據分析資料傳送至 Apigee Edge。您必須將這個網址複製到 Edge Microgateway 設定檔:~/.edgemicro/org-env-config.yaml
  • key:鍵。這個金鑰和密鑰必須輸入 CLI 指令,才能啟動 Edge Microgateway 執行個體。
  • secret:秘密。

範例

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

輸出 (範例)

成功執行之後,指令會傳回一組啟動 Edge Microgateway 時所需的鍵。

configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1
Please copy the following property to the edge micro agent config
  bootstrap: https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/jdoe/environment/test

The following credentials are required to start edge micro
  key: db39324077989c75eac34c13d285772ea8e3b982b957b3f52916f3048511443f
  secret: 5bf8da39de0056f88fdd5f25a8602d22f312c1c8c870580a5fef55ac6637b7ae

finished

設定 Apigee Edge Private Cloud 的 Edge Microgateway

設定 Edge Microgateway,與 Apigee Edge Private Cloud 安裝作業搭配使用。

用法

edgemicro private configure -o [organization] -e [environment] -u [username] -p [password]

參數

參數 說明
-o, --org 您設定 Edge Microgateway 的 Apigee 機構。
-e, --env 已設定 Edge Microgateway 的環境。
-u, --username 您的 Apigee 使用者名稱。您必須是指定機構的機構組織管理員。
-p, --password (選用) 您的密碼。如果您未在指令列中提供這項參數,系統會提示您。
-r, --runtime-url 指定私有雲執行個體的執行階段網址。
-m, --mgmt-url 私有雲執行個體的管理伺服器網址。
-v, --virtualHosts 貴機構中的虛擬主機清單,以半形逗號分隔。預設值為「default,secure」。
-c, --configDir (選用) 指定 Edge Microgateway 設定檔的路徑。根據預設,設定檔位於 ./config/config.yaml。(新增 2.4.x 版)
-t, --token (選用) 使用 OAuth 權杖進行驗證,而不使用使用者名稱/密碼。另請參閱「使用 OAuth2 存取權杖確保 API 呼叫」。例如:

edgemicro configure -o docs -e test -t <your token>
-d, --debug (選用) 提供偵錯資訊。
-h, --help 輸出使用資訊。

使用注意事項

這個指令會將設定資訊儲存在 ~/.edgemicro/org-env-config.yaml 中。

範例

edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.55.100:9002 -m http://192.162.55.100:8080

輸出內容

成功執行之後,指令會傳回一組啟動 Edge Microgateway 時所需的鍵。

...

The following credentials are required to start edge micro
  key: d2f0a246ad52b5d2a8b04ba65b43c76348aba586691cf6185cd7bb9fb78fe9f
  secret: 59813bc1db4a7ada182705ae40893c28a6fae680c3deb42aefbf1a4db42e372

edgemicro configuration complete!

啟動 Edge Microgateway

啟動 Edge Microgateway 之前,您必須先執行 edgemicro 設定 (公用雲端) 或 edgemicro private 設定 (Private Cloud)設定指令會傳回啟動 Edge Microgateway 所需的金鑰和密鑰值。

用法

edgemicro start -o [organization] -e [environment] -k [public-key] -s [secret-key]

參數

參數 說明
-o, --org 您設定 Edge Microgateway 的 Apigee 機構。
-e, --env 已設定 Edge Microgateway 的環境。
-k, --key 執行「edgemicro configure」指令時傳回的鍵/值。
-s, --secret 執行「edgemicro configure」指令時傳回的密鑰值。
-p, --processes (選用) 要啟動的程序數量。預設:系統的核心數量。
-d, --pluginDir (選用) 外掛程式目錄的絕對路徑。
-r, --port (選用) 覆寫 ~/.edgemicro/org-env-config.yaml 檔案中指定的通訊埠編號。預設:8000
-c, --cluster

(選用) 在叢集模式下啟動 Edge Microgateway。

注意: 自 2.3.1 版起,這個選項已移除。在 v2.3.1 以上版本中,Edge Micro 一律會以叢集模式啟動。

-c, --configDir (選用) 指定 Edge Microgateway 設定檔的路徑。根據預設,設定檔位於 ./config/config.yaml。(新增 2.4.x 版)
-u, --configUrl (選用) 指定 Edge Microgateway 下載設定檔的端點。(新增 2.5.x 版)
-d, --debug (選用) 提供偵錯資訊。
-h, --help 輸出使用資訊。

設定通訊埠

start 指令可讓您指定通訊埠號碼,以覆寫設定檔中指定的通訊埠。您也可以使用 PORT 環境變數指定通訊埠編號。例如:

edgemicro start -o docs -e test -k abc123 -s xyz456 -p 2 --port 8002

export PORT=8002
edgemicro start -o org -e test -k key -s secret -p 2

如果通訊埠正在使用中,Edge Microgateway 會傳回錯誤。

關於分群

Edge Microgateway 運用 Node.js 叢集模組啟用叢集功能。分群法可讓 Edge Microgateway 運用多核心系統。詳情請參閱此 Node.js 說明文件

範例

edgemicro start -o docs -e test -k abc123 -s xyz456

範例輸出:

...

current nodejs version is v12.5.0
current edgemicro version is 3.0.2
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

管理權杖

token 指令可讓您取得、解碼及驗證已簽署的 OAuth2 存取權杖。另請參閱「 使用 OAuth2 存取權杖確保 API 呼叫」一文。

解碼權杖

將已簽署的編碼不記名權杖解碼為純文字的 JSON JWT (Java 網路權杖) 表示法。憑證會傳達 Apigee Edge 開發人員應用程式的相關資訊,該應用程式以提供建立權杖的金鑰,包括應用程式名稱、client_id、產品清單等。

用法

edgemicro token decode -f [filename]

參數

參數 說明
-f, --file 檔案名稱,包含要解碼的 JWT 權杖。
-h, --help 輸出使用資訊。

範例

edgemicro token decode -f token.jwt

輸出內容 (範例)

{ header: { typ: 'JWT', alg: 'RS256' },

  payload:
   { application_name: 'b43342ef-86f6-4666-a121-b9ac2025d217',
     client_id: 'O9ZQRZKnn1rdgcKQgsABSMdOsKS',
     scopes: [],
     api_product_list: [ 'MicroTest' ],
     iat: 1436280566,
     exp: 1436282365 },
  signature: '' }

產生權杖

產生已簽署的不記名權杖。這個權杖可讓用戶端應用程式向 Edge Microgateway 發出通過驗證的 API 呼叫。權杖是與 OAuth 2.0 相容的 JSON Web Token (JWT)。您必須輸入 Apigee Edge 中已註冊開發人員應用程式的用戶端金鑰 (用戶端 ID) 和用戶端密鑰 (用戶端密鑰) 值。另請參閱「 使用 OAuth2 存取權杖確保 API 呼叫」一文。

用法

edgemicro token get -o [org] -e [env] -i [client_id] -s [client_secret]

參數

參數 說明
-o, --org 您設定 Edge Microgateway 的 Apigee 機構。
-e, --env 已設定 Edge Microgateway 的環境。
-1, --key 與 Microgateway 感知 Proxy 相關聯的開發人員應用程式中的用戶端 ID。
-s, --secret 與 Microgateway 感知 Proxy 相關聯的開發人員應用程式中的用戶端密鑰。
-h, --help 輸出使用資訊。

範例

edgemicro token get -o docs -e test -i 5UzOwAXGoOeo60aew94PPG5MAZE3aJp -s 6vahKFGS9a3qMLwz

輸出內容 (範例)

{ token: 'eyJ0eXAiOiJKV1JhbGciOiJSUzI1NiJ9Glvbl9uYW1lIjoiNWNiMGY0NTV6TV3
EtOWMzOC00YmJjLWIzNzEtZGMxZTQzOGMxIiwiY2xpZW50X2lkIjoiNVV6T3dBWEdvSU9lbz
YwYWV3OTRQN0c1TUFaRTNhSnAiLCJzY2MiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIkVkZ2
VNaWNyb1Rlc3RQcm9kdWN0Il0sImlhdCI3ODEyMzQ2MSwiZXhwIjoxNDc4MTI1MjYwfQ.Dx5
f5U7PXm8koNGmFX4N6VrxKMJnpndKgoJ5zWSJvBZ6Ccvhlpd85ipIIA5S2A5nx4obYWp_rpY
RJpIGYwyxP6Oq2j0rxnVjdCC4qyYMgthZjhKgEBVBe3s1ndP72GP2vV6PsSA9RQ2-yzsy9r0
TzhAZ3NJTxT1tS0XKqKngE-OhR3fJHVLAzdMDT0AmS9H0Z2NAJtQOuK6RTpCjG9B6Bc48AEM
sj7QSM-1LWiQ8LdY8k_BoC06qsTI7bCQGWwTuqL-ismbcx2bxovUxSemZIaoROfuF-dCZHG3
2aTP75WxBvvNgBBvPvQtPzbeSOtEaww' }

您也可以使用 Management API 產生 JWT:

curl -i -X POST "http://$ORG-$ENV.apigee.net/edgemicro-auth/token" \
  -H "Content-Type: application/json" \
  -d '{
    "$CLIENT_ID": "your consumer key",
    "$CLIENT_SECRET": "your consumer secret",
    "grant_type": "client_credentials"
  }'

在此情況下:

  • $ORG 是您的 Edge 機構名稱 (您必須是機構管理員)。
  • $ENV 是貴機構的環境 (例如「test」或「prod」)。
  • $CLIENT_ID 是您之前建立的開發人員應用程式中的消費者 ID。
  • $CLIENT_SECRET 是您先前建立的開發人員應用程式中的用戶端密鑰。

驗證權杖

針對指定機構和環境,依據 Apigee Edge 中儲存的公開金鑰驗證已簽署的不記名權杖。

用法

edgemicro token verify -o [org] -e [env] -f [filename]

參數

參數 說明
-o, --org 您設定 Edge Microgateway 的 Apigee 機構。
-e, --env 已設定 Edge Microgateway 的環境。
-f, --file 要驗證的 JWT 所屬檔案名稱。
-h, --help 輸出使用資訊。

範例

edgemicro token get -o docs -e test -f token.jwt

有效權杖的輸出內容範例

{ application_name: 'b43342ef-86f6-4666-a121-b9ac2025d217',

  client_id: 'O9ZQRZKnn1rdgcKQsAZUBkQSMdOsKS',

  scopes: [],

  api_product_list: [ 'MicroTest' ],

  iat: 1436396155,

  exp: 1436397954 }

無效權杖的輸出內容範例

{ [JsonWebTokenError: invalid token] name: 'JsonWebTokenError', message: 'invalid token' }

過期權杖的輸出內容範例

{ [TokenExpiredError: jwt expired]

  name: 'TokenExpiredError',

  message: 'jwt expired',

  expiredAt: Tue Jul 07 2015 09:19:25 GMT-0600 (MDT) }

初始化新的 Edge Microgateway 設定

在首次安裝 Edge Microgateway 後,執行這個指令一次。建立新的預設設定檔:~/.edgemicro/default.yaml

用法

edgemicro init

參數

參數 說明
-c, --configDir (選用) 指定 Edge Microgateway 設定檔的路徑。根據預設,設定檔位於 ./config/config.yaml。(新增 2.4.x 版)
-h, --help 輸出使用資訊。

範例

edgemicro init

輸出 (成功)

config initialized to /MyHome/.edgemicro/default.yaml

驗證 Edge Microgateway 設定

確認 Edge Microgateway 的設定正確無誤。

用法

edgemicro verify -o [organization] -e [environment] -k [public-key] -s [secret-key]

參數

範例

edgemicro verify -o docs -e test -k abc123 -s xyz456

輸出 (成功)

logging to /var/tmp/edgemicro-My-Machine.local-a0c48610-a148-11e6-8466-93f081b05988
installed plugin from analytics
installed plugin from oauth
a0c48610-a148-11e6-8466-93f081b05988 edge micro listening on port 8000
verifying analytics negative case: OK
verifying bootstrap url availability:OK
verifying jwt_public_key availability: OK
verifying products availability: OK
verifying quota with configured products: OK
verifying analytics with payload: OK
verification complete

檢查微閘道叢集狀態

根據預設,Edge Microgateway 會以叢集模式啟動。您可以使用這個指令查看叢集狀態。

用法

edgemicro status

參數

參數 說明
-h, --help 輸出使用資訊。

範例

edgemicro status

輸出 (成功)

current nodejs version is v12.5.0
current edgemicro version is 3.0.2
edgemicro is running with 8 workers

停止微閘道叢集

停止 Edge Microgateway 叢集。

用法

edgemicro stop

參數

參數 說明
-h, --help 輸出使用資訊。

範例

edgemicro stop

輸出 (成功)

current nodejs version is v12.5.0
current edgemicro version is 3.0.2
Stop Completed Successfully

重新載入微閘道叢集

在設定變更後提供零停機時間。提取新設定來重新載入 Edge Microgateway。

用法

edgemicro reload -o [organization] -e [environment] -k [public-key] -s [secret-key]

參數

參數 說明
-o, --org 您設定 Edge Microgateway 的 Apigee 機構。
-e, --env 已設定 Edge Microgateway 的環境。
-k, --key 執行「edgemicro configure」指令時傳回的鍵/值。
-s, --secret 執行「edgemicro configure」指令時傳回的密鑰值。
-h, --help 輸出使用資訊。

範例

edgemicro reload -o docs -e test -k abc123 -s xyz456

輸出 (成功)

...

Reload Completed Successfully

升級 Edgemicro-auth Proxy

如要使用金鑰輪替功能,您必須在 Apigee Edge 機構中部署升級版 Edgemicro-auth Proxy。(新增 2.5.x 版)

注意:如果您在 2.5.2 版之前設定目前的 Edge Micro 執行個體,則必須升級這個 Proxy,才能使用金鑰輪替。您只需要進行一次升級。

用法

edgemicro upgradeauth -o [organization] -e [environment] -u [username]

參數

參數 說明
-o, --org 您設定 Edge Microgateway 的 Apigee 機構。
-e, --env 已設定 Edge Microgateway 的環境。
-u, --username 您的 Apigee 使用者名稱。您必須是指定機構的機構組織管理員。
-p, --password (選用) 您的密碼。如果您未在指令列中提供這項參數,系統會提示您。
-v, --virtualhost (選用) Proxy 的虛擬主機。
-b, --baseuri (選用) 您在 Apigee Edge 中機構的基本 URI。Apigee 雲端部署作業的基礎 URI 為 api.enterprise.apigee.com。針對地端部署部署,基準網址可能會不同。

範例

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

輸出 (成功)

執行成功後,指令會傳回類似下列內容的輸出內容:

Going to create revision 2 of API edgemicro-auth
Using /Users/jdoe/npm/lib/node_modules/edgemicro/node_modules/microgateway-edgeauth/apiproxy/edgemicro-auth.xml as the root file
Creating revision 2 of API edgemicro-auth
Uploading java resource micro-gateway-products-javacallout-2.0.0.jar
Uploading jsc resource generate-verify-jwt.js
Uploading jsc resource send-public-key.js
Uploading jsc resource set-jwt-variables.js
Uploading jsc resource set-response.js
Uploading node resource index.js
Uploading node resource node_modules_apigee-access.zip
Uploading node resource node_modules_base64url.zip
Uploading node resource node_modules_buffer-equal-constant-time.zip
Uploading node resource node_modules_ecdsa-sig-formatter.zip
Uploading node resource node_modules_jsrsasign.zip
Uploading node resource node_modules_jwa.zip
Uploading node resource node_modules_jws.zip
Uploading node resource node_modules_safe-buffer.zip
Uploading node resource package.json
Uploading policy Access-App-Info-2.xml
Uploading policy Access-App-Info.xml
Uploading policy AccessTokenRequest.xml
Uploading policy Add-Custom-Claims.xml
Uploading policy Create-OAuth-Request.xml
Uploading policy Create-Refresh-Request.xml
Uploading policy Extract-API-Key.xml
Uploading policy Extract-OAuth-Params.xml
Uploading policy Extract-Refresh-Params.xml
Uploading policy Get-Private-Key.xml
Uploading policy Get-Public-Key.xml
Uploading policy Get-Public-Keys.xml
Uploading policy JavaCallout.xml
Uploading policy Products-to-JSON-2.xml
Uploading policy Products-to-JSON.xml
Uploading policy Raise-Fault-Unknown-Request.xml
Uploading policy RefreshAccessToken.xml
Uploading policy Send-Public-Key.xml
Uploading policy Set-JWT-Variables.xml
Uploading policy Set-Response.xml
Uploading policy Verify-API-Key.xml
Uploading target TargetEndpoint-1
Uploading proxy default
Deploying revision 2 of edgemicro-auth to test
Deployment on test successful
edgemicro-auth proxy upgraded

金鑰值對應 (KVM) 升級

使用 edgemicro upgradekvm 指令升級 Apigee 機構中的 KVM。如要使用金鑰輪替功能,您必須升級 KVM。

用法

適用於公有雲的邊緣:

edgemicro upgradekvm -o [organization] -e [environment] -k [key] -s [secret]

適用於私有雲的 Edge:

edgemicro private upgradekvm -o [organization] -e [environment] -k [key] -s [secret] -p 'https://[hostname]/edgemicro-auth'

參數

參數 說明
-o, --org 您設定 Edge Microgateway 的 Apigee 機構。
-e, --env 已設定 Edge Microgateway 的環境。
-k, --key 執行「edgemicro configure」指令時傳回的鍵/值。
-s, --secret 執行「edgemicro configure」指令時傳回的密鑰值。
-p, --proxyuri edgemicro_auth Proxy 的 URI

Edge Public Cloud:選用。
Edge Private Cloud:必要。

Edge Public Cloud 範例:

 -p 'https://[org]-[env].apigee.net/edgemicro-auth'

Edge Private Cloud 範例:

-p 'https://[hostname]/edgemicro-auth'

範例

edgemicro upgradekvm -o docs -e test \
-k 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb \
-s 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47

輸出 (成功)

執行成功後,指令會傳回類似下列內容的輸出內容:

current nodejs version is v12.5.0
current edgemicro version is 3.1.5
password:
Checking for certificate...
Certificate found!
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsT6yVoT/h6pvkPlkUUtv
Hgs7MbDPcWxto7dZqJBwQ4oOQ0IJ2P4XGigc3kYUyPp5lFHg1ssP9+0onRpqn6Lq
z7N5iaTSv5YXb26bU2kSOl4hbwcljIzauAnBzQ13VaQ5SoflRxMGSZmTqZeu5jkQ
3JZ7F6k2bCar5sk1k84vd4WXcCVyngFlrMtlux5z0vOU56QYZFvvKYl/wOHNPLLB
Js54531CV1ZfhV3nDDq9Lh5D1C/oQVlm1Lc7BJoEUmKeFATmSsi50c14ScsmdtJ1
HqC/brSXCd185P6ifu2RH7IHKzNfcD4NlfAVmDScng4w5RxBan2avbmAJrokQ4b5
WQIDAQAB
-----END PUBLIC KEY-----
KVM update complete

金鑰輪替

使用 edgemicro rotatekey 指令輪替公開/私密金鑰組,用於產生用於在 Edge Microgateway 中用於 OAuth 安全性的 JWT 權杖。

詳情請參閱「 輪替 JWT 金鑰」一文。

用法

適用於公有雲的邊緣:

edgemicro rotatekey -o [organization] -e [environment] -k [key] -s [secret]

適用於私有雲的 Edge:

edgemicro private rotatekey -o [organization] -e [environment] -k [key] -s [secret] -r '[hostname]/edgemicro-auth/rotateKey'

參數

參數 說明
-o, --org (必要) 您設定 Edge Microgateway 的 Apigee 機構。
-e, --env (必要) 您已設定 Edge Microgateway 的環境。
-k, --key 執行「edgemicro configure」指令時傳回的鍵/值。
-s, --secret 執行「edgemicro configure」指令時傳回的密鑰值。
-p Apigee Edge 要使用的自訂私密金鑰的路徑。(新增 3.1.6)
-c Apigee Edge 要使用的自訂憑證路徑。(新增 3.1.6)
-n, --nbf

設定新私密金鑰的延遲時間 (以分鐘為單位),這段延遲時間可讓您有時間以新的公開金鑰重新整理 Migateway 執行個體。建議您將延遲時間設為大於 config_change_poll_internal 設定設定,預設為 10 分鐘。詳情請參閱設定「不早於」延遲。(已新增 3.1.6)

注意: 如果您使用這個選項的 edgemicro-auth 版本比使用 Edge Microgateway 3.1.6 發行的版本還要舊,系統會忽略標記。

-i, --kid (選用) 用於比對特定鍵的 ID。Edge Microgateway 能在金鑰輪替期間,使用這個值選擇一組金鑰。如果省略這個參數 (建議做法),Edge Microgateway 會產生時間戳記型索引鍵。詳情請參閱 JSON Web Key 規格第 4.5 節。
-r, --rotatekeyuri 輪替金鑰 URI。

邊緣公用雲端:選用。
Edge Private Cloud:必要。

公有雲範例:

-r 'https://[org]-[env].apigee.net/edgemicro-auth/rotateKey'

Edge Private Cloud 範例:

-r '[hostname]/edgemicro-auth/rotateKey'

範例

edgemicro rotatekey -o docs -e test \
-k 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb \
-s 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47

輸出 (成功)

執行成功後,指令會傳回類似下列內容的輸出內容:

current nodejs version is v12.5.0
current edgemicro version is 3.0.2
password:
Checking if private key exists in the KVM...
Checking for certificate...
Found Certificate
Generating New key/cert pair...
Extract new public key
Key Rotation successfully completed!

輪替後,Edge UI 會顯示新金鑰已新增至微閘道 KVM。

範例

本範例使用 -p-c 旗標指定私密金鑰/憑證組合的路徑。這些選項可讓您傳遞自訂私密金鑰和憑證組合。

edgemicro rotatekey -o docs -e test \
-k 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb \
-s 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47 \
-p /users/home/keys.pem -c /users/home/cert.cert

持續監控

使用 edgemicro forever 指令管理「Forever」程序。這是 Node.js 工具,可在應用程式停止運作或發生錯誤時自動重新啟動 Node.js 應用程式。另請參閱「 永久監控」一文。

用法

執行 edgemicro forever 指令之前,您必須設定下列環境變數:

  • EDGEMICRO_ORG:您設定 Edge Microgateway 的 Apigee 機構。
  • EDGEMICRO_ENV:您已設定 Edge Microgateway 的環境。
  • EDGEMICRO_KEY - 執行「edgemicro configuration」指令時傳回的鍵值。
  • EDGEMICRO_SECRET - 執行「edgemicro configuration」指令時傳回的密鑰值。
edgemicro forever -f [forever_file] -a [start|stop]

參數

參數說明
-f, --file指定 forever.json 檔案的位置。
-a, --actionstartstop。預設值為起始動作。

例如:

如何選擇永久停用:

edgemicro forever -f ~/mydir/forever.json -a start

如何永久停止:

edgemicro forever -a stop

撤銷金鑰

使用 edgemicro revokekeys 指令撤銷 Edge Microgateway 設定的金鑰和密鑰憑證。

用法

edgemicro revokekeys -o [organization] -e [environment] -u [username]
-k [key] -s [secret]

參數

參數 說明
-o, --org (必要) 您設定 Edge Microgateway 的 Apigee 機構。
-e, --env (必要) 您已設定 Edge Microgateway 的環境。
-u, --username (必須使用 -u-t) 您的 Apigee 使用者名稱。您必須是指定機構的機構組織管理員。如果您改為指定 -t 參數,則不需要使用這個參數。
-p, --password (選用) 您的密碼。如果您未在指令列中提供這項參數,系統會提示您。
-k, --key (必要) 要撤銷的金鑰。
-s, --secret (必要) 要撤銷的密鑰。
-t, --token (必須使用 -u-t) 可讓您將 OAuth 權杖用於驗證,而非使用者名稱/密碼。如果指定 -t,則不需要 -u 參數。另請參閱「使用 OAuth2 存取權杖確保 API 呼叫」。例如:
edgemicro revokekeys -o ORG-NAME -e ENV-NAME -k KEY-TO-REVOKE \
    -s KEY-SECRET -t TOKEN

例子

edgemicro revokekeys -o myorg -e test -u jdoe@apigee.com
-k 2c0064f5bd85f5573dcaffe21566fa7a2d49885cdbf8899370c8a4479285f -s 4b5d6355b874f7c46838893823e8d929dcb2e42fb9aebcb535089c9b98513

成功後,您會看到以下訊息:

key 2c0064f5bd85f5573dcaffe21566fa7a2d49885cdbf8899370c8a4479285f revoked successfully