Como definir e configurar o Edge Microgateway

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

Edge Microgateway v. 3.3.x

Visão geral

Depois de concluir as etapas deste guia de configuração, você terá um Edge funcional e totalmente configurado Instalação do microgateway capaz de processar solicitações de API. Para testar a configuração, faça chamadas de API seguras pelo Edge Microgateway para um destino de back-end. Você também vai aprender a adicionar plug-in de detenção de pico para o Microgateway.

Este guia é dividido nas seguintes partes:

Pré-requisito: instalar o Edge Microgateway

Siga as instruções em Como instalar o Edge Microgateway Ao concluir a instalação, você estará pronto para seguir as etapas neste .

Parte 1: configurar o Edge Microgateway

Nesta parte, você vai usar um comando de interface de linha de comando (CLI) para configurar o Edge Microgateway para se comunicar com o Apigee Edge.

Etapas de configuração do Apigee Edge Cloud

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

  1. Inicialize o Edge Microgateway (você só precisa realizar esta etapa uma vez):
    edgemicro init
    
  2. Um arquivo de configuração chamado default.yaml foi colocado na sua casa em um subdiretório chamado .edgemicro. Verifique agora para ter certeza de que este arquivo existe:
    ls ~/.edgemicro
    default.yaml
    

    Observação : nos documentos do Edge Microgateway, nos referimos ao diretório principal com o til (~), que é um atalho do UNIX. Se você usa o Windows, executando um shell incompatível com o til, será necessário substituir o variável de ambiente para o til nos comandos que fazem referência ao diretório principal. Para exemplo: %USERPROFILE%/.edgemicro.

  3. Todos os comandos da CLI têm uma função de ajuda. Ajuda de impressão para o edgemicro configure:
    edgemicro configure -h
    
  4. Execute o comando a seguir para configurar o Edge Microgateway:
    edgemicro configure -o [org] -e [env] -u [username] 
    

    Em que:

    • org: O nome da sua organização de Edge (você precisa ser uma organização) administrador).
    • env: Um ambiente na organização (como teste ou prod).
    • username: O endereço de e-mail associado à sua conta da Apigee.

      Observação:o comando "configure" permite parâmetros adicionais. Para um guia consulte Como configurar o Edge Microgateway para o Apigee Edge Cloud.

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 v12.5.0
current edgemicro version is 3.1.0
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
checking org for existing KVM
error checking for cert. Installing new cert.
creating KVM
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/docs-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCQ2mJZJGbPPTANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTcwOTA3MjA0ODA4WhcNMTcwOTA4MjA0ODA4WjAUMRIwEAYD
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDw
yzmqi5CelqqtTr6IaFe1ssrMXEDnNtkBh95U6F5zHLsNQhJcyNUAO9um6FLMSqSd
fTztXfWUZzDgmbb6sfbx/9cqpvQ8TIjxyIz8xGM9H4legRQmsCQoYGkLjpPE5ZOa
wZrI5IaVm8LY6vbopPFwxgKOQ9bphx6k9Na055DmNyZAOTMD+4I0m/RdsrnZnYih
3DaFj1tXHKZI1jfAt/QOif5Nmk4+JckYwF+9HBysWUbbvj/gnBjVYF2Isb7q7oFD
lPGhwFoIebMqHMWD8lG7+9RJDO9dDV6f1g1/9waIrq1D+MoVXos9VMstNrPp0cKF
Ue+lAkct8tylH+2MosF7AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAJMRdcQh3ayy
csVVT4TYwxV7MKWRfhDRz6X+MM9frB+Z7sI4+ZoZbXKOoZI2hSjmbdLpkNR/m9eJ
+1Uk0JKmpSY7Q+1rRrvcHsWNysGf4z+zDJXYECTrtSnXKBXtb9SJ8JAfoZOQD0lA
zmKuJjQMLTdiYMHOBR6ZWnaKaRvrQwGHcQrheJm4a90XgZF6jcRR8CPrBzkmsbCp
IU/Ux3E17wDGYPxjJs5otyQG8rN/88RGyaSeXK8rjKr9D4KFGJeasXBKmTG2afAr
yfBvS4h6s42FCOR/eLpmMllVoO9up71Fa3EtV+aK+FNNY9uMbgUHeLQE7z9nn06q
PTmvExZLkLQ=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb
  secret: 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47
    

