Você está vendo a documentação do Apigee Edge.
Consulte a documentação do Apigee X.
Edge Microgateway v. 3.1.x
Visão geral
Depois de concluir as etapas neste guia de configuração, você terá uma instalação do Edge Microgateway totalmente configurada e funcional capaz de processar solicitações de API. Você testará a configuração fazendo chamadas de API seguras por meio do Edge Microgateway para um destino de back-end. Você também aprenderá a adicionar um plug-in de retenção de pico ao Microgateway.
Este guia está dividido nas seguintes partes:
- Pré-requisito: Como instalar o Edge Microgateway
- Parte 1: configurar o Edge Microgateway
- Parte 2: Criar entidades no Apigee Edge
- Parte 3: Operate Edge Microgateway
- Parte 4: Secure Edge Microgateway
- Parte 5: Adicionar o plug-in Spike Arrest
- Parte 6: visualizar dados de análise no Apigee Edge
Pré-requisito: instalar o Edge Microgateway
Siga as instruções em Como instalar o Edge Microgateway. Quando concluir a instalação, você estará pronto para seguir as etapas deste tutorial.
Parte 1: configurar o Edge Microgateway
Nesta parte, você usará um comando da interface de linha de comando (CLI, na sigla em inglês) para configurar o Edge Microgateway para 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 da Apigee, siga as etapas da nuvem privada da Apigee Edge.
Etapas da configuração do Apigee Edge Cloud
Siga estas etapas para usar o Edge Microgateway com o Apigee Edge Cloud:
- Inicialize o Edge Microgateway (você só precisa executar esta etapa uma vez):
edgemicro init
- Um arquivo de configuração chamado
default.yaml
foi colocado no diretório principal em um subdiretório chamado.edgemicro
. Verifique se esse arquivo existe:ls ~/.edgemicro default.yaml
Observação: nos documentos do Edge Microgateway, nos referimos ao diretório inicial com o til (
~
), que é um atalho do UNIX. Se você estiver no Windows, se estiver executando um shell que não é compatível com o til, será necessário substituir a variável de ambiente apropriada pelo til nos comandos que fazem referência ao diretório inicial. Por exemplo:%USERPROFILE%/.edgemicro
. - Todos os comandos da CLI têm uma função de ajuda. Imprima a ajuda para o comando edgemicro
configure:
edgemicro configure -h
- Execute o seguinte comando para configurar o Edge Microgateway:
edgemicro configure -o [org] -e [env] -u [username]
Em que:
org:
Nome da organização do Edge (é preciso ser um administrador da organização).env:
Um ambiente na sua 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 uma lista completa, 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:
- Inicialize o Edge Microgateway (você só precisa executar esta etapa uma vez):
edgemicro init
- Imprime informações de ajuda para o comando edgemicro private configure. É possível imprimir a ajuda dessa maneira para qualquer comando ou opção de comando da CLI do Edge Microgateway.
edgemicro private configure -h
-
Execute o comando a seguir:
Ele requer informações padrão sobre sua conta da nuvem privada do Apigee Edge: 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. É preciso 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 organização de Edge (você precisa ser um administrador da organização).env
é um ambiente na organização (como teste ou produção).runtime_url
é o URL do ambiente de execução da 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 da Apigee.-
virtual_host
é uma lista separada por vírgulas de nomes de host virtuais. Os valores padrão sãodefault,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 de 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 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!
Verificar a instalação
Execute este comando para verificar a instalação. Se nenhum erro for relatado, tudo está configurado corretamente e você conseguirá iniciar o Edge Microgateway com sucesso.
edgemicro verify -o [org] -e [env] -k [key] -s [secret]
Em que:
org
é o nome da organização do Edge (você precisa ser um administrador da organização).env
é um ambiente na sua organização (como teste ou prod).key
é a chave retornada anteriormente pelo comando de configuração.secret
é a chave retornada anteriormente pelo comando de configuração.
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 seja inicializado no Apigee Edge. Depois que a inicialização é bem-sucedida, 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 descobriremos na próxima parte deste tutorial, quando o Edge Microgateway começa, ele precisa receber uma lista de proxies especiais da API do Edge Microgateway do Apigee Edge. Na próxima parte deste tutorial, você criará um proxy com reconhecimento do Microgateway. O Edge Microgateway restringe os clientes a chamar apenas as APIs lideradas por esses proxies com reconhecimento de Microgateway, e os clientes serão obrigados, por padrão, a 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 cientes 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 de borda do Microgateway podem ser adicionados aos produtos do Edge, assim como qualquer outro proxy. Por meio do uso de produtos e aplicativos de desenvolvedor, é possível gerar tokens de segurança específicos do cliente para controlar o acesso a APIs chamadas por meio do Edge Microgateway. Novamente, os padrões envolvidos são idênticos ao trabalho com qualquer proxy de API, produto e app de desenvolvedor no Apigee Edge. Se você quiser ler sobre produtos, comece com O que é um produto de API? na documentação do Edge.
Em seguida, veremos como criar proxies compatíveis com o Edge Microgateway e, em seguida, iniciaremos e testaremos a configuração.
Parte 2: criar entidades no Apigee Edge
Nesta parte, você criará estas entidades no Edge:
- Um
proxy com reconhecimento de microgateway: esse é um proxy especial que o Edge Microgateway pode descobrir na inicialização. Os proxies com reconhecimento de microgateway têm uma convenção de nomenclatura que você precisa seguir: o nome precisa estar com
edgemicro_
. Por exemplo,edgemicro_hello
ouedgemicro_userinfo
. Quando o Edge Microgateway é iniciado, ele recupera do Edge uma lista de proxies com reconhecimento de microgateway da mesma organização e ambiente do Edge que você especificou quando iniciou o Edge Microgateway.
Para cada proxy com reconhecimento de microgateway, o Edge Microgateway recupera o URL de destino do proxy e o caminho base dele. Os proxies com reconhecimento de microgateway também oferecem uma maneira conveniente de associar dados de análise gerados pelo Edge Microgateway a um proxy na plataforma de borda. Como o Microgateway lida com chamadas de API, ele envia dados de análise de forma assíncrona para o Edge. Os dados de análise serão exibidos na IU do Edge Analytics com os nomes de proxy compatíveis com microgateway, assim como em qualquer outro proxy.
- Um produto, desenvolvedor e aplicativo de desenvolvedor: o Edge Microgateway usa produtos, desenvolvedores e aplicativos de desenvolvedor para ativar o token de acesso ou a segurança de chave de API do OAuth2. Quando o Edge Microgateway é iniciado, ele faz o download de todas as configurações de produtos 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 do OAuth2.
1. Crie um proxy de API com reconhecimento de borda do Edge Microgateway no Edge
- Faça login na sua organização no Apigee Edge.
- Selecione Desenvolver > Proxies de API no menu de navegação lateral.
- Clique em + Proxy. O assistente Build a Proxy é invocado.
- Na primeira página do assistente, selecione Reverse proxy (most common).
- Clique em Próxima.
- Na página Detalhes do assistente, configure da seguinte maneira. Preencha o assistente exatamente como mostrado:
- Nome do proxy: edgemicro_hello
- Caminho base de proxy: /hello
- API existente: http://mocktarget.apigee.net/
- Clique em Próxima.
- Na página "Segurança" do assistente, selecione Pass through (none).
- Clique em Próxima.
- Na página "Virtual Hosts" do assistente, aceite os padrões.
- Clique em Próxima.
- Na página Build do assistente, revise suas configurações de proxy. Verifique se o ambiente test está selecionado.
- Clique em Build and Deploy.
2. Criar um produto
- Selecione Publicar > Produtos da API no menu de navegação lateral.
- Clique em + Produto da API. A página "Detalhes do produto" é exibida.
- Preencha a página "Detalhes do produto" da seguinte maneira:
- Nome: EdgeMicroTestProduct
- Nome de exibição: EdgeMicroTestProduct
- Ambiente: teste e produção
- Access: Public
- Tipo de aprovação de chave: automático
- Em "Resources", clique em +API Proxy.
- Selecione edgemicro-auth.
- Clique em +Proxy de API novamente.
- Selecione edgemicro_hello
- Selecione + Custom Resource.
- Digite /**
- Selecione + Recurso personalizado novamente.
- Digite /
- Clique em Salvar.
3. (Opcional) Criar um desenvolvedor de teste
Para os fins deste tutorial, use qualquer desenvolvedor existente para a próxima etapa, criar um app de desenvolvedor. Mas, se quiser, crie um desenvolvedor de teste agora:
- Selecione Publicar > Desenvolvedores no menu de navegação lateral.
- Clique em + Desenvolvedor.
- Preencha a caixa de diálogo para criar um desenvolvedor de teste.
4. Criar um app de desenvolvedor
Você usará as credenciais do cliente deste aplicativo para fazer chamadas de API seguras por meio do Edge Microgateway:
- Selecione Publicar > Apps no menu de navegação lateral.
- Clique em + App. A página "Developer App Details" é exibida.
- Preencha a página do app do desenvolvedor da seguinte maneira:
- Nome: EdgeMicroTestApp
- Nome de exibição: EdgeMicroTestApp
- Desenvolvedor:se você criou um desenvolvedor de teste, selecione-o. Ou você pode usar qualquer desenvolvedor existente para os fins deste tutorial.
-
Credenciais:
- Selecione Expiração: Nunca.
- Clique em + Product e selecione EdgeMicroTestProduct (o produto que você acabou de criar)
- Clique em Salvar.
- Você está de volta à página da lista de aplicativos.
- Selecione o aplicativo que você acabou de criar, EdgeMicroTestApp.
- Clique em Mostrar ao lado de Consumer Key e Consumer Secret.
Parte 3: operar o Edge Microgateway
Agora que você tem um Edge Microgateway configurado e pelo menos um proxy ciente do Edge Microgateway no Edge, é hora de iniciá-lo. Um servidor HTTP Edge Microgateway será executado na 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.
- Verifique se você tem as chaves que foram retornadas anteriormente quando executou o comando edgemicro
configure. A saída é semelhante a esta:
You need key and secret while starting edgemicro instance key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
- (Opcional) Imprimir informações de ajuda para o comando
edgemicro start
.
edgemicro start -h
- 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 organização do Edge (você precisa ser um administrador da organização).env
é um ambiente na sua organização (como teste ou prod).key
é a chave retornada anteriormente pelo comando de configuração.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 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 proxies e produtos compatíveis com microgateway que foram descobertos. No final da saída, você verá 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
- Verifique o status do microgateway. Em outra janela de terminal, cd para 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 de informações de configuração do Edge Microgateway é transferido por download do Apigee Edge e armazenado em cache localmente. Essas informações incluem o seguinte:
- 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 de borda do Microgateway que existem na organização/ambiente. Esses são todos os proxies nomeados com o prefixo edgemicro_.
- Uma representação de todos os produtos de API que existem na organização/ambiente.
Com essas informações, o Edge Microgateway sabe quais proxies e caminhos proxy podem ser processados. Ele usa as informações do produto para reforçar a segurança (da mesma forma que qualquer proxy de API faz na Apigee Edge, em que as chaves do app do desenvolvedor são associadas a produtos). Em breve, veremos as etapas para proteger o Edge Microgateway.
2. Testar o Microgateway do Edge
Com o Edge Microgateway em execução, você pode chamar o proxy. Você fez o download da configuração do proxy edgemicro_hello do Edge quando 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. Observe que tudo após o caminho base (incluindo quaisquer parâmetros de consulta) é simplesmente passado 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álidos com a solicitação. Por padrão, o Edge Microgateway requer uma chave de API ou um token de acesso em cada chamada de API. Na próxima etapa do tutorial, protegeremos essa API corretamente e mostraremos como conseguir um token de acesso válido e incluí-lo na solicitação.
4. Interromper o Edge Microgateway
- Em uma janela de terminal separada,
cd
para o mesmo diretório em que você iniciou o Edge Microgateway. - Digite o comando de parada:
edgemicro stop
Parte 4: Microgateway do Secure Edge
É possível proteger chamadas de API feitas por meio do Edge Microgateway usando uma chave de API ou um token de acesso.
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. Obter as chaves necessárias
- Na IU do Edge, navegue até o app do desenvolvedor criado anteriormente. O nome do app era EdgeMicroTestApp.
- Na página "Developer App", mostre a chave e o segredo do cliente e copie-os. Esses valores são necessários para conseguir um token de acesso na próxima etapa.
2. receber um token de acesso
Há duas maneiras de receber um token de acesso. Mostraremos 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 do tutorial. O segundo método geralmente é mais útil para desenvolvedores de apps clientes que precisam solicitar tokens. O endpoint de token real é implementado no proxy edgemicro-auth que foi implantado quando você configurou o Edge Microgateway.
- (Opcional) Veja a ajuda do comando token get:
edgemicro token get -h
- Gere o token substituindo os valores da chave e do segredo do cliente do aplicativo de desenvolvedor que você criou 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 organização do Edge (você precisa ser um administrador da organização).env
é um ambiente na sua organização (como teste ou prod).consumer_id
é o ID do consumidor no app do desenvolvedor que você criou anteriormente.consumer_secret
é o segredo do cliente no aplicativo para desenvolvedores que você criou anteriormente.
Exemplo
edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
Saída (exemplo)
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) Usar a API para receber um token
Se você está acostumado a chamar proxies do Edge usando curl ou outro cliente HTTP, pode ter interesse em saber que é possível chamar o endpoint do token diretamente, em vez de usar o comando edgemicro token. Veja um exemplo de curl. Basta substituir os nomes de organização e de ambiente no URL e passar os valores de chave secreta do cliente separados por dois pontos em um cabeçalho de autenticação básica:
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 organização do Edge (você precisa ser um administrador da organização).env
é um ambiente na sua organização (como teste ou prod).client_id
é o ID do consumidor no app do desenvolvedor que você criou anteriormente.client_secret
é o segredo do cliente no aplicativo para desenvolvedores que você criou anteriormente.
Resultado (amostra)
Se você usou o comando CLI edgemicro token ou chamou o endpoint usando curl, ele retorna um token de acesso assinado que pode ser usado para fazer chamadas de cliente. Algo como:
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
- 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. - Verifique se essas propriedades do plug-in OAuth estão definidas como false. Elas são falsas por padrão, mas é recomendável verificar novamente:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- Também no arquivo
org-env-config.yaml
, verifique se o plug-in OAuth foi adicionado ao elementoplugins:sequence
, da seguinte forma:plugins: dir: ../plugins sequence: - oauth
- Se você fizer alterações no arquivo, recarregue-as na instância do Edge Microgateway em execução. 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 organização do Edge (você precisa ser um administrador da organização).env
é um ambiente na sua organização (como teste ou prod).key
é a chave retornada anteriormente pelo comando de configuração.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, você pode fazer a chamada da API com segurança. Por 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 do servidor simulado.
Como proteger a API com uma chave de API
Se você quiser usar uma chave de API para autorização, siga estas etapas:
1. Conseguir a chave de API
- Na IU do Edge, navegue até o app do desenvolvedor criado anteriormente. O nome do app era EdgeMicroTestApp.
- Na página "App do desenvolvedor", mostre a chave do cliente e copie-a. Esse valor é a chave de API. Você usará essa chave para fazer chamadas de API autenticadas.
2. Verifique a configuração no Edge Microgateway
- 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. - Verifique se essas propriedades do plug-in OAuth estão definidas como false. Elas são falsas por padrão, mas você pode verificar novamente se quiser:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- Também no arquivo
org-env-config.yaml
, verifique se o plug-in OAuth foi adicionado ao elementoplugins:sequence
, da seguinte forma:plugins: dir: ../plugins sequence: - oauth
- Se você fizer alterações no arquivo, recarregue-as na instância do Edge Microgateway em execução. 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 organização do Edge (você precisa ser um administrador da organização).env
é um ambiente na sua organização (como teste ou prod).key
é a chave retornada anteriormente pelo comando de configuração.secret
é a chave retornada anteriormente pelo comando de configuração.
Exemplo
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d
3. Chamar a API com segurança usando uma chave de API
Chame a API com o cabeçalho x-api-key conforme mostrado a seguir. O valor da chave do cliente copiado do app do desenvolvedor é a chave de API. Por padrão, o Edge Microgateway espera que você passe a chave em um cabeçalho chamado x-api-key, desta maneira:
curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"
Em que:
apikey
é o valor da chave do consumidor retirado do EdgeMicroTestApp.
Por exemplo:
curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxd0ilYQ5szwuljr5bB'
Agora você tem um Edge Microgateway totalmente funcional e seguro. Na próxima parte do tutorial, vamos dar uma olhada nos plug-ins que adicionam funcionalidades ao Edge Microgateway.
Parte 5: adicionar um plug-in Spike Arrest
Nesta parte, vamos adicionar um recurso de limitação de taxa chamado de prisão de pico à instância do Edge Microgateway.
O que são plug-ins?
Um plug-in é um módulo do 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 um plug-in de prisão por pico
Um plug-in de parada de pico protege contra picos de tráfego. Ela limita o número de solicitações processadas por uma instância do Edge Microgateway.
No Edge Microgateway, a prisão de pico é implementada como um módulo do plug-in. Para ativá-lo, é necessário adicioná-lo ao arquivo de configuração do Edge Microgateway.
- Abra o arquivo
$HOME/.edgemicro/org-env-config.yaml.
Onde o Edge Microgateway está instalado se não for possível localizar esse arquivo. - Adicione o elemento a seguir. É possível adicioná-lo a qualquer lugar do arquivo.
spikearrest: timeUnit: minute allow: 10 buffersize: 0
- Adicione
spikearrest
ao elementoedgemicro:sequence
, conforme mostrado abaixo. A propriedade de configuração da sequência informa ao Edge Microgateway a ordem em que os módulos do 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
- Salve o arquivo de configuração.
- Atualize 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 organização de Edge (você precisa ser um administrador da organização).env
é um ambiente na sua organização (como teste ou prod).key
é a chave retornada anteriormente pelo comando de configuração.secret
é a chave retornada anteriormente pelo comando de configuração.
Exemplo
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
- Tente chamar a API várias vezes sucessivamente. Após a segunda chamada, o Edge Microgateway retorna este erro:
{"message":"SpikeArrest engaged","status":503}
O motivo é que a prisão de pico suaviza o número de chamadas que podem ser feitas durante a unidade de tempo especificada. Portanto, 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 cotas. Assim como na prisão de pico, o plug-in de cotas é incluído em todas as instalações do Edge Microgateway. Uma cota especifica o número de mensagens de solicitação que um aplicativo pode enviar a uma API durante um intervalo de tempo especificado (minutos ou horas).
Parte 6: visualizar 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 do plug-in de análise é adicionado ao Edge Micro. Esse módulo envia silenciosamente os dados de análise do Edge Micro para o Apigee Edge, onde são consumidos pelo sistema do Edge Analytics. Vamos ver:
- Faça login na sua organização no Apigee Edge.
- Selecione Analytics > Desempenho de proxy.
- No painel de desempenho do proxy, selecione o edgemicro_hello proxy.
- 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 e muito mais.
Saiba 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 o artigo Usar plug-ins