Referência da CLI para o Edge Microgateway

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Edge Microgateway v. 2.3.x

Informações gerais

Com a CLI do Edge Microgateway, é possível controlar e gerenciar todos os aspectos de uma instância do Edge Microgateway.

Como gerenciar certificados

Com os comandos cert, é possível instalar e gerenciar o par de chaves pública/privada que é usado para assinar os tokens do portador usados pelos clientes para fazer chamadas seguras pelo Edge Microgateway. As chaves são armazenadas no Apigee Edge em um cofre seguro. O Edge Microgateway usa a chave pública para validar tokens do portador assinados. Essas chaves são geradas quando você executa o comando de configuração do Edgemicro, conforme explicado em Como instalar e configurar o Edge Microgateway. É possível usar os comandos cert descritos aqui para gerar e gerenciar essas chaves novamente, se necessário. 

Instalar um certificado

Instala as chaves em um cofre usando o serviço de armazenamento seguro do Apigee Edge e retorna a chave pública como saída. O escopo dos pares de chaves é definido para uma organização especificada.

Uso

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

Parâmetros

Parâmetros Descrição
-o, --org A organização da Apigee em que você configurou o Edge Microgateway.
-e, --env Um ambiente em que você configurou o Edge Microgateway.
-u, --username Seu nome de usuário da Apigee. Você precisa ser um administrador da organização especificada.
-p, --password (Opcional) Sua senha. Você vai receber uma solicitação se não informar esse parâmetro na linha de comando.
-f, --force (Opcional) Se uma chave já estiver armazenada no Vault, force a substituição dela.
-h, --help Informações de uso de saída.

Exemplo

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

Saída

current nodejs version is v6.1.0
current edgemicro version is 2.2.4-beta
password:
deleting vault
creating vault
adding private_key
adding public_key
installed cert

Excluir um certificado

Exclui o par de chaves de uma organização.

Uso

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

Parâmetros

Parâmetros Descrição
-o, --org A organização da Apigee em que você configurou o Edge Microgateway.
-e, --env Um ambiente em que você configurou o Edge Microgateway.
-u, --username Seu nome de usuário da Apigee. Você precisa ser um administrador da organização especificada.
-p, --password (Opcional) Sua senha. Você vai receber uma solicitação se não informar esse parâmetro na linha de comando.
-h, --help Informações de uso de saída.

Exemplo

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

Saída

deleting vault
Vault deleted!

Verificar um certificado

Verifica se sua organização tem um certificado instalado.

Uso

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

Parâmetros

Parâmetros Descrição
-o, --org A organização da Apigee em que você configurou o Edge Microgateway.
-e, --env Um ambiente em que você configurou o Edge Microgateway.
-u, --username Seu nome de usuário da Apigee. Você precisa ser um administrador da organização especificada.
-p, --password (Opcional) Sua senha. Você vai receber uma solicitação se não informar esse parâmetro na linha de comando.
-h, --help Informações de uso de saída.

Exemplo

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

Saída (êxito)

checked cert successfully

Saída (falha)

Se o certificado não existir, será retornado um erro.

Receber a chave pública

Retorna a chave pública da organização especificada. Não exige autenticação.

Uso

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

Parâmetros

Parâmetros Descrição
-o, --org A organização da Apigee em que você configurou o Edge Microgateway.
-e, --env Um ambiente em que você configurou o Edge Microgateway.
-h, --help Informações de uso de saída.

Exemplo

edgemicro cert public-key -o docs -e test

Saída (exemplo)

-----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-----

 

Como configurar o Edge Microgateway para o Apigee Edge Cloud

Permite que o Edge Microgateway opere com uma instância do Apigee Edge Cloud. Ele encapsula e executa uma sequência de comandos para implantar um proxy de autenticação necessário no Edge, gerar tokens de autenticação e atualizar arquivos de configuração. Veja um exemplo completo em Como instalar e configurar o Edge Microgateway.

Uso

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

Parâmetros

Parâmetros Descrição
-o, --org A organização da Apigee em que você configurou o Edge Microgateway.
-e, --env Um ambiente em que você configurou o Edge Microgateway.
-u, --username Seu nome de usuário da Apigee. Você precisa ser um administrador da organização especificada.
-p, --password (Opcional) Sua senha. Você vai receber uma solicitação se não informar esse parâmetro na linha de comando.
-r, --url (Opcional) Especifica o alias do host virtual em "organization:environment". Consulte a documentação do Edge para saber mais sobre hosts virtuais. Padrão: org-env.apigee.net
-v, --virtualHosts (Opcional) Substitui os hosts virtuais padrão, que são "default,secure". Use essa opção se você tiver hosts virtuais especificados para o ambiente da organização de Edge diferente dos padrões. Consulte a documentação do Edge para saber mais sobre hosts virtuais.
-d, --debug (Opcional) Fornece informações de depuração.
-h, --help Informações de uso de saída.

