Configura Edge Microgateway

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Edge Microgateway v. 2.3.x

Descripción general

En este instructivo, se explican los pasos necesarios para activar y ejecutar una instancia de Edge Microgateway.

Después de completar estos pasos, tendrás una instalación de Edge Microgateway completamente configurada y funcional capaz de procesar solicitudes a la API. Para probar la configuración, realizarás llamadas a la API seguras a través de Edge Microgateway a un destino de backend. También aprenderás a agregar un complemento de protección contra aumentos de tráfico en Microgateway.

Esta guía se divide en las siguientes partes:

Requisito: Instala Edge Microgateway

Sigue las instrucciones en Instala Edge Microgateway. Cuando completes la instalación, estarás listo para seguir los pasos de este instructivo.

Cuando termines con la instalación, ve a la siguiente sección, "Parte 1: Configura Edge Microgateway".

Parte 1: Configura Edge Microgateway

En esta parte, usarás un comando de la interfaz de línea de comandos (CLI) para configurar Edge Microgateway para que se comunique con Apigee Edge. Si usas Apigee Edge Cloud, sigue los pasos de configuración de Apigee Edge Cloud. Si estás en la nube privada de Apigee, sigue los pasos para la nube privada de Apigee Edge.

Pasos de configuración de Apigee Edge Cloud

Sigue estos pasos para usar Edge Microgateway con Apigee Edge Cloud:

  1. Si no lo hiciste antes, inicializa Edge Microgateway (solo debes realizar este paso una vez):
    edgemicro init
    
  2. (Opcional) Imprime la ayuda del comando edgemicro configure:
    edgemicro configure -h
    
  3. Ejecuta el siguiente comando para configurar Edge Microgateway:
    edgemicro configure -o [org] -e [env] -u [username] 
    

    Aquí:

    • org es el nombre de tu organización de Edge (debes ser administrador de la organización).
    • env es un entorno de tu organización (como prueba o producción).
    • username es la dirección de correo electrónico asociada a tu cuenta de Apigee.

Ejemplo

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

Resultado

./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!
    

Pasos para configurar Apigee Private Cloud

Sigue estos pasos para usar Edge Microgateway con Apigee Private Cloud:

  1. Imprime la información de ayuda del comando edgemicro private configure. Puedes imprimir la ayuda de esta manera para cualquier comando o opción de comando de la CLI de Edge Microgateway.
    edgemicro private configure -h
    
  2. Ejecuta el siguiente comando: Requiere información estándar sobre tu cuenta de Apigee Edge Private Cloud: nombre de la organización, nombre del entorno, nombre de usuario (dirección de correo electrónico), contraseña, IP del servidor de administración y IP del router. Debes ser administrador de una organización de Edge para usar este comando:
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]
    

    Aquí:

    • org es el nombre de tu organización de Edge (debes ser administrador de la organización).
    • env es un entorno de tu organización (como prueba o producción).
    • runtime_url es la URL del entorno de ejecución de tu instancia de nube privada.
    • mgmt_url es la URL del servidor de administración de tu instancia de nube privada.
    • username es la dirección de correo electrónico asociada a tu cuenta de Apigee.
    • virtual_host es una lista de nombres de hosts virtuales separados por comas. Los valores predeterminados son default,secure

Ejemplo

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

o, si tienes un alias de host virtual de myorg-test.mycompany.com, puedes usar un comando como el siguiente:

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

Resultado

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!
    

Verifica la instalación

Ejecuta este comando para verificar la instalación. Si no se informan errores, todo está configurado de forma correcta y podrás iniciar Edge Microgateway de forma correcta.

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

Aquí:

  • org es el nombre de tu organización de Edge (debes ser administrador de la organización).
  • env es un entorno de tu organización (como prueba o producción).
  • key es la clave que mostró antes el comando de configuración.
  • secret es la clave que mostró antes el comando de configuración.

Ejemplo

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

Información acerca de la configuración

Toda la configuración realizada hasta ahora permite que Edge Microgateway se inicie en Apigee Edge. Después de que el arranque se realiza de forma correcta, Edge Microgateway recupera una carga útil de información de configuración adicional de Apigee Edge.