Etapas de configuração da nuvem privada da Apigee

Siga estas etapas para usar o Edge Microgateway com a nuvem privada da Apigee:

  1. Inicialize o Edge Microgateway (você só precisa realizar esta etapa uma vez):
    edgemicro init
    
  2. Imprime informações de ajuda para o comando edgemicro private configure. Você pode imprimir ajuda dessa maneira para qualquer comando ou opção de comando da CLI do Edge Microgateway.
    edgemicro private configure -h
    
  3. Execute o comando a seguir. São necessárias informações padrão sobre o Apigee Edge conta de nuvem privada: nome da organização, nome do ambiente, nome de usuário (endereço de e-mail), senha, o IP do servidor de gerenciamento e o IP do roteador. Você precisa ser um administrador da organização de borda para usar 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 de Edge (você precisa ser uma organização). administrador).
    • env é um ambiente na sua organização (como teste ou prod).
    • runtime_url é o URL do ambiente de execução da nuvem privada. instância.
    • mgmt_url é o URL do servidor de gerenciamento da sua de uma instância de nuvem privada.
    • username é o endereço de e-mail associado à Apigee. do Compute Engine.
    • virtual_host é uma lista separada por vírgulas de hosts virtuais nomes de domínio. 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 tiver um alias de host virtual de myorg-test.mycompany.com, você usará um da seguinte forma:

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 KVM
error checking for cert. Installing new cert.
creating KVM
adding private_key
adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: $HOME/.edgemicro/jdoe-test-config.yaml
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWsKWBDP9o
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: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4ad09389b645147151ba3
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac10ace944c097a726a1263

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 com sucesso.

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

Em que:

  • org é o nome da sua organização de borda (você precisa ser uma organização). administrador).
  • env é um ambiente na sua organização (como teste ou prod).
  • key é a chave retornada anteriormente pelo método de configuração. kubectl.
  • secret é a chave retornada anteriormente pelo método de configuração. kubectl.

Exemplo

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

Sobre a configuração

Toda a configuração feita até agora permite que o Edge Microgateway faça a própria inicialização na Apigee Borda Quando o bootstrapping é concluído, o Edge Microgateway recupera um payload informações de configuração do Apigee Edge.

Para que essas informações de configuração são usadas? Como descobriremos na próxima parte deste tutorial, o Edge Microgateway precisa receber uma lista de configurações especiais do Edge Proxies de API com reconhecimento de microgateway do Apigee Edge. Na próxima parte deste tutorial, você vai criar um proxy com reconhecimento de microgateway. O Edge Microgateway restringe os clientes a chamar apenas as APIs lideradas por esses proxies de API com reconhecimento de Microgateway, e os clientes precisarão (por padrão) apresentar um token de segurança válido para cada chamada. Para ler mais sobre esses proxies, consulte "O que você precisa saber sobre os proxies com reconhecimento do Edge Microgateway" na Visão geral do Edge Microgateway

Como administrador da organização do Edge, você tem interesse em saber que os proxies com reconhecimento do Edge Microgateway podem ser adicionados aos produtos Edge, como qualquer outro proxy. Com o uso de produtos e desenvolvedores aplicativos, é possível gerar tokens de segurança específicos do cliente para controlar o acesso a APIs chamadas por o Edge Microgateway. Novamente, os padrões envolvidos são idênticos ao trabalho com qualquer proxy de API, e apps de desenvolvedores na Apigee Edge. Se você quiser ler sobre os produtos, comece com O que é um produto de API? no Edge na documentação do Google Cloud.

