Você está vendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. informações
Visão geral
Neste tutorial, apresentamos as etapas necessárias para instalar uma instância do Edge Microgateway e em execução.
Depois de concluir estas etapas, você terá uma instalação totalmente configurada e funcional do Edge Microgateway, capaz de processar solicitações de API. Você testará a configuração fazendo chamadas de API seguras pelo Edge Microgateway para um destino de back-end. Você também aprenderá a adicionar um plug-in de detenção de pico ao Microgateway.
Este guia é 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 do Analytics 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.
Quando terminar a instalação, prossiga 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 de interface de linha de comando (CLI) 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 para a nuvem privada do Apigee Edge.
Etapas de configuração do Apigee Edge Cloud
Siga estas etapas para usar o Edge Microgateway com o Apigee Edge Cloud:
- Se você ainda não tiver feito isso, inicialize o Edge Microgateway. Essa etapa só é necessária
uma vez:
edgemicro init
- (Opcional) Ajuda de impressão 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
é o nome da sua organização de 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 da 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 a nuvem privada da Apigee:
- Mostre 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. São necessárias informações padrão sobre sua conta de 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. Você precisa ser um administrador da organização de 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 de 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 da Apigee.-
virtual_host
é uma lista separada por vírgulas de nomes de hosts 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, caso tenha 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 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 relatado, tudo está configurado 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 de 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 a inicialização para o Apigee Edge. Após a conclusã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 veremos na próxima parte deste tutorial, quando o Edge Microgateway for iniciado, ele precisará receber uma lista de proxies especiais da API com reconhecimento do Edge Microgateway do Apigee Edge. Na próxima parte deste tutorial, você 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 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 com reconhecimento do Edge Microgateway na Visão geral do Edge Microgateway.
Como administrador da organização de Edge, você precisa saber que os proxies com reconhecimento do Edge 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 pelo Edge Microgateway. Novamente, os padrões envolvidos são idênticos a trabalhar com todos os proxies, produtos e apps de desenvolvedores de API na Apigee Edge. Para ler mais sobre os produtos, comece com O que é um produto de API? na documentação do Edge.
Em seguida, vamos mostrar como criar proxies com reconhecimento do Edge Microgateway. Depois disso, vamos iniciar o Edge Microgateway e testar a configuração.
Parte 2: criar entidades no Apigee Edge
Nesta parte, você criará essas entidades no Edge:
- Um proxy com reconhecimento de microgateway: é 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 precisa ser seguida: o nome precisa ser
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 Microgatway 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 Edge. À medida que o Microgateway processa chamadas de API, ele envia dados de análise de maneira assíncrona para o Edge. Os dados de análise aparecerão na interface do Edge Analytics sob os nomes de proxy que reconhecem microgateways, como acontece com qualquer outro proxy.
- Um app de produto, desenvolvedor e desenvolvedor: o Edge Microgateway usa produtos, desenvolvedores e apps de desenvolvimento para ativar o token de acesso OAuth2 ou a segurança da chave de API. Quando o Edge Microgateway é iniciado, ele faz o download de todas as configurações de produto da sua organização do Apigee Edge. Ele usa essas informações para verificar chamadas de API feitas pelo Edge Microgateway com chaves de API ou tokens de acesso do OAuth2.
Leia mais: consulte também "O que você precisa saber sobre proxies com reconhecimento do Edge Microgateway" na Visão geral do Edge Microgateway.
1. Criar um proxy de API com reconhecimento do Edge Microgateway no Edge
- Faça login na sua organização no Apigee Edge.
- Clique em MUDAR PARA CLÁSSICO para acessar a interface clássica do Edge.
- Selecione APIs > Proxies de API no menu superior.
- Na página "API Proxies", clique em + Proxy de API.
- No assistente de criação de proxy, selecione Proxy reverso (mais comum).
- Clique em Próxima.
- 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 existente: http://mocktarget.apigee.net/
- Clique em Próxima.
- Na página "Segurança" do assistente, selecione Passar por (nenhum).
- Clique em Próxima.
- Na página "Hosts virtuais" do assistente, aceite os padrões.
- Clique em Próxima.
- Na página "Criar" do assistente, revise suas configurações de proxy. Verifique se o ambiente de teste está selecionado.
- Clique em Build and Deploy.
2. Criar um produto
Crie um produto que contenha dois proxies:
- Seu proxy com reconhecimento de microgateway: edgemicro_hello
- O proxy de autenticação instalado pelo Edge Microgateway: edgemicro-auth.
- Na interface do Edge (versão clássica), acesse Publicar > Produtos.
- Na página "Produtos", clique em + Produto. Preencha a página "Detalhes do produto"
da seguinte forma:
- Nome:EdgeMicroTestProduct
- Nome de exibição:EdgeMicroTestProduct
- Ambiente:teste e produção
- Access: Public
- Tipo de aprovação da chave:automática
-
Recursos:
- Proxy de API: selecione edgemicro_hello.
- Revisão: 1
- Caminho do recurso: /**
- Clique em Import Resource.
- Em "Resources", clique em +API Proxy.
- Selecione edgemicro-auth.
- Clique em Salvar.
3. (Opcional) Criar um desenvolvedor de teste
Para os fins deste tutorial, use qualquer desenvolvedor atual para a próxima etapa, como criar um app de desenvolvedor. No entanto, se você quiser, crie um desenvolvedor de teste agora:
- Acesse Publicar > Desenvolvedores.
- Na página "Produtos", 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 de cliente deste aplicativo para fazer chamadas de API seguras pelo Edge Microgateway:
- Acesse Publicar > Apps do desenvolvedor.
- Na página "Apps do desenvolvedor", clique em + App do desenvolvedor.
- 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. Se preferir, use qualquer desenvolvedor atual para os fins deste tutorial.
-
Credenciais:
- Selecione "Validade": Nunca.
- Clique em + Produto e selecione EdgeMicroTestProduct (o produto que você acabou de criar).
- Clique em Salvar.
- Você está de volta à página da lista de apps do desenvolvedor.
- Selecione o app que você acabou de criar, EdgeMicroTestApp.
- Clique em Mostrar ao lado de Chave do cliente e Chave secreta do cliente.
Parte 3: operar o Edge Microgateway
Agora que você tem um Edge Microgateway configurado e pelo menos um proxy com reconhecimento do Edge Microgateway no Edge, é hora de iniciar o Edge Microgateway. Um servidor HTTP do 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 o comando edgemicro configure foi executado. A saída tinha esta aparência:
You need key and secret while starting edgemicro instance key: da4778e7c240a5d4585fc559eaba5083328828ac9f3a7f583e8b73e secret: 3aad7439708b4aeb38ee08e87189921ad00e6fc1ba8a8ae9f929ee2
- (Opcional) Mostre 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 sua organização de 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 "start" recupera muitas informações de configuração do Apigee Edge (que rola até a janela do terminal). Na saída, você vai ver uma lista de produtos e proxies com reconhecimento de microgateway que foram descobertos. No final da saída, você verá 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?
Olhe para o terminal em que você executou o comando edgemicro config. Rolar para cima na saída padrão, é possível ver que o comando recupera um payload de informações de configuração do Edge Microgateway do Apigee Edge. Essas informações incluem o seguinte:
- A chave pública que criamos e armazenamos anteriormente no cofre da Apigee.
- Uma representação JSON de todos os proxies com reconhecimento do 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 pode processar. Ele usa as informações do produto para reforçar a segurança, da mesma forma que qualquer proxy de API no Apigee Edge, em que as chaves de app do desenvolvedor são associadas aos produtos. Vamos conferir as etapas para proteger o Edge Microgateway em breve.
2. Testar Edge Microgateway
Com o Edge Microgateway em execução, é possível chamar o proxy. O download da configuração do proxy edgemicro_hello foi feito do 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 estiver depois do caminho base (incluindo todos os parâmetros de consulta) é simplesmente transmitido 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álido 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: Secure Edge Microgateway
É possível proteger chamadas de API feitas pelo Edge Microgateway usando uma chave de API ou um token de acesso.
- Chamadas de API seguras com um token de acesso do OAuth2
- Proteger chamadas de API com uma chave de API
Proteger chamadas de API com um token de acesso do OAuth2
Siga estas etapas se quiser autenticar chamadas de API com um token de acesso OAuth2:
1. Conseguir as chaves necessárias
- Na IU do Edge, navegue até o aplicativo do desenvolvedor criado anteriormente, conforme descrito na Parte 2: criar entidades no Apigee Edge. O nome do app era EdgeMicroTestApp.
- Na página "App do desenvolvedor", mostre a chave e o segredo 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 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 usado ao longo do tutorial. O segundo método geralmente é mais útil para desenvolvedores de apps clientes que precisam solicitar tokens. O endpoint real do token é implementado no proxy edgemicro-auth quando você configurou o Edge Microgateway.
- (Opcional) Confira a ajuda do comando token get:
edgemicro token get -h
- Gere o token, substituindo os valores de chave e chave secreta do cliente do app do 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 de 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 de consumidor no app do desenvolvedor criado anteriormente.consumer_secret
é o segredo do cliente no app do desenvolvedor criado 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) Como usar a API para receber um token
Se você está acostumado a chamar proxies Edge usando curl ou outro cliente HTTP, saiba que é possível chamar o endpoint do token diretamente, em vez de usar o comando token edgemicro. Confira um exemplo de curl. Basta substituir os nomes da organização e do ambiente no URL e transmitir os valores de chave secreta de cliente 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 de 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 de consumidor no app do desenvolvedor criado anteriormente.client_secret
é o segredo do cliente no app do desenvolvedor criado anteriormente.
Saída (exemplo)
O comando, seja você usado o comando da CLI edgemicro token ou chamou o endpoint usando curl, retorna um token de acesso assinado que pode ser usado para fazer chamadas de cliente. Você pode usar algo como:
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
- Abra o arquivo ~
/.edgemicro/org-env-config.yaml.
Consulte também "Onde o Edge Microgateway está instalado" em Como instalar o Edge Microgateway. - Verifique se as propriedades do plug-in OAuth estão definidas como false. Eles são
falsos por padrão, mas é uma boa ideia verificar novamente:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- Ainda no arquivo
org-env-config.yaml
, verifique se o plug-in OAuth foi adicionado ao elementoplugins:sequence
, desta forma:plugins: dir: ../plugins sequence: - oauth
- Se você fizer alterações no arquivo, recarregue as alterações na
instância do Edge Microgateway em execução. Este comando reconfigura o Edge Microgateway com
inatividade zero:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Em que:
org
é o nome da sua organização de 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 é possível 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. Gerar a chave de API
- Na IU do Edge, navegue até o aplicativo do desenvolvedor criado anteriormente, conforme descrito na Parte 2: criar entidades no Apigee Edge. O nome do app era EdgeMicroTestApp.
- Na página "App do desenvolvedor", mostre e copie a chave do cliente. Esse valor é a chave de API. Você usará essa chave para fazer chamadas de API autenticadas.
2. verificar a configuração no Edge Microgateway
- Abra o arquivo ~
/.edgemicro/org-env-config.yaml.
Consulte também "Onde o Edge Microgateway está instalado" em Como instalar o Edge Microgateway. - Verifique se as propriedades do plug-in OAuth estão definidas como false. Eles são
falsos por padrão, mas é uma boa ideia verificar novamente:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- Ainda no arquivo
org-env-config.yaml
, verifique se o plug-in OAuth foi adicionado ao elementoplugins:sequence
, desta forma:plugins: dir: ../plugins sequence: - oauth
- Se você fizer alterações no arquivo, recarregue as alterações na
instância do Edge Microgateway em execução. Este comando reconfigura o Edge Microgateway com
inatividade zero:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Em que:
org
é o nome da sua organização de 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, como mostrado a seguir. O valor da chave do consumidor que você copiou 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, assim:
curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"
Em que:
apikey
é o valor da chave do cliente extraído do EdgeMicroTestApp.
Exemplo:
curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxa0ilYQ5szwuljr5bB'
Agora você tem um Edge Microgateway seguro e totalmente funcional. Na próxima parte do tutorial, veremos os plug-ins que adicionam funcionalidades ao Edge Microgateway.
Parte 5: adicionar um plug-in de Spike Arrest
Nesta parte, adicionaremos um recurso de limitação de taxa chamado detenção de pico à sua 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.
Adicionar o plug-in de detenção de pico
O controle de pico protege contra picos de tráfego. Isso 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á-lo, é preciso adicioná-lo ao arquivo de configuração do Edge Microgateway.
- Abra o arquivo ~
/.edgemicro/org-env-config.yaml.
Consulte também "Onde o Edge Microgateway está instalado" em Como instalar o Edge Microgateway. - Adicione o seguinte elemento. Você pode adicioná-lo em qualquer lugar do arquivo.
spikearrest: timeUnit: minute allow: 10 buffersize: 0
- Adicione
spikearrest
ao elementoedgemicro:sequence
, conforme mostrado abaixo. A propriedade de configuração de 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: - spikearrest - oauth
- 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 sua organização de 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
- Tente chamar a API várias vezes em sequência. Após a segunda chamada, o Edge Microgateway retorna este erro:
{"message":"SpikeArrest engaged","status":503}
Isso porque a detenção de pico suaviza o número de chamadas que podem ser feitas durante a unidade de tempo especificada. Nesse caso, é possível fazer 10 chamadas em um minuto ou uma a cada 6 segundos.
Para mais informações, consulte "Como funciona a detenção de pico?" em Usar plug-ins.
Crédito extra: adição do plug-in de cota
Seguindo o mesmo padrão usado para configurar a detenção de pico, é possível adicionar outros plug-ins, como o de cota. Assim como na prisão de pico, o plug-in de cota é 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 a uma API durante um intervalo de tempo especificado (minutos ou horas).
Para saber como as cotas funcionam, consulte "Como usar o plug-in de cota" em Usar plug-ins.
Parte 6: como visualizar análises no Apigee Edge
Agora temos uma instância do Edge Microgateway totalmente funcional. Vamos conferir 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 a borda da Apigee, onde são consumidos pelo sistema do Edge Analytics. Vamos ver:
- Faça login na sua organização no Apigee Edge.
- Selecione Analytics > Desempenho do 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 desejado 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.