Observações sobre o uso

Esse comando armazena informações de configuração em ~/.edgemicro/org-env-config.yaml.

Exemplo

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

Saída

Após a conclusão, o comando retorna um conjunto de chaves que você precisa usar ao iniciar o Edge Microgateway.

...

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

edgemicro configuration complete!

 

Como gerar chaves

O comando genkeys gera um par de chaves e secrets usados pelo Edge Microgateway para se autenticar ao postar dados de análise de maneira assíncrona no Apigee Edge.

Uso

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

Parâmetros

Parâmetros Descrição
-o, --org A organização da Apigee em que você configurou o Edge Microgateway.
-e, --env Um ambiente em que você configurou o Edge Microgateway.
-u, --username Seu nome de usuário da Apigee. Você precisa ser um administrador da organização especificada.
-p, --password (Opcional) Sua senha. Você vai receber uma solicitação se não informar esse parâmetro na linha de comando.
-h, --help Informações de uso de saída.

Observações sobre o uso

Após a conclusão, o comando retorna três itens. O primeiro é um URL que você precisa colocar no arquivo de configuração. Os outros dois são um par de chaves necessário para iniciar uma instância do Edge Microgateway.

  • URL de inicialização: aponta para um serviço do Apigee Edge que permite que uma instância do Edge Microgateway envie dados de análise para o Apigee Edge. Você precisa copiar esse URL para o arquivo de configuração do Edge Microgateway: ~/.edgemicro/org-env-config.yaml.
  • key: a chave. Essa chave e o secret são necessários como entrada para o comando da CLI usado para iniciar uma instância do Edge Microgateway.
  • secret: o secret.

Exemplo

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

Saída (exemplo)

Após a conclusão, o comando retorna um conjunto de chaves que você precisa usar ao iniciar o 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

 

Como configurar o Edge Microgateway para a nuvem privada do Apigee Edge

Configura o Edge Microgateway para trabalhar com uma instalação de nuvem privada do Apigee Edge.

Uso

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

Parâmetros

Parâmetros Descrição
-o, --org A organização da Apigee em que você configurou o Edge Microgateway.
-e, --env Um ambiente em que você configurou o Edge Microgateway.
-u, --username Seu nome de usuário da Apigee. Você precisa ser um administrador da organização especificada.
-p, --password (Opcional) Sua senha. Você vai receber uma solicitação se não informar esse parâmetro na linha de comando.
-r, --runtime-url Especifica o URL de ambiente de execução da sua instância de nuvem privada.
-m, --mgmt-url O URL do servidor de gerenciamento da instância de nuvem privada.
-v, --virtualHosts Lista separada por vírgulas de hosts virtuais para "organization:environment". Padrão "default,secure".
-d, --debug (Opcional) Fornece informações de depuração.
-h, --help Informações de uso de saída.

Observações sobre o uso

Esse comando armazena informações de configuração em ~/.edgemicro/org-env-config.yaml.

Exemplo

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

Saída

Após a conclusão, o comando retorna um conjunto de chaves que você precisa usar ao iniciar o Edge Microgateway.

...

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

edgemicro configuration complete!

 

Iniciando o Edge Microgateway

Antes de iniciar o Edge Microgateway, é preciso executar edgemicro configure (nuvem pública) ou edgemicro private configure (nuvem privada). O comando "configure" retorna os valores de chave e secret necessários para iniciar o Edge Microgateway.

Uso

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

Parâmetros

Parâmetros Descrição
-o, --org A organização da Apigee em que você configurou o Edge Microgateway.
-e, --env Um ambiente em que você configurou o Edge Microgateway.
-k, --key A chave-valor retornada quando você executa o comando "edgemicro configure".
-s, --secret O valor do secret retornado quando você executa o comando "edgemicro configure".
-p, --processes (Opcional) O número de processos a serem iniciados. Padrão: o número de núcleos no seu sistema.
-d, --pluginDir (Opcional) Caminho absoluto para o diretório do plug-in.
-r, --port (Opcional) Substitui o número da porta especificado no arquivo ~/.edgemicro/org-env-config.yaml. Padrão: 8.000
-c, --cluster