Em seguida, você vai aprender a criar proxies compatíveis com o Edge Microgateway, inicie o Edge Microgateway e teste a configuração.

Parte 2: criar entidades no Apigee Edge

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

  • Um Proxy com reconhecimento de microgateway: um proxy especial que o Edge Microgateway pode descobrir pelo inicialização. Os proxies com reconhecimento de 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 com reconhecimento de microgateways da mesma organização e ambiente de borda; que você especificou ao iniciar o Edge Microgateway.

    Para cada proxy com reconhecimento de microgateway, o Edge Microgatway recupera o URL de destino do proxy e seu caminho base. Proxies com reconhecimento de microgateway também fornecem uma maneira conveniente de associar análises dados gerados pelo Edge Microgateway com um proxy na plataforma Edge. Como o Microgateway processa chamadas de API, envia dados de análise de forma assíncrona para o Edge. Os dados do Analytics serão exibidos na UI do Edge Analytics sob os nomes de proxy com reconhecimento de microgateway, como acontece com qualquer outro proxy.
  • Um app de produto, desenvolvedor e desenvolvedor: o Edge Microgateway usa produtos, desenvolvedores e apps de desenvolvedores para ativar o token de acesso OAuth2 ou a segurança da chave de API. Quando a borda O microgateway é iniciado, e faz o download de todas as configurações do produto da sua Apigee Edge organização. Ele usa essas informações para verificar chamadas de API feitas pelo Edge Microgateway com Chaves de API ou tokens de acesso OAuth2.

1. Criar um proxy de API com reconhecimento do Edge Microgateway no Edge

  1. Faça login na sua organização no Apigee Edge.
  2. Selecione Desenvolver > Proxies de API no menu de navegação lateral.
  3. Clique em + Proxy. O assistente Build a Proxy é invocado.
  4. Na primeira página do assistente, selecione Reverse proxy (most common).
  5. Clique em Próxima.
  6. Na página "Detalhes" do assistente, faça as configurações a seguir. Preencha o assistente exatamente como mostrado:
    • Nome do proxy: edgemicro_hello
    • Caminho base do proxy: /hello
    • API atual: http://mocktarget.apigee.net/
    .
  7. Clique em Próxima.
  8. Na página "Segurança" do assistente, selecione Passar por (nenhum).
  9. Clique em Próxima.
  10. Na página "Virtual Hosts" do assistente, aceite os valores padrão.
  11. Clique em Próxima.
  12. Na página Criar do assistente, revise suas configurações de proxy. Certifique-se de que test é selecionado.
  13. Clique em Build and Deploy.

2. Criar um produto da API

  1. Selecione Publicar > Produtos da API no menu de navegação lateral.
  2. Clique em + Produto da API.
  3. Insira os detalhes do produto mostrados na tabela a seguir:
    Campo Descrição
    Nome EdgeMicroTestProduct
    Nome de exibição Produto de teste Edge Microgatway
    Ambiente teste
    Acesso Público
    Tipo de aprovação da chave Automático
  4. Na seção de recursos da API, adicione o proxy de API que você acabou de criar e o proxy edgemicro-auth:
    • edgemicro_hello
    • edgemicro-auth
  5. Clique em Salvar.

3. Crie um desenvolvedor

