Edge Microgate 的 CLI 参考文档

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

Edge Microgate v. 3.1.5 及更高版本

概览

借助 Edge Microgate CLI,您可以控制和管理 Edge Microgate 实例的各个方面。

管理证书

借助 cert 命令,您可以安装和管理公钥/私钥对,该密钥对用于对客户端用于通过 Edge Microgate 进行安全调用的不记名令牌进行签名。密钥存储在 Apigee Edge 中,以加密键值对映射 (KVM) 的形式存储。Edge Microgate 使用公钥来验证已签名的不记名令牌。这些密钥会在您运行 edgemicro 配置命令时生成,如设置和配置 Edge Microgate 中所述。如果需要,您可以使用此处介绍的 cert 命令来重新生成和管理这些密钥。

安装证书

在加密的键值对映射 (KVM) 中安装密钥,并返回公钥作为输出。键对的范围限定为指定的组织。

用法

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

参数

参数 说明
-o, --org 您为 Edge Microgate 配置了 Apigee 组织。
-e, --env 您配置了 Edge Microgate 的环境。
-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 Microgate 配置了 Apigee 组织。
-e, --env 您配置了 Edge Microgate 的环境。
-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 Microgate 配置了 Apigee 组织。
-e, --env 您配置了 Edge Microgate 的环境。
-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 Microgate 配置了 Apigee 组织。
-e, --env 您配置了 Edge Microgate 的环境。
-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 Microgate

让 Edge Microgate 与 Apigee Edge Cloud 实例搭配使用。它会封装并执行一系列命令,以将所需的身份验证代理部署到 Edge、生成身份验证令牌和更新配置文件。如需查看完整的工作示例,请参阅设置和配置 Edge Microgate

用法

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

参数