(Opcional) Inicia o Edge Microgateway no modo de cluster.

Observação:a partir da versão 2.3.1, essa opção foi removida. Nas versões 2.3.1 e mais recentes, o Edge Micro sempre é iniciado no modo de cluster.

-c --config (Opcional) Especifica o local do arquivo default config.yaml. Por padrão, esse arquivo está em ./config/config.yaml.
-d, --debug (Opcional) Fornece informações de depuração.
-h, --help Informações de uso de saída.

Como configurar a porta

O comando start permite especificar um número de porta para substituir a especificada no arquivo de configuração. Também é possível especificar um número de porta usando a variável de ambiente PORT. Exemplo:

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

ou

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

Se a porta estiver em uso, o Edge Microgateway retornará um erro.

Sobre o clustering

O Edge Microgateway usa o módulo de cluster do Node.js para ativar o cluster. O clustering permite que o Edge Microgateway aproveite os sistemas de vários núcleos. Veja mais detalhes na documentação do Node.js

Exemplo

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

Exemplo de resposta:

...

PROCESS PID : 54709
installed plugin from analytics
installed plugin from analytics
installed plugin from oauth
installed plugin from oauth
installed plugin from analytics
installed plugin from oauth
5a86b570-a142-11e6-aa1f-6730e9065d6c edge micro listening on port 8000
5a86dc80-a142-11e6-962c-43d9cc723190 edge micro listening on port 8000
5a8751b0-a142-11e6-8241-cf1c517c91eb edge micro listening on port 8000
installed plugin from analytics
installed plugin from oauth
5a924e30-a142-11e6-8740-2944162ce275 edge micro listening on port 8000

 

Como gerenciar tokens

Os comandos token permitem receber, decodificar e verificar os tokens de acesso OAuth2 assinados. Consulte também Chamadas de API seguras com um token de acesso do OAuth2

Decodificar um token

Decodifica um token do portador assinado e codificado em sua representação JSON JWT (Java Web Token) de texto simples. Um token transmite informações sobre o aplicativo de desenvolvedor do Apigee Edge que forneceu as chaves usadas para criar o token, incluindo o nome do aplicativo, client_id, lista de produtos e muito mais.

Uso

edgemicro token decode -f [filename]

Parâmetros

Parâmetros Descrição
-f, --file O nome de um arquivo que contém o token JWT a ser decodificado.
-h, --help Informações de uso de saída.

Exemplo

edgemicro token decode -f token.jwt

Saída (exemplo)

{ 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: '' }

Gerar um token

Gera um token do portador assinado. O token permite que apps clientes façam chamadas de API autenticadas para o Edge Microgateway. O token é um JSON Web Token (JWT) compatível com OAuth 2.0. Ele exige como entrada os valores de chave do cliente (ID do cliente) e chave secreta do cliente (secret do cliente) de um app de desenvolvedor registrado na Apigee Edge. Consulte também Chamadas de API seguras com um token de acesso do OAuth2.

Uso

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

Parâmetros

Parâmetros Descrição
-o, --org A organização da Apigee em que você configurou o Edge Microgateway.
-e, --env Um ambiente em que você configurou o Edge Microgateway.
-1, --key O ID do cliente do app do desenvolvedor associado ao seu proxy com reconhecimento do Microgateway.
-s, --secret A chave secreta do cliente do app do desenvolvedor associado ao seu proxy com reconhecimento do Microgateway.
-h, --help Informações de uso de saída.

Exemplo

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

Saída (exemplo)

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

Como fazer uma solicitação HTTP para receber um token

Também é possível fazer uma solicitação HTTP bruta para receber o token. Confira um exemplo de curl. Basta substituir os nomes da organização e do ambiente no URL, além dos valores de ID e chave secreta do cliente pelos parâmetros client_id e client_secret:

curl -i -X POST "http://<org>-<test>.apigee.net/edgemicro-auth/token" -d '{"grant_type": "client_credentials", "client_id": "4t8X137pOUUtMR7wag3M1yZTcRxeK", "client_secret": "RAcOFVOvO0jns"}' -H "Content-Type: application/json"

Verificar um token

Verifica um token do portador assinado em relação à chave pública armazenada no Apigee Edge para a organização e o ambiente especificados.

Uso

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

Parâmetros