Para os fins deste tutorial, é possível usar qualquer desenvolvedor existente para a próxima etapa, criar um app de desenvolvedor. Mas, se quiser, crie um desenvolvedor de teste agora:

  1. Selecione Publicar > Desenvolvedores no menu de navegação lateral.
  2. 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 deste app para fazer chamadas de API seguras com Edge Microgateway:

  1. Selecione Publicar > Apps no menu de navegação lateral.
  2. Clique em + Aplicativo. A página "Detalhes do app do desenvolvedor" vai aparecer.
  3. Preencha a página do app do desenvolvedor da seguinte forma:
    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 existente para os fins deste tutorial.
    4. Credenciais:
      1. Selecione "Expiration": Nunca.
      2. Clique em + Produto e selecione EdgeMicroTestProduct (o produto que você acabou de criar)
  4. Clique em Salvar.
  5. Você está de volta à página "Lista de apps".
  6. Selecione o app que você acabou de criar, EdgeMicroTestApp.
  7. Clique em Mostrar ao lado de Consumer Key e Consumer Key Secret.

Parte 3: operar o Edge Microgateway

Agora que você configurou um Edge Microgateway e pelo menos um com reconhecimento de Edge Microgateway no Edge, é hora de iniciar o Edge Microgateway. Um servidor HTTP do Edge Microgateway será executado na máquina local e 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. O resultado foi parecido com este:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
    
  2. (Opcional) Mostre informações de ajuda sobre 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 de borda (você precisa ser uma organização). administrador).
    • env é um ambiente na sua organização (como teste ou prod).
    • key é a chave retornada anteriormente pelo método de configuração. kubectl.
    • secret é a chave retornada anteriormente pelo método de configuração. kubectl.

    Exemplo

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

    Saída

    O comando "start" recupera muitas informações de configuração do Apigee Edge (que rola até a janela do terminal). Na saída, você verá uma lista de instâncias com reconhecimento de microgateway proxies e produtos que foram descobertos. No final da saída, deve aparecer algo assim:

    ...
    
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    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
    
  4. Verifique o status do microgateway. Em outra janela de terminal, use cd para acessar o mesmo diretório em que você iniciou o Edge Micro e digite este comando:
    edgemicro status
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    edgemicro is running with 8 workers
    

O que aconteceu?

Um payload do Edge O download das informações de configuração do microgateway é feito do Apigee Edge e armazenado em cache localmente. Exemplos dessas informações:

  • A chave pública que criamos e armazenamos anteriormente em um mapa de chave-valor (KVM) criptografado.
  • Uma representação de todos os proxies com reconhecimento do Edge Microgateway que existem no organização/ambiente. Todos esses proxies são nomeados com o prefixo edgemicro_.
  • Uma representação de todos os produtos de API que existem no organização/ambiente.

Com essas informações, o Edge Microgateway sabe quais proxies e caminhos de proxy podem ser usados de desenvolvimento de software. Ela usa as informações do produto para reforçar a segurança (exatamente da mesma forma que qualquer API proxy faz na Apigee Edge, em que as chaves do app do desenvolvedor são associadas a produtos). Vamos nessa para proteger o Edge Microgateway em breve.

2. Testar o Edge Microgateway

Com o Edge Microgateway em execução, é possível chamar o proxy. A configuração do O download do proxy edgemicro_hello foi feito no Edge quando você iniciou o Edge. Microgateway Lembre-se de que 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 após o caminho base (incluindo quaisquer parâmetros de consulta) é simplesmente passado para o destino do 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álidos com a solicitação. De por padrão, o Edge Microgateway exige uma chave de API ou um token de acesso em cada chamada de API. Em próxima etapa do tutorial, protegeremos essa API de maneira adequada e mostraremos como obter uma token de acesso e incluí-lo com a 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 para parar:
    edgemicro stop
    
.

Parte 4: Secure Edge Microgateway

É possível proteger chamadas de API feitas pelo Edge Microgateway usando uma chave de API ou um com base no token correto anterior.

Chamadas de API seguras com um token de acesso OAuth2

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

1. Consiga as chaves necessárias

  1. Na interface do Edge, navegue até o app do desenvolvedor criado anteriormente. O nome do app era EdgeMicroTestApp.
  2. Na página "App do desenvolvedor", mostre a chave e o código do cliente e copie-os. 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 conseguir um token de acesso. Vamos mostrar os dois métodos.

