Como definir e configurar o Edge Microgateway

Você está lendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

Edge Microgateway v. 2.3.x

Visão geral

Neste tutorial, você vai aprender as etapas necessárias para colocar uma instância do Edge Microgateway em funcionamento.

Depois de concluir as etapas aqui, você terá uma instalação do Edge Microgateway totalmente configurada e funcional, capaz de processar solicitações de API. Você vai testar a configuração fazendo chamadas de API seguras pelo Edge Microgateway para um destino de back-end. Você também vai aprender a adicionar um plug-in de interrupção de picos ao Microgateway.

Este guia está dividido nas seguintes partes:

Pré-requisito: instalar o Edge Microgateway

Siga as instruções em Instalar o Edge Microgateway. Quando a instalação for concluída, você poderá seguir as etapas deste tutorial.

Quando terminar a instalação, vá para a próxima seção, "Parte 1: configurar o Edge Microgateway".

Parte 1: configurar o Edge Microgateway

Nesta parte, você vai usar um comando da interface de linha de comando (CLI) para configurar o Edge Microgateway e se comunicar com o Apigee Edge. Se você estiver usando o Apigee Edge Cloud, siga as etapas de configuração do Apigee Edge Cloud. Se você estiver na nuvem privada do Apigee, siga as etapas para a nuvem privada do Apigee Edge.

Etapas de configuração da Apigee Edge Cloud

Siga estas etapas para usar o Edge Microgateway com o Apigee Edge Cloud:

  1. Se você ainda não fez isso, inicialize o Edge Microgateway (basta fazer isso uma vez):
    edgemicro init
  2. (Opcional) Imprima a ajuda do comando edgemicro configure:
    edgemicro configure -h
  3. Execute o seguinte comando para configurar o Edge Microgateway:
    edgemicro configure -o [org] -e [env] -u [username] 

    Em que:

    • org é o nome da sua organização do Edge. Você precisa ser um administrador da organização.
    • env é um ambiente na sua organização, como teste ou produção.
    • username é o endereço de e-mail associado à sua conta do Apigee.

Exemplo

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

Saída

./edgemicro configure -o docs -e test -u jdoe@apigee.com
password:
current nodejs version is v6.1.0
current edgemicro version is 2.2.3-beta
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
creating vault
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/wwitman-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCaDpaTttaDANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTYxAxMjA0NzIyWhcNMTYxMTAyMjA0NzIyWjAUMRIwEAYD
VQQDEwlsb2NhbGhvcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDA
YbtbsFe50GgBrI8QTih5yzxxxvCfdubGrLWmovwwCCFthno3u8lS54ekOL9jQu
JTJsocJfNhZxvnXifDsCk5Muwx87Z/D0BYLw9ZhM8TMyA2MCkXgC6RfKT69IdJ
jT3X+3D0s+apr3lACsDhgOfaeQfeHAm1SSwH/VemaJqdImGkQMtM8uscMDwG6k
vBbCSNS+hh6ZH1m3tAkcKXqvj/E1hbrHNTWr+uiYFRByUzeo1I607daQD4Lxid
il4Ng3hr3LC1gEzvobWgVyhQ2ovYB57T886H7dGghTnOUxLm2y/TwmQya+44SL
JSsDwauArMF38cRKZZ7VAgMBAAEwDQYJKoZIhvcNAQELBQADEBAHwwu+gOn8Tq
jKOYBTXtOX11HPMTxmyvZ/I57R4roE7Z/lXg/DXwbiFpFG2uamXNKq7yTDJH2i
iiqdERZOGfv7TJMjRlxEnfVHoCV7UKguKq4zeeAEU2x55yFwpWNrarx0kMXRwI
v3WgGfo2bimFQrCjDCNIkDKmYYt4SXIF5zUJmBWPCaK9aJoQb7ARXQO9s2zoOI
XZ5bCUDbehQZ+6LyqC0hgDXiIZYy7R0j93yCbQgoHaHUMEprJEEjE24SHdsWBO
nxGZxB20JLq5AHTm8lbZp7XtvbU0jVpxyrBo2/olFnmpvBVOq9eIp042IVD7nT
J4rPejdK6C4=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: e88ec9d5da17cd88ca338d532b7c7a8c4f43ddd3da139d95955ab345af30352d
  secret: d7f64854eb6889d06b809dd7c161dba5eeba4a2657277fd819921bf992221a8f