¿Para qué se utiliza esta información de configuración? Como descubriremos en la siguiente parte de este instructivo, cuando se inicie Edge Microgateway, deberá recibir una lista de proxies de API especiales de Edge Microgateway de Apigee Edge. En la siguiente parte de este instructivo, crearás un proxy compatible con Microgateway. Edge Microgateway restringe a los clientes para que llamen solo a las APIs encabezadas por estos proxies de API compatibles con Microgateway, y los clientes deberán presentar un token de seguridad válido para cada llamada (de forma predeterminada). Para obtener más información sobre estos proxies, consulta "¿Qué debes saber sobre los proxies compatibles con Edge Microgateway en la Descripción general de Edge Microgateway?

Como administrador de una organización de Edge, te interesará saber que los proxies compatibles con Edge Microgateway se pueden agregar a los productos de Edge, al igual que cualquier otro proxy. Mediante el uso de productos y apps para desarrolladores, puedes generar tokens de seguridad específicos del cliente para controlar el acceso a las APIs a las que se llama mediante Edge Microgateway. Una vez más, los patrones implicados son los mismos que para trabajar con cualquier proxy de API, producto y app de desarrollador en Apigee Edge. Si quieres obtener información sobre los productos, consulta la sección ¿Qué es un producto de API? en la documentación de Edge.

A continuación, veremos cómo crear proxies compatibles con Edge Microgateway y, después, iniciaremos Edge Microgateway y probaremos la configuración.

Parte 2: Crea entidades en Apigee Edge

En esta parte, crearás estas entidades en Edge:

  • Un proxy compatible con microgateway: este es un proxy especial que Edge Microgateway puede descubrir durante el inicio. Los proxies compatibles con Microgateway tienen una convención de nombres que debes seguir: el nombre debe estar con edgemicro_. Por ejemplo, edgemicro_hello o edgemicro_userinfo. Cuando se inicia Edge Microgateway, se recupera de Edge una lista de proxies compatibles con micropuertas de enlace del mismo entorno y organización de Edge que especificaste cuando iniciaste Edge Microgateway.

    Para cada proxy compatible con la micropuerta de enlace, Edge Microgatway recupera la URL de destino del proxy y su ruta base. Los proxies compatibles con Microgateway también proporcionan una forma conveniente de asociar los datos de estadísticas que genera Edge Microgateway con un proxy en la plataforma Edge. A medida que Microgateway controla las llamadas a la API, envía los datos de estadísticas de forma asíncrona a Edge. Los datos de Analytics se mostrarán en la IU de Edge Analytics debajo de los nombres de proxy compatibles con micropuertas de enlace, como lo hacen para cualquier otro proxy.
  • Una app de producto, desarrollador y desarrollador: Edge Microgateway usa productos, desarrolladores y apps para desarrolladores a fin de habilitar la seguridad del token de acceso de OAuth2 o de la clave de API. Cuando se inicia Edge Microgateway, se descargan todas las opciones de configuración del producto de la organización de Apigee Edge. Usa esta información para verificar las llamadas a la API realizadas a través de Edge Microgateway con claves de API o tokens de acceso de OAuth2.

Obtén más información: Consulta también “Lo que debes saber sobre los proxies compatibles con Edge Microgateway” en la Descripción general de Edge Microgateway.

1. Crea un proxy de API compatible con Edge Microgateway en Edge

  1. Accede a tu organización en Apigee Edge.
  2. Haz clic en CAMBIAR A LA VERSIÓN CLÁSICA para ir a la IU clásica de Edge.
  3. Selecciona APIs > API Proxies en el menú de la parte superior.
  4. En la página API Proxies, haz clic en + API Proxy.
  5. En el asistente para compilar un proxy, selecciona Proxy inverso (más común).
  6. Haz clic en Siguiente.
  7. En la página Detalles del asistente, configúralo de la siguiente manera. Asegúrate de completar el asistente tal como se muestra a continuación:
    • Nombre del proxy: edgemicro_hello
    • Ruta base del proxy: /hello
    • API existente: http://mocktarget.apigee.net/
  8. Haz clic en Siguiente.
  9. En la página Seguridad del asistente, selecciona Transferencia (ninguno).
  10. Haz clic en Siguiente.
  11. En la página Virtual Hosts del asistente, acepta los valores predeterminados.
  12. Haz clic en Siguiente.
  13. En la página Build del asistente, revisa la configuración de proxy. Asegúrate de que esté seleccionado el entorno de pruebas.
  14. Haz clic en Build and Deploy.