Como usar a CLI para receber um token de acesso

O primeiro método é conveniente e segue o padrão que usamos ao longo o tutorial. O segundo método geralmente é mais útil para aplicativos clientes desenvolvedores que precisam solicitar tokens. O endpoint do token real é implementado proxy edgemicro-auth que foi implantado quando você configurou o Edge. Microgateway

  1. (Opcional) Consulte a ajuda do comando token get:
    edgemicro token get -h
    
  2. Gere o token, substituindo os valores da chave e do código do cliente da app do desenvolvedor que você criou no Apigee Edge em -i e -s parâmetros:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
    

    Em que:

    • org é o nome da sua organização de borda (você precisa ser uma organização). administrador).
    • env é um ambiente na sua organização (como teste ou prod).
    • consumer_id é o ID do consumidor no app do desenvolvedor que você criados anteriormente.
    • consumer_secret é o segredo do cliente no nível App criado anteriormente.

    Exemplo

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

    Saída (amostra)

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

(Opcional) Como usar a API para receber um token

Se você costuma chamar proxies Edge usando curl ou outro cliente HTTP, talvez se interesse saber que você pode chamar o ponto de extremidade do token diretamente, em vez de usar o método edgemicro token da API. Confira um exemplo de curl. Basta substituir os nomes da organização e do ambiente o URL e transmita os valores de chave do cliente:segredo do consumidor separados por dois-pontos em uma Cabeçalho de autenticação:

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

Em que:

  • org é o nome da sua organização de borda (você precisa ser uma organização). administrador).
  • env é um ambiente na sua organização (como teste ou prod).
  • client_id é o ID do consumidor no app do desenvolvedor que você criou. antes.
  • client_secret é o secret do cliente no app do desenvolvedor que você criados anteriormente.

Saída (amostra)

O comando, se você usou o comando da CLI edgemicro token ou chamou o usando curl, retorna um token de acesso assinado que pode ser usado para fazer chamadas de clientes. Algo assim:

MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFsnhB0Yvg6JKWxKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik241yfBku7olooXKRKTRKOUoXa
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. Verifique a configuração no Edge Microgateway

  1. Abra o arquivo $HOME/.edgemicro/org-env-config.yaml. Consulte Onde o Edge Microgateway está instalado, se não for possível localizar esse arquivo.
  2. Defina as propriedades do plug-in OAuth como false. Eles são falsos padrão, mas vale a pena verificar novamente:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. Ainda no arquivo org-env-config.yaml, verifique se o plug-in OAuth está adicionado ao elemento plugins:sequence, desta forma:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
    
  4. Se você fizer alterações no arquivo, recarregue as alterações no arquivo Instância do Edge Microgateway. Este 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 de borda (você precisa ser uma organização). administrador).
    • env é um ambiente na sua organização (como teste ou prod).
    • key é a chave retornada anteriormente pelo método de configuração. kubectl.
    • secret é a chave retornada anteriormente pelo método de configuração. kubectl.

    Exemplo

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

4. Chame a API com segurança

Com um token de acesso em mãos, agora é possível fazer a chamada de API com segurança. Exemplo:

  curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl
9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM
VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh
eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PL30Y6uK1W1f2ONPEsBDB_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 da simulação de servidor.

Proteger a API com uma chave de API

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

1. Gerar a chave de API

  1. Na interface do Edge, navegue até o app do desenvolvedor criado anteriormente. O nome do app era EdgeMicroTestApp.
  2. Na página "App do desenvolvedor", mostre e copie a chave do cliente. Este valor é a API chave. Você usará essa chave para fazer chamadas de API autenticadas.