edgemicro configuration complete!
    

Etapas de configuração da nuvem privada da Apigee

Siga estas etapas para usar o Edge Microgateway com o Apigee Private Cloud:

  1. Imprime informações de ajuda para o comando edgemicro private configure. É possível imprimir ajuda dessa forma para qualquer comando ou opção de comando da CLI do Edge Microgateway.
    edgemicro private configure -h
  2. Execute o comando a seguir. Ele exige informações padrão sobre sua conta do Apigee Edge Private Cloud: nome da organização, nome do ambiente, nome de usuário (endereço de e-mail), senha, IP do servidor de gerenciamento e IP do roteador. Você precisa ser um administrador da organização do Edge para usar este comando:
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]

    Em que:

    • org é o nome da sua organização do Edge. Você precisa ser um administrador da organização.
    • env é um ambiente na sua organização, como teste ou produção.
    • runtime_url é o URL de ambiente de execução da sua instância de nuvem privada.
    • mgmt_url é o URL do servidor de gerenciamento da instância de nuvem privada.
    • username é o endereço de e-mail associado à sua conta do Apigee.
    • virtual_host é uma lista separada por vírgulas de nomes de hosts virtuais. Os valores padrão são default,secure

Exemplo

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

ou, se você tiver um alias de host virtual myorg-test.mycompany.com, use um comando como este:

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

Saída

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 vault creating vault adding private_key adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: /Users/ApigeeCorporation/.edgemicro/jdoe-test-config.yaml 
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o 
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: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4dd09389b645147151ba3 
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac30ace944c097a726a1263

edgemicro configuration complete!
    

Verifique a instalação

Execute este comando para verificar a instalação. Se nenhum erro for informado, tudo estará configurado corretamente, e você poderá iniciar o Edge Microgateway.

edgemicro verify -o [org] -e [env] -k [key] -s [secret]

Em que:

  • org é o nome da sua organização do Edge. Você precisa ser um administrador da organização.
  • env é um ambiente na sua organização, como teste ou produção.
  • key é a chave retornada anteriormente pelo comando configure.
  • secret é a chave retornada anteriormente pelo comando configure.

Exemplo

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f664ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0556d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

Sobre a configuração

Toda a configuração feita até agora permite que o Edge Microgateway faça o bootstrap para o Apigee Edge. Depois que o bootstrapping é concluído, o Edge Microgateway recupera um payload de informações de configuração adicionais do Apigee Edge.

Para que essas informações de configuração são usadas? Como vamos descobrir na próxima parte deste tutorial, quando o Edge Microgateway é iniciado, ele precisa receber uma lista de proxies de API especiais compatíveis com o Edge Microgateway do Apigee Edge. Na próxima parte deste tutorial, você vai criar um proxy compatível com o Microgateway. O Edge Microgateway restringe os clientes a chamar apenas as APIs protegidas por esses proxies de API compatíveis com o Microgateway. Por padrão, os clientes precisam apresentar um token de segurança válido para cada chamada. Para ler mais sobre esses proxies, consulte "O que você precisa saber sobre proxies compatíveis com o Edge Microgateway" na Visão geral do Edge Microgateway.

Como admin. da organização do Edge, você vai gostar de saber que os proxies compatíveis com o Edge Microgateway podem ser adicionados aos produtos do Edge, assim como qualquer outro proxy. Ao usar produtos e apps de desenvolvedor, é possível gerar tokens de segurança específicos do cliente para controlar o acesso a APIs chamadas pelo Edge Microgateway. Mais uma vez, os padrões envolvidos são idênticos aos de trabalhar com qualquer proxy de API, produtos e apps de desenvolvedor no Apigee Edge. Para saber mais sobre produtos, comece com O que é um produto de API? na documentação do Edge.