2. Cómo crear un producto

Crea un producto que contenga dos proxies:

  • Tu proxy microgateway-aware: edgemicro_hello
  • El proxy de autenticación que instaló Edge Microgateway: edgemicro-auth.
  1. En la IU de Edge (versión clásica), ve a Publicar > Productos.
  2. En la página Productos, haz clic en + Producto. Completa la página Detalles del producto de la siguiente manera:
    • Nombre: EdgeMicroTestProduct
    • Nombre visible: EdgeMicroTestProduct
    • Entorno: prueba y producción
    • Access: Public
    • Tipo de aprobación de clave: Automática
    • Recursos:
      • Proxy de API: Selecciona edgemicro_hello
      • Revisión: 1
      • Ruta de acceso del recurso: /**
  3. Haz clic en Import Resource.
  4. En Recursos, haz clic en +API Proxy.
  5. Selecciona edgemicro-auth
  6. Haz clic en Guardar.

3. Crea un desarrollador de prueba (opcional)

A los fines de este instructivo, puedes usar cualquier desarrollador existente para el siguiente paso, la creación de una app de desarrollador. Sin embargo, si lo deseas, puedes crear un desarrollador de prueba ahora:

  1. Ve a Publicar > Desarrolladores.
  2. En la página Productos, haz clic en + Desarrollador.
  3. Completa el diálogo para crear un desarrollador de prueba.

4. Crea una app de desarrollador

Usarás las credenciales de cliente de esta app para realizar llamadas a la API seguras a través de Edge Microgateway:

  1. Ve a Publicar > Apps de desarrolladores.
  2. En la página Aplicaciones del desarrollador, haga clic en + Aplicación de desarrollador.
  3. Completa la página App para desarrolladores de la siguiente manera:
    1. Nombre: EdgeMicroTestApp
    2. Nombre visible: EdgeMicroTestApp
    3. Desarrollador: Si creaste un desarrollador de prueba, selecciónalo. También puedes usar cualquier desarrollador existente para los fines de este instructivo.
    4. Credenciales:
      1. Selecciona Vencimiento: Nunca.
      2. Haz clic en + Product y selecciona EdgeMicroTestProduct (el producto que acabas de crear).
  4. Haz clic en Guardar.
  5. Regresaste a la página de la lista de apps de desarrolladores.
  6. Selecciona la app que acabas de crear, EdgeMicroTestApp.
  7. Haz clic en Mostrar junto a Consumer Key y Consumer Secret.

Parte 3: Opera Edge Microgateway

Ahora que configuraste Edge Microgateway y al menos un proxy compatible con Edge Microgateway en Edge, es hora de iniciar Edge Microgateway. Se ejecutará un servidor HTTP de Edge Microgateway en la máquina local, que realizarás llamadas a la API directamente en ese servidor.

1. Inicia Edge Microgateway

Usa el comando edgemicro start para iniciar Edge Microgateway.

  1. Asegúrate de tener las claves que se mostraron anteriormente cuando ejecutaste el comando edgemicro configure. El resultado se veía de la siguiente manera:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828ac9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e87189921ad00e6fc1ba8a8ae9f929ee2
    
  2. (Opcional) Imprime la información de ayuda del comando edgemicro start.
    edgemicro start -h
    
  3. Para iniciar Edge Microgateway, ejecuta el siguiente comando:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]
    

    Aquí:

    • org es el nombre de tu organización de Edge (debes ser administrador de la organización).
    • env es un entorno de tu organización (como prueba o producción).
    • key es la clave que mostró antes el comando de configuración.
    • secret es la clave que mostró antes el comando de configuración.

    Ejemplo

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

    Resultado

    El comando start recupera mucha información de configuración de Apigee Edge (que se desplaza por la ventana de terminal). En el resultado, verás una lista de proxies compatibles con micropuertas de enlace y productos que se descubrieron. Al final del resultado, deberías ver algo como esto:

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

¿Qué pasó?

Observa la terminal en la que ejecutaste el comando edgemicro config. Si te desplazas por el resultado estándar, puedes ver que el comando recupera una carga útil de la información de configuración de Edge Microgateway de Apigee Edge. Esta información incluye lo siguiente:

  • La clave pública que creamos y almacenamos anteriormente en la bóveda de Apigee.
  • Una representación JSON de todos los proxies compatibles con Edge Microgateway que existen en la organización o el entorno. Todos estos son proxies que se nombran con el prefijo edgemicro_.
  • Una representación JSON de todos los productos de API que existen en la organización o el entorno.

Con esta información, Edge Microgateway sabe qué proxies y rutas de proxy puede procesar. Usa la información del producto para aplicar la seguridad (exactamente de la misma manera que cualquier proxy de API en Apigee Edge, donde las claves de app del desarrollador tienen una asociación con los productos). En breve, completaremos los pasos para proteger Edge Microgateway.

2. Prueba Edge Microgateway

Con Edge Microgateway en ejecución, puedes llamar al proxy. La configuración del proxy edgemicro_hello se descargó desde Edge cuando iniciaste Edge Microgateway. Recuerde que la ruta base del proxy es /hello.

Para probar Edge Microgateway, comenzamos con la ruta base y agregamos una ruta de recurso /echo. Ten en cuenta que todo lo que sigue a la ruta base (incluidos los parámetros de consulta) simplemente se pasa al destino del backend:

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

El error se produce porque no enviaste una clave de API o un token de acceso válidos con la solicitud. De forma predeterminada, Edge Microgateway requiere una clave de API o un token de acceso en cada llamada a la API. En el siguiente paso del instructivo, protegeremos esta API de forma adecuada y te mostraremos cómo obtener un token de acceso válido e incluirlo en la solicitud.

4. Detén Edge Microgateway

  1. En una ventana de terminal independiente, cd en el mismo directorio en el que iniciaste Edge Microgateway.
  2. Ingresa el comando de detención:
    edgemicro stop
    

Parte 4: Secure Edge Microgateway

Puedes proteger las llamadas a la API realizadas a través de Edge Microgateway con una clave de API o un token de acceso.

Protege las llamadas a la API con un token de acceso de OAuth2

Sigue estos pasos si quieres autenticar las llamadas a la API con un token de acceso de OAuth2:

1. Obtén las claves necesarias

  1. En la IU de Edge, navega a la app de desarrollador que creaste antes, como se describe en la Parte 2: Crea entidades en Apigee Edge. El nombre de la app era EdgeMicroTestApp.
  2. En la página de la app del desarrollador, muestra la clave de consumidor y el secreto de consumidor, y cópialos. Estos valores son obligatorios para obtener un token de acceso en el siguiente paso.

2. Obtén un token de acceso

Existen dos maneras de obtener un token de acceso. Le mostraremos ambos métodos.

Cómo usar la CLI para obtener un token de acceso

El primer método es conveniente y sigue el patrón que usamos en todo el instructivo. Por lo general, el segundo método es más útil para los desarrolladores de apps cliente que necesitan solicitar tokens. El extremo del token real se implementa en el proxy edgemicro-auth que se implementó cuando configuraste Edge Microgateway.

  1. Consulta la ayuda del comando token get:
    edgemicro token get -h
    
    (opcional)
  2. Genera el token y reemplaza los valores de la clave de consumidor y el secreto del consumidor de la aplicación de desarrollador que creaste en Apigee Edge en los parámetros -i y -s:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
    

    Aquí:

    • org es el nombre de tu organización de Edge (debes ser administrador de la organización).
    • env es un entorno de tu organización (como prueba o producción).
    • consumer_id es el ID de consumidor en la app de desarrollador que creaste anteriormente.
    • consumer_secret es el secreto del consumidor en la app de desarrollador que creaste antes.

    Ejemplo

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

    Resultado (muestra)

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

Cómo usar la API para obtener un token(opcional)

Si sueles llamar a proxies de Edge con curl o algún otro cliente HTTP, te recomendamos que sepas que puedes llamar al extremo del token directamente, en lugar de usar el comando edgemicro token. Este es un ejemplo de curl. Simplemente reemplaza los nombres de tu organización y entorno en la URL y pasa los valores de la clave de consumidor:Secreto de consumidor separados por dos puntos en un encabezado de autenticación 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"

Aquí:

  • org es el nombre de tu organización de Edge (debes ser administrador de la organización).
  • env es un entorno de tu organización (como prueba o producción).
  • client_id es el ID de consumidor en la app de desarrollador que creaste anteriormente.
  • client_secret es el secreto del consumidor en la app de desarrollador que creaste anteriormente.

Resultado (muestra)

El comando, sin importar si usaste el comando de la CLI edgemicro token o llamaste al extremo con curl, muestra un token de acceso firmado que se puede usar para realizar llamadas a clientes. Algo como esto:

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. Verifica la configuración en Edge Microgateway

  1. Abre el archivo. /.edgemicro/org-env-config.yaml. Consulta también la sección "¿Dónde está instalado Edge Microgateway" en Instala Edge Microgateway.
  2. Asegúrate de que estas propiedades del complemento de OAuth estén configuradas como false. De forma predeterminada, estos valores son falsos, pero te recomendamos que los vuelvas a verificar:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. Además, en el archivo org-env-config.yaml, asegúrate de que el complemento de OAuth se agregue al elemento plugins:sequence de la siguiente manera:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
    
  4. Si realizas cambios en el archivo, vuelve a cargar los cambios en la instancia de Edge Microgateway en ejecución. Con este comando, se reconfigura Edge Microgateway con tiempo de inactividad cero:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Aquí:

    • org es el nombre de tu organización de Edge (debes ser administrador de la organización).
    • env es un entorno de tu organización (como prueba o producción).
    • key es la clave que mostró antes el comando de configuración.
    • secret es la clave que mostró antes el comando de configuración.

    Ejemplo

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

4. Llama a la API de forma segura

Con un token de acceso a mano, ahora puedes realizar la llamada a la API de forma segura. Por ejemplo:

  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

La API muestra encabezados y otra información del servidor simulado.

Cómo proteger la API con una clave de API

Si deseas usar una clave de API para la autorización, sigue estos pasos:

1. Obtén la clave de API

  1. En la IU de Edge, navega a la app de desarrollador que creaste antes, como se describe en la Parte 2: Crea entidades en Apigee Edge. El nombre de la app era EdgeMicroTestApp.
  2. En la página de la app del desarrollador, muestra la clave de consumidor y cópiala. Este valor es la clave de API. Usarás esta clave para hacer llamadas autenticadas a la API.

2. Verifica la configuración en Edge Microgateway

  1. Abre el archivo. /.edgemicro/org-env-config.yaml. Consulta también la sección "¿Dónde está instalado Edge Microgateway" en Instala Edge Microgateway.
  2. Asegúrate de que estas propiedades del complemento de OAuth estén configuradas como false. De forma predeterminada, estos valores son falsos, pero te recomendamos que los vuelvas a verificar:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. Además, en el archivo org-env-config.yaml, asegúrate de que el complemento de OAuth se agregue al elemento plugins:sequence de la siguiente manera:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
    
  4. Si realizas cambios en el archivo, vuelve a cargar los cambios en la instancia de Edge Microgateway en ejecución. Con este comando, se reconfigura Edge Microgateway con tiempo de inactividad cero:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Aquí:

    • org es el nombre de tu organización de Edge (debes ser administrador de la organización).
    • env es un entorno de tu organización (como prueba o producción).
    • key es la clave que mostró antes el comando de configuración.
    • secret es la clave que mostró antes el comando de configuración.

    Ejemplo

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

3. Llama a la API de forma segura con una clave de API

Llama a la API con el encabezado x-api-key como se indica a continuación. El valor de la clave de consumidor que copiaste de la app de desarrollador es la clave de API. De forma predeterminada, Edge Microgateway espera que pases la clave en un encabezado llamado x-api-key, como el siguiente:

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

Aquí:

  • apikey es el valor de la clave de consumidor que se tomó de EdgeMicroTestApp.

Por ejemplo:


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

Ahora tienes una Edge Microgateway completamente segura y funcional. En la siguiente parte del instructivo, veremos los complementos que agregan funcionalidad a Edge Microgateway.

Parte 5: Agrega un complemento de Spike Arrest

En esta parte, agregaremos una función de límite de frecuencia llamada protección contra aumentos repentinos a tu instancia de Edge Microgateway.

¿Qué son los complementos?

Un complemento es un módulo de Node.js que agrega funcionalidad a Edge Microgateway. Los módulos de complementos siguen un patrón coherente y se almacenan en una ubicación conocida por Edge Microgateway, lo que permite que la micropuerta de enlace los descubra y los cargue de forma automática. Obtén más información sobre los complementos en Cómo usar complementos.

Cómo agregar el complemento de protección contra aumentos repentinos

Spike Arrest protege contra los aumentos de tráfico. Limita la cantidad de solicitudes que procesa una instancia de Edge Microgateway.

En Edge Microgateway, la protección contra aumentos repentinos se implementa como un módulo de complemento. Para habilitarlo, debes agregarlo al archivo de configuración de Edge Microgateway.

  1. Abre el archivo. /.edgemicro/org-env-config.yaml. Consulta también la sección "¿Dónde está instalado Edge Microgateway" en Instala Edge Microgateway.
  2. Agrega el siguiente elemento. Puedes agregarla en cualquier parte del archivo.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
    
  3. Agrega spikearrest al elemento edgemicro:sequence, como se muestra a continuación. La propiedad de configuración de secuencia le indica a Edge Microgateway el orden en que se ejecutan los módulos de complementos.
    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
      sequence:
        - spikearrest
        - oauth 
    
  4. Guarda el archivo de configuración.
  5. Vuelve a cargar Edge Microgateway con el comando reload. Debes ejecutar este comando desde el directorio en el que iniciaste Edge Microgateway.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Aquí:

    • org es el nombre de tu organización de Edge (debes ser administrador de la organización).
    • env es un entorno de tu organización (como prueba o producción).
    • key es la clave que mostró antes el comando de configuración.
    • secret es la clave que mostró antes el comando de configuración.

    Ejemplo

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    
  6. Intenta llamar a la API varias veces seguidas. Después de la segunda llamada, Edge Microgateway muestra este error:
    {"message":"SpikeArrest engaged","status":503}
    

Esto se debe a que la protección contra aumentos de tráfico disminuye la cantidad de llamadas que se pueden realizar durante la unidad de tiempo especificada. Por lo tanto, en este caso, puedes realizar 10 llamadas en un minuto o una cada 6 segundos.

Para obtener más información, consulta "¿Cómo funciona la protección contra aumentos de tráfico?" en Cómo usar complementos.

Crédito adicional: Agrega el complemento de cuota

Si sigues el mismo patrón que se usa para configurar la protección contra aumentos repentinos, puedes agregar otros complementos, como el de cuota. Al igual que con la protección contra aumentos repentinos, el complemento de cuota se incluye en cada instalación de Edge Microgateway. Una cuota especifica la cantidad de mensajes de solicitud que una app puede enviar a una API durante un intervalo de tiempo específico (horas o minutos).

Para obtener información sobre cómo funcionan las cuotas, consulta "Cómo usar el complemento de cuota" en Cómo usar complementos.

Parte 6: Visualiza análisis en Apigee Edge

Ahora tenemos una instancia de Edge Microgateway completamente funcional. Veamos qué estuvo haciendo. De forma predeterminada, el módulo del complemento de Analytics se agrega a Edge Micro. Este módulo envía de forma silenciosa datos de estadísticas de Edge Micro a Apigee Edge, donde el sistema de Edge Analytics los consume. Veamos:

  1. Accede a tu organización en Apigee Edge.
  2. Selecciona Analytics > Rendimiento del proxy.
  3. En el panel de rendimiento del proxy, selecciona el proxy de Edgemicro_hello.
  4. En el gráfico, se muestra información sobre los patrones de tráfico del proxy, como el tráfico total, el tiempo de respuesta promedio, el tiempo de respuesta objetivo promedio y mucho más.

Puedes obtener más información sobre los paneles de Edge Analytics en la página principal de los paneles de Analytics en la documentación de Edge. Para obtener más información sobre los complementos, consulta Cómo usar complementos.