参数 说明
-o, --org 您为 Edge Microgate 配置了 Apigee 组织。
-e, --env 您配置了 Edge Microgate 的环境。
-u, --username 您的 Apigee 用户名。您必须是指定组织的组织管理员。
-p, --password (可选)您的密码。如果您未在命令行中提供此参数,系统将提示您。
-r, --url (可选)为“组织:environment”指定虚拟主机别名。如需了解虚拟主机,请参阅 Edge 文档。默认值:org-env.apigee.net
-c, --configDir (可选)指定 Edge Microgate 配置文件的路径。默认情况下,配置文件位于 ./config/config.yaml 中。(新增 v2.4.x)
-x, --proxyName (可选)设置 edgemicro-auth 代理的基本路径。如果将 edgemicro-auth 代理部署在与默认 /edgemicro-auth 不同的路径下,则此功能允许您在 Edge Microgate 中设置新路径。默认情况下,基本路径为 /edgemicro-auth。(新增 v2.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 Microgate 时需要使用的一组密钥。

...

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

edgemicro configuration complete!

生成键

genkeys 命令生成一个密钥和密钥令牌对,在将分析数据异步发布到 Apigee Edge 时,Edge Microgate 将使用它来验证自己的身份。

用法

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

参数

参数 说明
-o, --org 您为 Edge Microgate 配置了 Apigee 组织。
-e, --env 您配置了 Edge Microgate 的环境。
-u, --username 您的 Apigee 用户名。您必须是指定组织的组织管理员。
-p, --password (可选)您的密码。如果您未在命令行中提供此参数,系统将提示您。
-t, --token (可选)可让您使用 OAuth 令牌(而不是用户名/密码)进行身份验证。另请参阅使用 OAuth2 访问令牌保障 API 调用的安全。 例如:

edgemicro genkeys -o docs -e test -t <your token>
-h, --help 输出使用情况信息。

使用说明

成功后,该命令将返回三个项。第一个是您需要添加到配置文件中的网址。另两个是启动 Edge Microgate 实例时所需的密钥对。

  • 引导网址:此网址指向一项 Apigee Edge 服务,使 Edge Microgate 实例能够将分析数据发送到 Apigee Edge。您需要将该网址复制到 Edge Microgate 配置文件:~/.edgemicro/org-env-config.yaml
  • key:键。此密钥及密钥必须作为输入提供给用于启动 Edge Microgate 实例的 CLI 命令。
  • secret:密钥。

示例

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

输出 (示例)

成功后,该命令会返回您在启动 Edge Microgate 时需要使用的一组密钥。

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 私有云配置 Edge Microgate

将 Edge Microgate 配置为与安装的 Apigee Edge Private Cloud 搭配使用。

用法

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

参数

参数 说明
-o, --org 您为 Edge Microgate 配置了 Apigee 组织。
-e, --env 您配置了 Edge Microgate 的环境。
-u, --username 您的 Apigee 用户名。您必须是指定组织的组织管理员。
-p, --password (可选)您的密码。如果您未在命令行中提供此参数,系统将提示您。
-r, --runtime-url 指定私有云实例的运行时网址。
-m, --mgmt-url 私有云实例的管理服务器的网址。
-v, --virtualHosts “organization:environment”的虚拟主机列表(以英文逗号分隔)。默认值为“default,secure”。
-c, --configDir (可选)指定 Edge Microgate 配置文件的路径。默认情况下,配置文件位于 ./config/config.yaml 中。(新增 v2.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 Microgate 时需要使用的一组密钥。

...

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

edgemicro configuration complete!

启动 Edge Microgate

在启动 Edge Microgate 之前,您必须先运行 edgemicro 配置(公有云)或 edgemicro 专用配置(私有云)。configure 命令会返回启动 Edge Microgate 所需的键值和 Secret 值。

用法

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

参数

参数 说明
-o, --org 您为 Edge Microgate 配置了 Apigee 组织。
-e, --env 您配置了 Edge Microgate 的环境。
-k, --key 当您运行“edgemicro configure”命令时返回的键值对。
-s, --secret 运行“edgemicro configure”命令时返回的 Secret 值。
-p, --processes (可选)要启动的进程数。默认值:系统上的核心数。
-d, --pluginDir (可选)插件目录的绝对路径。
-r, --port (可选)替换 ~/.edgemicro/org-env-config.yaml 文件中指定的端口号。默认值:8000
-c, --cluster

(可选)以集群模式启动 Edge Microgate。

注意从 v2.3.1 开始,此选项已被移除。在 v2.3.1 及更高版本中,Edge Micro 始终以集群模式启动。

-c, --configDir (可选)指定 Edge Microgate 配置文件的路径。默认情况下,配置文件位于 ./config/config.yaml 中。(新增 v2.4.x)
-u, --configUrl (可选)指定 Edge Microgate 将从中下载其配置文件的端点。(新增 v2.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 Microgate 将返回错误。

关于聚类

Edge Microgate 采用 Node.js 集群模块来启用集群。通过聚类,Edge Microgate 可以充分利用多核系统。如需了解详情,请参阅此 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 Microgate 进行经过身份验证的 API 调用。该令牌是符合 OAuth 2.0 的 JSON Web 令牌 (JWT)。它需要来自 Apigee Edge 上已注册开发者应用的使用方密钥(客户端 ID)和使用方密钥(客户端密钥)值。另请参阅 使用 OAuth2 访问令牌确保 API 调用安全

用法

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

参数

参数 说明
-o, --org 您为 Edge Microgate 配置了 Apigee 组织。
-e, --env 您配置了 Edge Microgate 的环境。
-1, --key 与 Microgate 感知代理关联的开发者应用中的客户端 ID。
-s, --secret 与 Microgate 感知代理关联的开发者应用中的客户端密钥。
-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 是贵组织的环境(例如“测试”或“生产”)。
  • $CLIENT_ID 是您之前创建的开发者应用中的消费者 ID。
  • $CLIENT_SECRET 是您之前创建的开发者应用中的使用方密钥。

验证令牌

根据为指定的组织和环境存储在 Apigee Edge 中的公钥验证已签名的不记名令牌。

用法

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

参数

参数 说明
-o, --org 您为 Edge Microgate 配置了 Apigee 组织。
-e, --env 您配置了 Edge Microgate 的环境。
-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 Microgate 配置

首次安装 Edge Microgate 后,运行此命令一次。创建一个新的默认配置文件:~/.edgemicro/default.yaml

用法

edgemicro init

参数

参数 说明
-c, --configDir (可选)指定 Edge Microgate 配置文件的路径。默认情况下,配置文件位于 ./config/config.yaml 中。(新增 v2.4.x)
-h, --help 输出使用情况信息。

示例

edgemicro init

输出 (成功)

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

验证 Edge Microgate 配置

验证 Edge Microgate 是否配置正确。

用法

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 Microgate 会以集群模式启动。您可以使用此命令检查集群的状态。

用法

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 Microgate 集群。

用法

edgemicro stop

参数

参数 说明
-h, --help 输出使用情况信息。

示例

edgemicro stop

输出 (成功)

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

重新加载微网关集群

在配置更改后提供零停机重启。通过提取新配置来重新加载 Edge Microgate。

用法

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

参数

参数 说明
-o, --org 您为 Edge Microgate 配置了 Apigee 组织。
-e, --env 您配置了 Edge Microgate 的环境。
-k, --key 当您运行“edgemicro configure”命令时返回的键值对。
-s, --secret 运行“edgemicro configure”命令时返回的 Secret 值。
-h, --help 输出使用情况信息。

示例

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

输出 (成功)

...

Reload Completed Successfully

升级 Edgemicro-auth 代理

如需使用密钥轮替,您必须在 Apigee Edge 组织中部署升级后的 Edgemicro-auth 代理。(新增 v2.5.x)

注意:如果您在版本 2.5.2 之前配置了当前的 Edge Micro 实例,那么如果您要使用密钥轮替,则必须升级此代理。您只需进行一次此升级即可。

用法

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

参数

参数 说明
-o, --org 您为 Edge Microgate 配置了 Apigee 组织。
-e, --env 您配置了 Edge Microgate 的环境。
-u, --username 您的 Apigee 用户名。您必须是指定组织的组织管理员。
-p, --password (可选)您的密码。如果您未在命令行中提供此参数,系统将提示您。
-v, --virtualhost (可选)代理的虚拟主机。
-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 升级。

用法

适用于公有云的 Edge:

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 Microgate 配置了 Apigee 组织。
-e, --env 您配置了 Edge Microgate 的环境。
-k, --key 当您运行“edgemicro configure”命令时返回的键值对。
-s, --secret 运行“edgemicro configure”命令时返回的 Secret 值。
-p, --proxyuri edgemicro_auth 代理的 URI

Edge 公有云:可选。
Edge Private Cloud:必需。

Edge 公有云示例:

 -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 命令轮替用于生成 JWT 令牌的公钥/私钥对,用于在 Edge Microgate 上确保 OAuth 安全性。

如需了解详情,请参阅 轮替 JWT 密钥

用法

适用于公有云的 Edge:

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 Microgate 的 Apigee 组织。
-e, --env (必需)您已为其配置 Edge Microgate 的环境。
-k, --key 当您运行“edgemicro configure”命令时返回的键值对。
-s, --secret 运行“edgemicro configure”命令时返回的 Secret 值。
-p 指向 Apigee Edge 要使用的自定义私钥的路径。(在 3.1.6 中新增)
-c 指向 Apigee Edge 要使用的自定义证书的路径。(在 3.1.6 中新增)
-n, --nbf

配置新私钥生效的延迟时间(以分钟为单位)。此延迟为使用新公钥刷新微网关实例留出了时间。较好的做法是将延迟时间设置为大于 config_change_poll_internal 配置设置(默认为 10 分钟)。如需了解详情,请参阅配置“不早于”延迟。(添加于 3.1.6)

注意 :如果您将此选项与低于 Edge Microgate 3.1.6 分发的版本之前的 edgemicro-auth 版本搭配使用,系统会忽略该标志。

-i, --kid (可选)用于匹配特定键的 ID。在密钥轮替期间,Edge Microgate 使用此值在一组密钥中进行选择。如果省略此参数(推荐),Edge Microgate 会生成基于时间戳的密钥。如需了解详情,请参阅 JSON Web 密钥规范的第 4.5 节。
-r, --rotatekeyuri 轮替密钥 URI。

Edge 公有云:可选。
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 界面中查看微网关 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 Microgate 的 Apigee 组织。
  • EDGEMICRO_ENV - 您为其配置了 Edge Microgate 的环境。
  • EDGEMICRO_KEY - 运行“edgemicro configure”命令时返回的键值对。
  • EDGEMICRO_SECRET - 运行“edgemicro configure”命令时返回的 Secret 值。
edgemicro forever -f [forever_file] -a [start|stop]

参数

参数说明
-f, --file指定 forever.json 文件的位置。
-a, --action可以选择 startstop。默认值为 start。

示例

如要永久启动:

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

如需永久停止,请执行以下操作:

edgemicro forever -a stop

撤消密钥

使用 edgemicro revokekeys 命令撤消 Edge Microgate 配置的密钥和 Secret 凭据。

用法

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

参数

参数 说明
-o, --org (必需)为其配置了 Edge Microgate 的 Apigee 组织。
-e, --env (必需)您已为其配置 Edge Microgate 的环境。
-u, --username (必需)您的 Apigee 用户名。您必须是指定组织的组织管理员。
-p, --password (可选)您的密码。如果您未在命令行中提供此参数,系统将提示您。
-k, --key (必需)要撤消的密钥。
-s, --secret (必需)要撤消的密钥。

示例

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

成功后,您将看到以下消息:

key 2c0064f5bd85f5573dcaffe21566fa7a2d49885cdbf8899370c8a4479285f revoked successfully