Em seguida, vamos mostrar como criar proxies baseados no Edge Microgateway. Depois disso, vamos iniciar o Edge Microgateway e testar a configuração.

Parte 2: criar entidades no Apigee Edge

Nesta parte, você vai criar estas entidades no Edge:

  • Um proxy compatível com microgateway: é um proxy especial que o Edge Microgateway pode descobrir na inicialização. Os proxies compatíveis com o microgateway têm uma convenção de nomenclatura que você precisa seguir: o nome precisa começar com edgemicro_. Por exemplo, edgemicro_hello ou edgemicro_userinfo. Quando o Edge Microgateway é iniciado, ele recupera do Edge uma lista de proxies compatíveis com microgateway da mesma organização e ambiente do Edge especificados ao iniciar o Edge Microgateway.

    Para cada proxy compatível com o microgateway, o Edge Microgateway recupera o URL de destino do proxy e o caminho base dele. Os proxies compatíveis com o Microgateway também oferecem uma maneira conveniente de associar dados de análise gerados pelo Edge Microgateway a um proxy na plataforma do Edge. À medida que o Microgateway processa chamadas de API, ele envia dados de análise de forma assíncrona para o Edge. Os dados do Analytics vão aparecer na interface do Edge Analytics com os nomes dos proxies compatíveis com o microgateway, assim como acontece com qualquer outro proxy.
  • Um produto, um desenvolvedor e um app para desenvolvedores: o Edge Microgateway usa produtos, desenvolvedores e apps para desenvolvedores para ativar a segurança de token de acesso OAuth2 ou chave de API. Quando o Edge Microgateway é iniciado, ele baixa todas as configurações de produto da sua organização do Apigee Edge. Ele usa essas informações para verificar as chamadas de API feitas pelo Edge Microgateway com chaves de API ou tokens de acesso OAuth2.

Leia mais:consulte também "O que você precisa saber sobre proxies compatíveis com o Edge Microgateway" na Visão geral do Edge Microgateway.

1. Criar um proxy de API compatível com o Edge Microgateway no Edge

  1. Faça login na sua organização no Apigee Edge.
  2. Clique em MUDAR PARA CLÁSSICO para acessar a interface clássica do Edge.
  3. Selecione APIs > Proxies de API no menu superior.
  4. Na página "Proxies de API", clique em + Proxy de API.
  5. No assistente de criação de proxy, selecione Proxy reverso (mais comum).
  6. Clique em Próxima.
  7. Na página de detalhes do assistente, configure o seguinte: Preencha o assistente exatamente como mostrado:
    • Nome do proxy: edgemicro_hello
    • Caminho base do proxy: /hello
    • API atual: http://mocktarget.apigee.net/
  8. Clique em Próxima.
  9. Na página "Segurança" do assistente, selecione Passar por (nenhum).
  10. Clique em Próxima.
  11. Na página "Hosts virtuais" do assistente, aceite os padrões.
  12. Clique em Próxima.
  13. Na página "Build" do assistente, revise as configurações de proxy. Verifique se o ambiente test está selecionado.
  14. Clique em Build and Deploy.

2. Criar um produto

