本頁內容適用於 Apigee 和 Apigee Hybrid。
查看
Apigee Edge 說明文件。
apigee-remote-service-cli
指令列介面 (CLI) 可協助您佈建及管理 Apigee Adapter for Envoy。
使用 ‑‑config
選項簡化 CLI 指令
‑‑config
選項會指定 provision
指令產生的 config.yaml
檔案位置。這個選項的優點是,CLI 會直接從 config.yaml
檔案中提取大部分其他指令參數,因此您可以略過這些參數。
請注意,指定的任何指令列參數都會覆寫 config.yaml
檔案中的值。
- 組織
- 環境
- 執行階段
- 管理
- 不安全
- 命名空間
- 舊版
- opdk
升級轉接器時可以使用這個選項,但您仍須加入 --force-proxy-install
旗標。舉例來說,您可以執行類似下列的 provision
指令:
apigee-remote-service-cli provision --config='old-config.yaml' > new-config.yaml
請注意,如果舊版設定檔中的值沒有任何變更,則不必儲存新設定檔,因為新設定檔與原始設定檔相同。
列出繫結的指令
列出繫結至遠端服務的所有 API 產品。
用量
apigee-remote-service-cli bindings list [flags]
參數
參數 | 存在必要性 | 搭配使用的產品 | 說明 |
---|---|---|---|
-c,
|
選用 | 全部 | (字串) Apigee 遠端服務設定檔的路徑。 提示:這個標記可讓您省略大部分其他指令參數,因為 CLI 可以直接從設定檔中擷取這些參數。請參閱「 使用 ‑‑config 選項」。 |
-e,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
全部 | (字串) 貴機構中的環境。 |
-h,
|
選用 | 全部 | 顯示指令參數的說明。 |
‑‑insecure
|
選用 | 全部 | 使用 SSL 時允許不安全的伺服器連線。 |
‑‑legacy
|
不適用 | 僅限 Edge Public Cloud | 這個參數不適用於 Apigee 安裝作業。 |
-m,
|
不適用 | 僅限 Edge Private Cloud | 這個參數不適用於 Apigee 安裝作業。 |
‑‑mfa
| 不適用 | 僅限 Edge Public Cloud | 這個參數不適用於 Apigee 安裝作業。 |
‑‑opdk
| 不適用 | 僅限 Edge Private Cloud | 這個參數不適用於 Apigee 安裝作業。 |
-o,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
全部 | (字串) Apigee 機構。您必須是機構管理員。 |
-p,
|
不適用 (僅限基本驗證) |
僅限 Edge Public 和 Private Cloud | 這個參數不適用於 Apigee 安裝作業。 |
-r,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
僅限 Apigee Hybrid | (字串) 指定 Private Cloud 或 Apigee Hybrid 執行個體的執行階段 URL。
網址開頭必須是 https:// 。例如:https://apitest.example.net
|
|
不適用 | 僅限 Edge Private Cloud | 這個參數不適用於 Apigee 安裝作業。 |
-t,
|
必要 (僅限 OAuth 權杖驗證) |
全部 | (字串) 您從 Apigee 帳戶資訊產生的 OAuth 或 SAML 權杖。覆寫先前提供的任何其他憑證。 |
-u,
|
不適用 (僅限基本驗證) |
僅限 Edge Public 和 Private Cloud | 這個參數不適用於 Apigee 安裝作業。 |
-v,
|
選用 | 全部 | (選用) 產生詳細輸出內容。 |
範例
apigee-remote-service-cli bindings list -o myorg -e test --token $TOKEN \ -c config.yaml
輸出範例
API Products ============ Bound ----- envoy-test: Quota: 5 requests every 1 minute Target bindings: httpbin.org Paths: httpbin: Quota: 5 requests every 1 minute Target bindings: httpbin.org Paths: /httpbin / Unbound ------- product-1: Quota: 100 requests every 1 hour product-2: Quota: 1000 requests every 1 month product-3: product-4:
說明指令
所有 apigee-remote-service-cli
指令都有線上說明。只要輸入:
apigee-remote-service-cli help
如需任何指令的說明,請輸入:
apigee-remote-service-cli [command] help
例如:
apigee-remote-service-cli provision help
佈建指令
apigee-remote-service-cli provision
指令會在 Apigee Edge 機構中安裝兩個 API Proxy、設定憑證,並產生設定 Apigee Adapter for Envoy 時所需的憑證。
用量
apigee-remote-service-cli provision [flags]
參數
參數 | 存在必要性 | 搭配使用的產品 | 說明 |
---|---|---|---|
‑‑analytics-sa
|
選填 | Apigee Hybrid 和 Apigee Only |
(字串) 使用這個標記指定 Google Cloud 服務帳戶金鑰檔案的路徑,其中服務帳戶具有 |
-c,
|
選用 | 全部 | (字串) Apigee 遠端服務設定檔的路徑。 提示:這個標記可讓您省略大部分其他指令參數,因為 CLI 可以直接從設定檔中擷取這些參數。請參閱「 使用 --config 選項」。 |
-e,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
全部 | (字串) 貴機構中的環境。 |
-f, ‑‑force-proxy-install
|
選填 | 全部 | (選用) 如果機構已安裝 remote-service Proxy,這個選項會強制重新安裝。 |
-h,
|
選用 | 全部 | 顯示指令參數的說明。 |
‑‑insecure
|
選用 | 全部 | 使用 SSL 時允許不安全的伺服器連線。 |
‑‑legacy
|
不適用 | 僅限 Edge Public Cloud | 這個參數不適用於 Apigee 安裝作業。 |
-m,
|
不適用 | 僅限 Edge Private Cloud | 這個參數不適用於 Apigee 安裝作業。 |
‑‑mfa
| 不適用 | 僅限 Edge Public Cloud | 這個參數不適用於 Apigee 安裝作業。 |
-n, ‑‑namespace
|
如果存在 --config ,這個屬性則變成選用屬性;預設值為 apigee 。
|
僅適用於 Kubernetes 部署 | (字串) 在指定命名空間中,將設定做為 Envoy ConfigMap 發出。預設值:apigee
|
‑‑opdk
| 不適用 | 僅限 Edge Private Cloud | 這個參數不適用於 Apigee 安裝作業。 |
-o,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
全部 | (字串) Apigee 機構。您必須是機構管理員才能佈建。 |
-p,
|
不適用 (僅限基本驗證) |
僅限 Edge Public 和 Private Cloud | 這個參數不適用於 Apigee 安裝作業。 |
‑‑rotate
|
選填 | 僅限 Apigee Hybrid | (整數) 如果 n > 0,請產生新的私密金鑰,並保留 n 個公開金鑰 (僅限混合式) |
-r,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
僅限 Apigee Hybrid | (字串) 指定 Apigee Hybrid 執行個體的執行階段 URL。
網址開頭必須是 https:// 。例如:https://apitest.example.net
|
|
不適用 | 僅限 Edge Private Cloud | 這個參數不適用於 Apigee 安裝作業。 |
-t,
|
必要 (僅限 OAuth 權杖驗證) |
全部 | (字串) 您從 Apigee 帳戶資訊產生的 OAuth 或 SAML 權杖。覆寫先前提供的任何其他憑證。 |
-u,
|
不適用 (僅限基本驗證) |
僅限 Edge Public 和 Private Cloud | 這個參數不適用於 Apigee 安裝作業。 |
-v,
|
選用 | 全部 | (選用) 產生詳細輸出內容。 |
‑‑virtual-hosts
|
不適用 | 僅限 Edge Private Cloud | 這個參數不適用於 Apigee 安裝作業。 |
範例
如下列範例所示,請務必將 provision
指令的輸出內容擷取到檔案中,做為其他 Apigee Adapter for Envoy 作業的輸入內容。
範例:
apigee-remote-service-cli provision --legacy --mfa $MFA --username $USER --password $PASSWORD \ --organization $ORG --environment $ENV > config.yaml
Samples 指令
建立及列出範例設定檔。
建立設定檔範例
為原生 Envoy 和 Istio 部署作業建立設定檔範例。
用量
apigee-remote-service-cli samples create [flags]
說明
這個指令需要有效的 config.yaml
檔案做為輸入。這個輸入檔案是透過佈建程序產生的檔案。根據預設,範例檔案會輸出至名為 ./samples
的目錄。這個指令會為您建立這個目錄。
如果您使用的是原生 Envoy,這項指令會採用目標服務主機和叢集的所需名稱。如果透過 --tls
提供包含 tls.key
和 tls.crt
的資料夾,系統也會設定從 Envoy Proxy 到遠端服務叢集的自訂 SSL 連線。
如果您使用 Istio,其中 Envoy Proxy 會做為 Sidecar,如果未指定目標,系統會產生 httpbin
範例。否則,您必須負責準備與目標服務部署作業相關的設定檔。
參數
參數 | 存在必要性 | 搭配使用的產品 | 說明 |
---|---|---|---|
‑‑adapter‑host
|
僅適用於 Envoy 範本 | 全部 | (字串) 配接卡主機名稱 (預設值:localhost )
|
-c, ‑‑config
|
必要 | 全部 | (字串) Apigee Remote Service 設定檔的路徑。 提示:這個標記可讓您省略大部分其他指令參數,因為 CLI 可以直接從設定檔中擷取這些參數。請參閱「 使用 --config 選項」。 |
-f, ‑‑force
|
選填 | 全部 | 強制覆寫現有目錄。 |
-h, ‑‑help
|
選填 | 全部 | 顯示指令參數的說明。 |
‑‑host |
僅適用於 Envoy 範本 | 全部 | (字串) 目標服務主機 (預設為 httpbin.org )
|
-n, ‑‑name |
選填 | 全部 | (字串) 目標服務名稱 (預設為 httpbin.org )
|
‑‑out
|
選填 | 全部 | (字串) 建立範例設定檔的目錄。 預設值: ./samples
|
‑‑tag
|
僅適用於 Istio 範本 | 全部 | (字串) Envoy 介面卡映像檔的版本標記。預設:目前發行版本 |
-t, ‑‑template
|
選填 | 全部 | (字串) Envoy 或 Istio 範本名稱。如要查看可用的範本清單,請執行 apigee-remote-service samples templates 指令。預設值:istio-1.9 。預設值適用於所有 1.9 以上版本的 Istio。
|
‑‑tls
|
選用,僅適用於 Envoy 範本 | 全部 | (字串) 包含 tls.key 和 tls.crt 檔案的目錄,用於介面卡服務。 |
範例
apigee-remote-service-cli samples create -c ./config.yaml
列出可用的範本選項
列出可搭配 samples
指令的 --templates
參數使用的範本。
用量
apigee-remote-service-cli samples templates
參數
無
範例
apigee-remote-service-cli samples templates
Supported templates (native is deprecated): envoy-1.15 envoy-1.16 envoy-1.17 istio-1.7 istio-1.8 istio-1.9
權杖指令
您可以使用 JWT 權杖發出經過驗證的 API Proxy 呼叫,不必使用 API 金鑰。權杖指令可讓您建立、檢查及輪替 JWT 權杖,以達到這個目的。
建立 JWT 權杖
您可以使用 JWT 權杖,對遠端服務目標進行經過驗證的 API Proxy 呼叫。另請參閱使用以 JWT 為基礎的驗證機制。用量
apigee-remote-service-cli token create [flags]
參數
參數 | 存在必要性 | 搭配使用的產品 | 說明 |
---|---|---|---|
-c,
|
必填 | 全部 | (字串) Apigee 遠端服務設定檔的路徑。 提示:這個標記可讓您省略大部分其他指令參數,因為 CLI 可以直接從設定檔中擷取這些參數。請參閱「 使用 --config 選項」。 |
-e,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
全部 | (字串) 貴機構中的環境。 |
-h,
|
選用 | 全部 | 顯示指令參數的說明。 |
--i, --id
|
必填 | 全部 | (字串) Apigee 開發人員應用程式中的「金鑰」憑證,如「如何取得 API 金鑰」一文所述。 |
‑‑insecure
|
選用 | 全部 | 使用 SSL 時允許不安全的伺服器連線。 |
‑‑legacy
|
不適用 | 僅限 Edge Public Cloud | 這個參數不適用於 Apigee 安裝作業。 |
‑‑opdk
| 不適用 | 僅限 Edge Private Cloud | 這個參數不適用於 Apigee 安裝作業。 |
-o,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
全部 | (字串) Apigee 機構。您必須是機構管理員。 |
-r,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
僅限 Apigee Hybrid | (字串) 指定 Private Cloud 或 Apigee Hybrid 執行個體的執行階段 URL。
網址開頭必須是 https:// 。例如:https://apitest.example.net
|
--s, ‑‑secret
|
必填 | 全部 | (字串) Apigee 開發人員應用程式中的「密鑰」憑證,如「如何取得 API 金鑰」一文所述。 |
|
不適用 | 僅限 Edge Private Cloud | 這個參數不適用於 Apigee 安裝作業。 |
-v,
|
選用 | 全部 | (選用) 產生詳細輸出內容。 |
範例
apigee-remote-service-cli token create -o myorg -e test -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 \ -s icTARgaKHqvUH1dq -c config.yaml
輸出
成功後,您會看到類似下列的 JST 權杖輸出內容:eyJraWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhY2Nlc3NfdG9rZW4iOiJ0a2tlVzVKQTY2a0pZYTB4bFV1cVBsUW1BMU43IiwiYXVkIjoiaXN0aW8iLCJuYmYiOjE1MzAxMzg1OTEsImFwaV9wcm9kdWN0X2xpc3QiOlsiaXN0aW8tcHJvZHVjdCJdLCJhcHBsaWNhdGlvbl9uYW1lIjoiaXN0aW8tYXBwIiwiZGV2ZWxvcGVyX2VtYWlsIjoicFluZ2Zsb3lkQGdvb2dsZS5jb20iLCJpc3MiOiJodHRwczovL2FwaWdlZXNlYXJjaC10ZXN0LmFwaWdlZS5uZXQvaXN0aW8tYXV0aC90b2tlbiIsImV4cCI6MTUzMDEzOTQ5MSwiaWF0IjoxNTMwMTM4NTkxLCJqdGkiOiIxODgzMzViZi0wMmE4LTRjZGUsOGFkOS0yMWJmNDZjNmRjZDkiLCJjbGllbnRfaWQiOiJZVW1sWkFjQktOc1RBZWxKcVBZRmwzc2g1OE9iQVRYOSJ9.AL7pKSTmond-NSPRNNHVbIzTdAnZjOXcjQ-BbOJ_8lsQvF7PuiOUrGIhY5XTcJusisKgbCdtIxBl8Wq1EiQ_fKnUc3JYYOqzpTB5bGoFy0Yqbfu96dneuWyzgZnoQBkqwZkbQTIg7WNTGx1TJX-UTePvBPxAefiAbaEUcigX9tTsXPoRJZOTrm7IOeKpxpB_gQYkxQtV1_NbERxjTPyMbHdMWal9_xRVzSt7mpTGudMN9OR-VtQ1uXA67GOqhZWcOzq57qImOiCMbaoKnKUADevyWjX_VscN5ZZUtzQUQhTrmv8aR69-uVhMIPKp9juMyYKaYn2IsYZEeCWfhfV45Q
檢查 JWT 權杖
您可以使用這個指令檢查 JWT 權杖。另請參閱「檢查權杖」。用量
apigee-remote-service-cli token inspect [flags]
參數
參數
參數 | 存在必要性 | 搭配使用的產品 | 說明 |
---|---|---|---|
-c,
|
必填 | 全部 | (字串) Apigee 遠端服務設定檔的路徑。 提示:這個標記可讓您省略大部分其他指令參數,因為 CLI 可以直接從設定檔中擷取這些參數。請參閱「 使用 ‑‑config 選項」。 |
-e,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
全部 | (字串) 貴機構中的環境。 |
-f,
|
必填 | 全部 | (字串) 權杖檔案 (預設值:使用 stdin )
|
-h,
|
選用 | 全部 | 顯示指令參數的說明。 |
‑‑insecure
|
選用 | 全部 | 使用 SSL 時允許不安全的伺服器連線。 |
‑‑legacy
|
不適用 | 僅限 Edge Public Cloud | 這個參數不適用於 Apigee 安裝作業。 |
‑‑opdk
| 不適用 | 僅限 Edge Private Cloud | 這個參數不適用於 Apigee 安裝作業。 |
-o,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
全部 | (字串) Apigee 機構。您必須是機構管理員。 |
-r,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
僅限 Apigee Hybrid | (字串) 指定 Private Cloud 或 Apigee Hybrid 執行個體的執行階段 URL。
網址開頭必須是 https:// 。例如:https://apitest.example.net
|
|
不適用 | 僅限 Edge Private Cloud | 這個參數不適用於 Apigee 安裝作業。 |
-v,
|
選用 | 全部 | (選用) 產生詳細輸出內容。 |
範例
apigee-remote-service-cli token inspect -c config.yaml <<< $TOKEN
輸出
成功後,您會看到類似以下的輸出內容:{ "aud": [ "remote-service-client" ], "exp": 1591741549, "iat": 1591740649, "iss": "https://apigee-docs-test.apigee.net/remote-service/token", "jti": "99325d2e-6440-4278-9f7f-b252a1a79e53", "nbf": 1591740649, "access_token": "VfzpXzBGAQ07po0bPMKY4JgQjus", "api_product_list": [ "httpbin" ], "application_name": "httpbin", "client_id": "GYDGHy5TRpV8AejXCOlreP7dPVepA8H", "developer_email": "user@example.com", "scope": "" } verifying... token ok.
輪替 JWT 權杖
在您首次產生 JWT 後,可能需要變更 Apigee 儲存在加密鍵/值對應 (KVM) 中的公開/私密金鑰組。這個產生新金鑰組的過程稱為金鑰輪替。輪替金鑰時,系統會產生新的私密/公開金鑰組,並儲存在 Apigee 機構/環境的「istio」KVM 中。此外,系統會保留舊公開金鑰及其原始金鑰 ID 值。用量
apigee-remote-service-cli token rotate-cert [flags]
參數
參數 | 存在必要性 | 搭配使用的產品 | 說明 |
---|---|---|---|
-c,
|
必填 | 全部 | (字串) Apigee 遠端服務設定檔的路徑。 提示:這個標記可讓您省略大部分其他指令參數,因為 CLI 可以直接從設定檔中擷取這些參數。請參閱「 使用 --config 選項」。 |
-e,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
全部 | (字串) 貴機構中的環境。 |
-h,
|
不適用 | 僅限 Edge Public 和 Private Cloud | 顯示指令參數的說明。 |
--k, --key
|
不適用 | 僅限 Edge Public 和 Private Cloud | (String) 佈建金鑰。 |
‑‑insecure
|
不適用 | 僅限 Edge Public 和 Private Cloud | 使用 SSL 時允許不安全的伺服器連線。 |
‑‑legacy
|
不適用 | 僅限 Edge Public Cloud | 如果您使用 Apigee Edge Public Cloud,就必須設定這個旗標。設定 Apigee Edge Public Cloud 的管理和執行階段網址。 |
‑‑opdk
| 不適用 | 僅限 Edge Private Cloud | 如果您使用 Apigee Edge for Private Cloud,就必須設定這個標記。 |
-o,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
僅限 Edge Public 和 Private Cloud | (字串) Apigee 機構。您必須是機構管理員。 |
-r,
|
不適用 | 僅限 Edge Private Cloud | (字串) 指定 Private Cloud 或 Apigee Hybrid 執行個體的執行階段 URL。
網址開頭必須是 https:// 。例如:https://apitest.example.net
|
--s, ‑‑secret
|
必填 | 全部 | (字串) 佈建密鑰。 |
|
不適用 | 僅限 Edge Private Cloud | (字串) 指定 mTLS 連線的用戶端 TLS 憑證、私密金鑰和根 CA。 |
--t, ‑‑truncate
|
必填 | 全部 | (整數) 要保留在 JWKS 中的憑證數量 (預設為 2)。 |
-v,
|
選用 | 全部 | (選用) 產生詳細輸出內容。 |
範例
apigee-remote-service-cli token rotate-cert -c config.yaml -o myorg -e test \ -k 2e238ffa15dc5ab6a1e97868e7581f6c60ddb8575478582c256d8b7e5b2677a8 \ -s 51058077223fa7b683c3bea845c5cca138340d1d5583922b6d465f9f918a4b08
輸出
certificate successfully rotated
建立內部權杖
建立 JWT 權杖,授權遠端服務 API 呼叫。用量
apigee-remote-service-cli token internal [flags]
參數
參數
參數 | 存在必要性 | 搭配使用的產品 | 說明 |
---|---|---|---|
-c,
|
必填 | 僅限 Apigee Hybrid | (字串) Apigee 遠端服務設定檔的路徑。 提示:這個標記可讓您省略大部分其他指令參數,因為 CLI 可以直接從設定檔中擷取這些參數。請參閱「 使用 --config 選項」。 |
-d,
|
必填 | 僅限 Apigee Hybrid | (字串) 內部 JWT 從建立開始的有效時間 (預設值:10m0s (10 分鐘))。
|
-e,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
僅限 Apigee Hybrid | (字串) 貴機構中的環境。 |
-h,
|
選用 | 僅限 Apigee Hybrid | 顯示指令參數的說明。 |
‑‑insecure
|
選用 | 僅限 Apigee Hybrid | 使用 SSL 時允許不安全的伺服器連線。 |
-o,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
僅限 Apigee Hybrid | (字串) Apigee 機構。您必須是機構管理員。 |
-r,
|
如果已使用 --config ,這個屬性則變成選用屬性。 |
僅限 Apigee Hybrid | (字串) 指定 Apigee Hybrid 執行個體的執行階段 URL。
網址開頭必須是 https:// 。例如:https://apitest.example.net
|
-v,
|
選用 | 僅限 Apigee Hybrid | (選用) 產生詳細輸出內容。 |
版本指令
列印 CLI 版本。
apigee-remote-service-cli version
設定檔
本節會顯示設定檔範例,其中包含所有可用選項。
global: temp_dir: /tmp/apigee-istio keep_alive_max_connection_age: 10m api_address: :5000 metrics_address: :5001 tls: cert_file: tls.crt key_file: tls.key tenant: internal_api: https://istioservices.apigee.net/edgemicro remote_service_api: https://org-test.apigee.net/remote-service org_name: org env_name: env key: mykey secret: mysecret client_timeout: 30s tls: ca_file: /opt/apigee/tls/ca.crt cert_file: /opt/apigee/tls/tls.crt key_file: /opt/apigee/tls/tls.key allow_unverified_ssl_cert: false products: refresh_rate: 2m analytics: legacy_endpoint: false file_limit: 1024 send_channel_size: 10 collection_interval: 10s auth: api_key_claim: claim api_key_cache_duration: 30m api_key_header: x-api-key api_header: :authority allow_unauthorized: false jwt_provider_key: https://org-test.apigee.net/remote-token/token append_metadata_headers: true