2. Verifique a configuração no Edge Microgateway

  1. Abra o arquivo $HOME/.edgemicro/org-env-config.yaml. Confira Onde está o Edge Microgateway instalado, se não for possível localizar esse arquivo.
  2. Defina as propriedades do plug-in OAuth como false. Eles são falsos padrão, mas você pode verificar novamente se quiser:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. Ainda no arquivo org-env-config.yaml, verifique se o plug-in OAuth está adicionado ao elemento plugins:sequence, desta forma:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
    
  4. Se você fizer alterações no arquivo, recarregue as alterações no arquivo Instância do Edge Microgateway. Este 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 de borda (você precisa ser uma organização). administrador).
    • env é um ambiente na sua organização (como teste ou prod).
    • key é a chave retornada anteriormente pelo método de configuração. kubectl.
    • secret é a chave retornada anteriormente pelo método de configuração. kubectl.

    Exemplo

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

3. Chame a API de maneira segura com uma chave de API

Chame a API com o cabeçalho x-api-key conforme mostrado a seguir. O valor da chave do cliente que você copiado de "App do 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 cliente retirado do EdgeMicroTestApp:

Exemplo:

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

Agora você tem um Edge Microgateway seguro e totalmente funcional. Na próxima parte vamos conhecer os plug-ins que adicionam funcionalidades ao Edge Microgateway.

Parte 5: adicionar um limite de pico plug-in

Nesta parte, vamos adicionar um recurso de limitação de taxa chamado de detenção de pico à 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. Módulos de plug-in seguem um padrão consistente e são armazenados em um local conhecido pelo Edge Microgateway, microgateway para descobrir e carregá-los automaticamente. Você pode ler mais sobre plug-ins na Usar plug-ins.

Como adicionar um plug-in de detenção de pico

Um pico arrest plugin para proteção 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 detenção de pico é implementada como um módulo de plug-in. Para ativá-la, você precisa para adicioná-lo ao arquivo de configuração do Edge Microgateway.

  1. Abra o arquivo $HOME/.edgemicro/org-env-config.yaml.Onde está o Edge Microgateway instalado, se não for possível localizar esse arquivo.
  2. Adicione o seguinte elemento. Ele pode ser adicionado em qualquer lugar do arquivo.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
    
  3. Adicione spikearrest ao elemento edgemicro:sequence, conforme mostrado. a seguir. A propriedade de configuração da sequência informa ao Edge Microgateway a ordem em que o 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:
        - oauth
        - spikearrest
    
  4. Salve o arquivo de configuração.
  5. Recarregue o Edge Microgateway com o comando reload. Você deve executar 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 de Edge (você precisa ser administrador da organização).
    • env é um ambiente na sua organização (como teste ou prod).
    • key é a chave retornada anteriormente pelo método de configuração. kubectl.
    • secret é a chave retornada anteriormente pelo configure.

    Exemplo

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

Isso porque a detenção de pico reduz o número de ligações que podem ser feitas em uma unidade de tempo específica. Então, nesse caso, você pode fazer 10 chamadas em um minuto ou uma a cada 6 segundos.

Crédito extra: como adicionar o plug-in de cotas

Seguindo o mesmo padrão usado para configurar a detenção de pico, é possível adicionar outros plug-ins, como o plug-in de cota. Assim como acontece com a contenção de pico, o plug-in de cota é incluído em todas as instalações do Edge Microgateway. Um a cota especifica o número de mensagens de solicitação que um aplicativo tem permissão para enviar a uma API durante um o intervalo de tempo especificado (minutos ou horas).

Parte 6: visualização no Apigee Edge

Agora temos uma instância do Edge Microgateway em funcionamento. Vamos conferir como ela está funcionando! Por padrão, o módulo do plug-in de análise é adicionado ao Edge Micro. Este módulo envia silenciosamente dados de análise do Edge Micro para o Apigee Edge, onde são consumidos pelo sistema de análise do Edge. Vamos descobrir:

  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 desejado e muito mais.

Saiba mais sobre os painéis do Edge Analytics na página inicial "Painéis do Analytics" na Documentação do Edge. Para saber mais sobre plug-ins, consulte Usar plug-ins.