Crie um produto que contenha dois proxies:

  • Seu proxy compatível com microgateway: edgemicro_hello
  • O proxy de autenticação instalado pelo Edge Microgateway: edgemicro-auth.
  1. Na interface do Edge (versão clássica), acesse Publicar > Produtos.
  2. Na página "Produtos", clique em + Produto. Preencha a página "Detalhes do produto" da seguinte maneira:
    • Nome:EdgeMicroTestProduct
    • Nome de exibição:EdgeMicroTestProduct
    • Environment:test e prod
    • Access: Public
    • Tipo de aprovação de chaves:automática
    • Recursos:
      • Proxy de API: selecione edgemicro_hello.
      • Revisão:1
      • Caminho do recurso: /**
  3. Clique em Importar recurso.
  4. Em "Recursos", clique em + Proxy de API.
  5. Selecione edgemicro-auth.
  6. Clique em Salvar.

3. (Opcional) Criar um desenvolvedor de teste

Para fins deste tutorial, você pode usar qualquer desenvolvedor atual na próxima etapa, criando um app de desenvolvedor. Mas, se quiser, crie um desenvolvedor de teste agora:

  1. Acesse Publicar > Desenvolvedores.
  2. Na página "Produtos", clique em + Desenvolvedor.
  3. Preencha a caixa de diálogo para criar um desenvolvedor de teste.

4. Criar um app de desenvolvedor

Você vai usar as credenciais do cliente desse app para fazer chamadas de API seguras pelo Edge Microgateway:

  1. Acesse Publicar > Apps do desenvolvedor.
  2. Na página "Apps do desenvolvedor", clique em + App do desenvolvedor.
  3. Preencha a página do app do desenvolvedor da seguinte maneira:
    1. Nome:EdgeMicroTestApp
    2. Nome de exibição:EdgeMicroTestApp
    3. Desenvolvedor:se você criou um desenvolvedor de teste, selecione-o. Ou você pode usar qualquer desenvolvedor para fins deste tutorial.
    4. Credenciais:
      1. Selecione Expiração: Nunca.
      2. Clique em + Produto e selecione EdgeMicroTestProduct (o produto que você acabou de criar).
  4. Clique em Salvar.
  5. Você volta à página da lista de apps do desenvolvedor.
  6. Selecione o app que você acabou de criar, EdgeMicroTestApp.
  7. Clique em Mostrar ao lado de Chave do cliente e Secret do cliente.

Parte 3: operar o Edge Microgateway

Agora que você tem um Edge Microgateway configurado e pelo menos um proxy compatível com o Edge Microgateway no Edge, é hora de iniciar o Edge Microgateway. Um servidor HTTP do Edge Microgateway será executado na sua máquina local, e você fará chamadas de API diretamente para esse servidor.

1. Iniciar o Edge Microgateway

Use o comando edgemicro start para iniciar o Edge Microgateway.

  1. Verifique se você tem as chaves retornadas anteriormente ao executar o comando edgemicro configure. A saída era semelhante a esta:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828ac9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e87189921ad00e6fc1ba8a8ae9f929ee2
  2. (Opcional) Imprima informações de ajuda para o comando edgemicro start.
    edgemicro start -h
  3. Para iniciar o Edge Microgateway, execute o seguinte comando:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    Em que:

    • org é o nome da sua organização do Edge. Você precisa ser um administrador da organização.
    • env é um ambiente na sua organização, como teste ou produção.
    • key é a chave retornada anteriormente pelo comando configure.
    • secret é a chave retornada anteriormente pelo comando de configuração.

    Exemplo

    edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824

    Saída

    O comando de início recupera muitas informações de configuração do Apigee Edge (que rola para a janela do terminal). Na saída, você verá uma lista de proxies e produtos compatíveis com microrrede que foram descobertos. No final da saída, você vai encontrar algo assim:

    ...
    
    PROCESS PID : 9757
    installed plugin from analytics
    installed plugin from oauth
    eb725020-a2b0-11e6-8a52-6de156e3a6e2 edge micro listening on port 8000
    installed plugin from analytics
    installed plugin from oauth
    installed plugin from analytics
    installed plugin from oauth
    installed plugin from analytics
    installed plugin from oauth
    eb77ce60-a2b0-11e6-8a88-b96278c0c198 edge micro listening on port 8000
    eb78b8c0-a2b0-11e6-bf36-717b986c91fe edge micro listening on port 8000
    eb77f570-a2b0-11e6-883e-472b9104351e edge micro listening on port 8000

O que aconteceu?

Confira o terminal em que você executou o comando edgemicro config. Ao rolar para cima na saída padrão, você pode ver que o comando recupera um payload de informações de configuração do Edge Microgateway do Apigee Edge. Exemplos dessas informações:

  • A chave pública que criamos e armazenamos anteriormente no cofre da Apigee.
  • Uma representação JSON de todos os proxies compatíveis com o Edge Microgateway que existem na organização/ambiente. Esses são todos os proxies nomeados com o prefixo edgemicro_.
  • Uma representação JSON de todos os produtos de API que existem na organização/ambiente.

Com essas informações, o Edge Microgateway sabe quais proxies e caminhos de proxy ele pode processar. Ele usa as informações do produto para aplicar a segurança (exatamente da mesma forma que qualquer proxy de API faz no Apigee Edge, em que as chaves de apps para desenvolvedores têm uma associação com produtos). Vamos explicar as etapas para proteger o Edge Microgateway em breve.

2. Testar o Edge Microgateway

Com o Edge Microgateway em execução, você pode chamar o proxy. A configuração do proxy edgemicro_hello foi baixada do Edge quando você iniciou o Edge Microgateway. O caminho base do proxy é /hello.

Para testar o Edge Microgateway, começamos com o caminho base e adicionamos um caminho de recurso /echo. Tudo o que vem depois do caminho base (incluindo parâmetros de consulta) é simplesmente transmitido para o destino de back-end:

curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}

O erro ocorre porque você não enviou uma chave de API ou um token de acesso válido com a solicitação. Por padrão, o Edge Microgateway exige uma chave de API ou um token de acesso em cada chamada de API. Na próxima etapa do tutorial, vamos proteger essa API corretamente e mostrar como obter um token de acesso válido e incluí-lo na solicitação.

4. Parar o Edge Microgateway

  1. Em uma janela de terminal separada, cd para o mesmo diretório em que você iniciou o Edge Microgateway.
  2. Digite o comando de parada:
    edgemicro stop

Parte 4: proteger o Edge Microgateway

É possível proteger as chamadas de API feitas pelo Edge Microgateway usando uma chave de API ou um token de acesso.

Proteja chamadas de API com um token de acesso OAuth2

Siga estas etapas se quiser autenticar chamadas de API com um token de acesso OAuth2:

1. Receber as chaves necessárias

  1. Na interface do Edge, navegue até o app de desenvolvedor que você criou anteriormente, conforme descrito em Parte 2: criar entidades no Apigee Edge. O nome do app era EdgeMicroTestApp.
  2. Na página "App do desenvolvedor", mostre e copie a chave e o secret do cliente. Esses valores são necessários para receber um token de acesso na próxima etapa.

2. Receber um token de acesso

Há duas maneiras de receber um token de acesso. Vamos mostrar os dois métodos.

Usar a CLI para receber um token de acesso

O primeiro método é conveniente e segue o padrão usado em todo o tutorial. O segundo método geralmente é mais útil para desenvolvedores de apps cliente que precisam solicitar tokens. O endpoint de token real é implementado no proxy edgemicro-auth, que foi implantado quando você configurou o Edge Microgateway.

  1. (Opcional) Veja a ajuda do comando token get:
    edgemicro token get -h
  2. Gere o token, substituindo os valores de chave e secret do cliente do app de desenvolvedor criado no Apigee Edge nos parâmetros -i e -s:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]

    Em que:

    • org é o nome da sua organização do Edge. Você precisa ser um administrador da organização.
    • env é um ambiente na sua organização, como teste ou produção.
    • consumer_id é o ID do consumidor no app para desenvolvedores que você criou anteriormente.
    • consumer_secret é a chave secreta do consumidor no app de desenvolvedor que você criou anteriormente.

    Exemplo

    edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy

    Saída (exemplo)

    current nodejs version is v4.4.4
    { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl
    vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI
    iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA
    iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIkVkZ2VNaWNyb1Rlc
    3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ.
    v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM
    nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4
    QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te
    E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax
    NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t
    -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }

(Opcional) Usar a API para receber um token

Se você está acostumado a chamar proxies do Edge usando curl ou outro cliente HTTP, vai gostar de saber que é possível chamar o endpoint de token diretamente, em vez de usar o comando edgemicro token. Confira um exemplo de curl. Basta substituir os nomes da organização e do ambiente no URL e transmitir os valores de chave do consumidor:segredo do consumidor separados por dois-pontos em um cabeçalho de autenticação básica:

curl -i -X POST --user [client_id]:[client_secret] "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{"grant_type": "client_credentials"}' -H "Content-Type: application/json"

Em que:

  • org é o nome da sua organização do Edge. Você precisa ser um administrador da organização.
  • env é um ambiente na sua organização, como teste ou produção.
  • client_id é o ID do consumidor no app para desenvolvedores que você criou anteriormente.
  • client_secret é a chave secreta do consumidor no app de desenvolvedor que você criou anteriormente.

Saída (exemplo)

O comando, seja o comando da CLI edgemicro token ou a chamada do endpoint usando curl, retorna um token de acesso assinado que pode ser usado para fazer chamadas de cliente. O comando será semelhante a este:

MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o 
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=
      

3. Verificar a configuração no Edge Microgateway

  1. Abra o arquivo ~/.edgemicro/org-env-config.yaml. Consulte também "Onde o Edge Microgateway está instalado" em Instalar o Edge Microgateway.
  2. Verifique se essas propriedades do plug-in OAuth estão definidas como false. Por padrão, elas são definidas como "falso", mas é uma boa ideia verificar novamente:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Também no arquivo org-env-config.yaml, verifique se o plug-in oauth foi adicionado ao elemento plugins:sequence, assim::
    plugins:
       dir: ../plugins
       sequence:
       - oauth
  4. Se você fizer alguma mudança no arquivo, recarregue as mudanças na instância em execução do Edge Microgateway. Esse comando reconfigura o Edge Microgateway com tempo de inatividade zero:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Em que:

    • org é o nome da sua organização do Edge. Você precisa ser um administrador da organização.
    • env é um ambiente na sua organização, como teste ou produção.
    • key é a chave retornada anteriormente pelo comando configure.
    • secret é a chave retornada anteriormente pelo comando de configuração.

    Exemplo

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d

4. Chamar a API com segurança

Com um token de acesso em mãos, agora você pode fazer a chamada de API com segurança. Exemplo:

  curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl
9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM
VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh
eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PN30Y6uK1W1f2ONPEsBDB_BT31c6
IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO
s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx
4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0
64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo

A API retorna cabeçalhos e outras informações do servidor simulado.

Como proteger a API com uma chave de API

Se quiser usar uma chave de API para autorização, siga estas etapas:

1. Receber a chave de API

  1. Na interface do Edge, navegue até o app de desenvolvedor que você criou anteriormente, conforme descrito em Parte 2: criar entidades no Apigee Edge. O nome do app era EdgeMicroTestApp.
  2. Na página "App do desenvolvedor", mostre e copie a chave do cliente. Esse valor é a chave de API. Você vai usar essa chave para fazer chamadas de API autenticadas.

2. Verificar a configuração no Edge Microgateway

  1. Abra o arquivo ~/.edgemicro/org-env-config.yaml. Consulte também "Onde o Edge Microgateway está instalado" em Instalar o Edge Microgateway.
  2. Verifique se essas propriedades do plug-in OAuth estão definidas como false. Por padrão, elas são definidas como "falso", mas é uma boa ideia verificar novamente:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Também no arquivo org-env-config.yaml, verifique se o plug-in oauth foi adicionado ao elemento plugins:sequence, assim::
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
  4. Se você fizer alguma mudança no arquivo, recarregue as mudanças na instância em execução do Edge Microgateway. Esse comando reconfigura o Edge Microgateway com tempo de inatividade zero:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Em que:

    • org é o nome da sua organização do Edge. Você precisa ser um administrador da organização.
    • env é um ambiente na sua organização, como teste ou produção.
    • key é a chave retornada anteriormente pelo comando configure.
    • secret é a chave retornada anteriormente pelo comando de configuração.

    Exemplo

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d

3. Chamar a API com segurança usando uma chave de API

Chame a API com o cabeçalho x-api-key da seguinte maneira. O valor da chave do cliente copiado do app de desenvolvedor é a chave de API. Por padrão, o Edge Microgateway espera que você transmita a chave em um cabeçalho chamado x-api-key, assim:

curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"

Em que:

  • apikey é o valor da chave do consumidor extraído de EdgeMicroTestApp.

Exemplo:


curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxa0ilYQ5szwuljr5bB'

Agora você tem um Edge Microgateway totalmente funcional e seguro. Na próxima parte do tutorial, vamos conferir os plug-ins que adicionam funcionalidade ao Edge Microgateway.

Parte 5: adicionar um plug-in de controle de pico

Nesta parte, vamos adicionar um recurso de limitação de taxa chamado "spike arrest" à sua instância do Edge Microgateway.

O que são plug-ins?

Um plug-in é um módulo Node.js que adiciona funcionalidade ao Edge Microgateway. Os módulos de plug-in seguem um padrão consistente e são armazenados em um local conhecido pelo Edge Microgateway, permitindo que o microgateway os descubra e carregue automaticamente. Leia mais sobre plug-ins em Usar plug-ins.

Como adicionar o plug-in de controle de pico

A política de retenção de pico protege contra picos de tráfego. Ele limita o número de solicitações processadas por uma instância do Edge Microgateway.

No Edge Microgateway, a proteção contra picos é implementada como um módulo de plug-in. Para ativar, adicione-o ao arquivo de configuração do Edge Microgateway.

  1. Abra o arquivo ~/.edgemicro/org-env-config.yaml. Consulte também "Onde o Edge Microgateway está instalado" em Instalar o Edge Microgateway.
  2. Adicione o seguinte elemento. Você pode adicionar em qualquer lugar do arquivo.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
  3. Adicione spikearrest ao elemento edgemicro:sequence, conforme mostrado abaixo. A propriedade de configuração "sequence" informa ao Edge Microgateway a ordem em que os módulos de plug-in são executados.
    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:
        - spikearrest
        - oauth 
  4. Salve o arquivo de configuração.
  5. Recarregue o Edge Microgateway com o comando reload. Execute esse comando no diretório em que você iniciou o Edge Microgateway.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Em que:

    • org é o nome da sua organização do Edge. Você precisa ser um administrador da organização.
    • env é um ambiente na sua organização, como teste ou produção.
    • key é a chave retornada anteriormente pelo comando configure.
    • secret é a chave retornada anteriormente pelo comando de configuração.

    Exemplo

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
  6. Tente chamar a API várias vezes em rápida sucessão. Após a segunda chamada, o Edge Microgateway retorna este erro:
    {"message":"SpikeArrest engaged","status":503}

O motivo é que o SpikeArrest suaviza o número de chamadas que podem ser feitas durante a unidade de tempo especificada. Nesse caso, você pode fazer 10 chamadas em um minuto ou uma a cada 6 segundos.

Para mais informações, consulte "Como funciona a prevenção de picos?" em Usar plug-ins.

Crédito extra: adicionar o plug-in de cota

Seguindo o mesmo padrão usado para configurar a interrupção de picos, você pode adicionar outros plug-ins, como o de cota. Assim como o controle de picos, o plug-in de cota está incluído em todas as instalações do Edge Microgateway. Uma cota especifica o número de mensagens de solicitação que um app pode enviar para uma API em um intervalo de tempo especificado (minutos ou horas).

Para saber como as cotas funcionam, consulte "Usar o plug-in de cota" em Usar plug-ins.

Parte 6: como ver análises no Apigee Edge

Agora temos uma instância do Edge Microgateway totalmente funcional. Vamos ver o que ela tem feito. Por padrão, o módulo de plug-in de análise é adicionado ao Edge Micro. Esse módulo envia dados de análise do Edge Micro para o Apigee Edge, onde são consumidos pelo sistema do Edge Analytics. Vamos conferir:

  1. Faça login na sua organização no Apigee Edge.
  2. Selecione Analytics > Desempenho do proxy.
  3. No painel de desempenho do proxy, selecione o proxy edgemicro_hello.
  4. O gráfico mostra informações sobre os padrões de tráfego do proxy, como tráfego total, tempo médio de resposta, tempo médio de resposta pretendido e muito mais.

Leia mais sobre os painéis do Edge Analytics na página inicial dos painéis do Analytics na documentação do Edge. Para saber mais sobre plug-ins, consulte Usar plug-ins.