Parâmetros Descrição
-o, --org A organização da Apigee em que você configurou o Edge Microgateway.
-e, --env Um ambiente em que você configurou o Edge Microgateway.
-f, --file O nome de um arquivo que contém o JWT a ser verificado.
-h, --help Informações de uso de saída.

Exemplo

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

Exemplo de saída para um token válido

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

  client_id: 'O9ZQRZKnn1rdgcKQsAZUBkQSMdOsKS',

  scopes: [],

  api_product_list: [ 'MicroTest' ],

  iat: 1436396155,

  exp: 1436397954 }

Exemplo de saída para token inválido

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

Exemplo de saída do token expirado

{ [TokenExpiredError: jwt expired]

  name: 'TokenExpiredError',

  message: 'jwt expired',

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

Receber tokens do portador diretamente

Talvez você prefira receber os tokens do portador diretamente, fazendo uma solicitação HTTP para o endpoint do token no Apigee Edge. O endpoint real do token é implementado no proxy implantado com o comando da CLI deploy-edge-service.

Confira um exemplo de curl. Basta substituir os nomes da organização e do ambiente no URL e os valores de ID e chave secreta do cliente recebidos de um app de desenvolvedor no Apigee Edge pelos parâmetros client_id e client_secret:

curl -i -X POST "http://<org>-<test>.apigee.net/edgemicro-auth/token" -d '{"grant_type": "client_credentials", "client_id": "4t8X137pOUUtMR7wag3M1yZTcRxeK", "client_secret": "RAcOFVOvO0jns"}' -H "Content-Type: application/json"

Exemplo de resposta:

HTTP/1.1 200 OK

X-Powered-By: Express

Cache-Control: no-store

Pragma: no-cache

Content-Type: application/json; charset=utf-8

Content-Length: 640

ETag: W/"280-ze/g/k+c9taqp110vjYQ"

Date: Fri, 17 07 2015 15:49:24 GMT

Connection: keep-alive

"<long string of numbers and letters>"

Como inicializar uma nova configuração do Edge Microgateway

Execute este comando uma vez depois de instalar o Edge Microgateway. Cria um novo arquivo de configuração padrão: ~/.edgemicro/default.yaml.

Uso

edgemicro init 

Parâmetros

Parâmetros Descrição
-h, --help Informações de uso de saída.

Exemplo

edgemicro init

Saída (êxito)

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

Como verificar a configuração do Edge Microgateway

Verifica se o Edge Microgateway está configurado corretamente.

Uso

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

Parâmetros

Parâmetros Descrição
-o, --org A organização da Apigee em que você configurou o Edge Microgateway.
-e, --env Um ambiente em que você configurou o Edge Microgateway.
-k, --key A chave-valor retornada quando você executa o comando "edgemicro configure".
-s, --secret O valor do secret retornado quando você executa o comando "edgemicro configure".
-h, --help Informações de uso de saída.

Exemplo

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

Saída (êxito)

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

Verifique o status do cluster do microgateway

Adicionado: v2.2.4-beta

Por padrão, o Edge Microgateway é iniciado no modo de cluster. Use este comando para verificar o status do cluster.

Uso

edgemicro status

Parâmetros

Parâmetros Descrição
-h, --help Informações de uso de saída.

Exemplo

edgemicro status

Saída (êxito)

current nodejs version is v6.1.0
current edgemicro version is 2.2.4-beta
edgemicro is running with 4 workers

Como interromper o cluster do microgateway

Adicionado: v2.2.4-beta

Interrompe o cluster do Edge Microgateway.

Uso

edgemicro stop

Parâmetros

Parâmetros Descrição
-h, --help Informações de uso de saída.

Exemplo

edgemicro stop

Saída (êxito)

current nodejs version is v6.1.0
current edgemicro version is 2.2.4-beta
Stop Completed Successfully

Como recarregar o cluster do microgateway

Adicionado: v2.2.4-beta

Fornece reinicialização com inatividade zero após uma mudança de configuração. Recarrega o Edge Microgateway extraindo uma nova configuração.

Uso

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

Parâmetros

>
Parâmetros Descrição
-o, --org A organização da Apigee em que você configurou o Edge Microgateway.
-e, --env Um ambiente em que você configurou o Edge Microgateway.
-k, --key A chave-valor retornada quando você executa o comando "edgemicro configure".
-s, --secret O valor do secret retornado quando você executa o comando "edgemicro configure".
-h, --help Informações de uso de saída.

Exemplo

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

Saída (êxito)

...

Reload Completed Successfully