Referencia

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

La interfaz de línea de comandos (CLI) apigee-remote-service-cli te ayuda a aprovisionar y administrar el adaptador de Apigee para Envoy.

Comandos de vinculación

La vinculación asocia un servicio implementado en la malla de Istio con un producto de la API de Apigee. La CLI te permite crear, quitar y enumerar vinculaciones.

Nota: En la IU de Crear producto, puedes especificar uno o varios servicios con un producto. Hacerlo equivale a crear la vinculación con la CLI.

Agregar una vinculación

Agrega una vinculación de destino de servicio remoto a un producto de API.

Uso

Para la nube perimetral pública:

apigee-remote-service-cli bindings add [service_name] [product_name]  -o [organization] -e [environment] -u [username] -p [password] -c [config]

Para la nube privada perimetral, sigue estos pasos:

apigee-remote-service-cli bindings add [service_name] [product_name]  -o [organization] -e [environment] -u [username] -p [password] -r [runtime] -c [config]

Para Apigee Hybrid:

apigee-remote-service-cli bindings add [service_name] [product_name]  -o [organization] -e [environment] -t [token]

Parámetros

Parámetros Tipo Descripción
-c, --config Cadena La ruta de acceso al archivo de configuración del servicio remoto de Apigee (obligatorio). Sugerencia: Cuando especificas esta opción, puedes omitir la mayoría de los demás parámetros de comando. Consulta Usa la opción --config.
-e, --env Cadena Un entorno en tu organización (obligatorio).
-h, --help Muestra la ayuda de los parámetros del comando.
--insecure Permitir conexiones de servidor no seguras cuando se usa SSL
--legacy Establece esta marca si usas Apigee Edge Cloud. Configura las URL de administración y el entorno de ejecución para Edge Cloud.
--opdk Establece esta marca si usas Apigee Edge para una nube privada.
-o, --org Cadena Es una organización de Apigee (obligatorio). Debes ser administrador de una organización.
-p, --password Cadena (Obligatorio solo para autenticación básica) Tu contraseña de Apigee. De manera opcional, puedes especificar la contraseña en un archivo .netrc. Si lo haces, no es necesario que proporciones tu contraseña en la línea de comandos. Consulta también Cómo usar .netrc para credenciales.
-r, --runtime Cadena URL base del entorno de ejecución de Apigee (obligatorio para entornos opdk o híbridos).
-t, --token Cadena (Obligatorio solo para la autenticación de token de OAuth) Un token de OAuth o SAML que se genere desde la información de tu cuenta de Apigee. Para obtener información sobre cómo generar tokens, consulta Usa get_token y Accede a la API de Management con SAML.
-u, --username Cadena (Obligatorio solo para la autenticación básica) Es tu nombre de usuario de Apigee (por lo general, una dirección de correo electrónico). De manera opcional, puedes especificar el nombre de usuario en un archivo .netrc. Si lo haces, no es necesario que proporciones tu nombre de usuario en la línea de comandos. Consulta también Cómo usar .netrc para credenciales.
-v, --verbose (Opcional) Produce un resultado detallado.

Ejemplo

./apigee-remote-service-cli bindings add httpbin.org envoy-test -o myorg -e test -u user@example.com -c config.yaml -p xxxxxx
product envoy-test is now bound to: httpbin.org

Mostrar lista de vinculaciones

Enumera todos los productos de API que están vinculados al servicio remoto.

Uso

Para la nube perimetral pública:

apigee-remote-service-cli bindings list -o [organization] -e [environment] -u [username] -p [password]

Para la nube privada perimetral, sigue estos pasos:

apigee-remote-service-cli bindings list -o [organization] -e [environment] -u [username] -p [password] -r [runtime] 

Parámetros

Parámetros Tipo Descripción
-c, --config Cadena La ruta de acceso al archivo de configuración del servicio remoto de Apigee (obligatorio). Sugerencia: Cuando especificas esta opción, puedes omitir la mayoría de los demás parámetros de comando. Consulta Usa la opción --config.
-e, --env Cadena Un entorno en tu organización (obligatorio).
-h, --help Muestra la ayuda de los parámetros del comando.
--insecure Permitir conexiones de servidor no seguras cuando se usa SSL
--legacy Establece esta marca si usas Apigee Edge Cloud. Configura las URL de administración y el entorno de ejecución para Edge Cloud.
--opdk Establece esta marca si usas Apigee Edge para una nube privada.
-o, --org Cadena Es una organización de Apigee (obligatorio). Debes ser administrador de una organización.
-p, --password Cadena (Obligatorio solo para autenticación básica) Tu contraseña de Apigee. De manera opcional, puedes especificar la contraseña en un archivo .netrc. Si lo haces, no es necesario que proporciones tu contraseña en la línea de comandos. Consulta también Cómo usar .netrc para credenciales.
-r, --runtime Cadena URL base del entorno de ejecución de Apigee (obligatorio para entornos opdk o híbridos).
-t, --token Cadena (Obligatorio solo para la autenticación de token de OAuth) Un token de OAuth o SAML que se genere desde la información de tu cuenta de Apigee. Para obtener información sobre cómo generar tokens, consulta Usa get_token y Accede a la API de Management con SAML.
-u, --username Cadena (Obligatorio solo para la autenticación básica) Es tu nombre de usuario de Apigee (por lo general, una dirección de correo electrónico). De manera opcional, puedes especificar el nombre de usuario en un archivo .netrc. Si lo haces, no es necesario que proporciones tu nombre de usuario en la línea de comandos. Consulta también Cómo usar .netrc para credenciales.
-v, --verbose (Opcional) Produce un resultado detallado.

Ejemplo

apigee-remote-service-cli bindings list -o myorg -e test -u user@example.com -c config.yaml -p abc123
PI Products
============
Bound
-----
envoy-test:
  Quota: 5 requests every 1 minute
  Target bindings:
    httpbin.org
  Paths:
httpbin:
  Quota: 5 requests every 1 minute
  Target bindings:
    httpbin.org
  Paths:
    /httpbin
    /

Unbound
-------
product-1:
  Quota: 100 requests every 1 hour
product-2:
  Quota: 1000 requests every 1 month
product-3:
product-4:

Quitar una vinculación

Quita la vinculación del servicio remoto para Envoy de un producto de API.

Nota: También puedes quitar una vinculación del servicio remoto para Envoy si quitas el nombre del servicio del producto en la IU de Edge.

Uso

Para la nube perimetral pública:

apigee-remote-service-cli bindings remove [service_name] [product_name]  -o [organization] -e [environment] -u [username] -p [password] -c [config]

Para la nube privada perimetral, sigue estos pasos:

apigee-remote-service-cli bindings remove [service_name] [product_name]  -o [organization] -e [environment] -u [username] -p [password] -r [runtime] -c [config]

Para Apigee Hybrid:

apigee-remote-service-cli bindings remove [service_name] [product_name]  -o [organization] -e [environment] -t [token]

Parámetros

Parámetros Tipo Descripción
-c, --config Cadena La ruta de acceso al archivo de configuración del servicio remoto de Apigee (obligatorio). Sugerencia: Cuando especificas esta opción, puedes omitir la mayoría de los demás parámetros de comando. Consulta Usa la opción --config.
-e, --env Cadena Un entorno en tu organización (obligatorio).
-h, --help Muestra la ayuda de los parámetros del comando.
--insecure Permitir conexiones de servidor no seguras cuando se usa SSL
--legacy Establece esta marca si usas Apigee Edge Cloud. Configura las URL de administración y el entorno de ejecución para Edge Cloud.
--opdk Establece esta marca si usas Apigee Edge para una nube privada.
-o, --org Cadena Es una organización de Apigee (obligatorio). Debes ser administrador de una organización.
-p, --password Cadena (Obligatorio solo para autenticación básica) Tu contraseña de Apigee. De manera opcional, puedes especificar la contraseña en un archivo .netrc. Si lo haces, no es necesario que proporciones tu contraseña en la línea de comandos. Consulta también Cómo usar .netrc para credenciales.
-r, --runtime Cadena URL base del entorno de ejecución de Apigee (obligatorio para entornos opdk o híbridos).
-t, --token Cadena (Obligatorio solo para la autenticación de token de OAuth) Un token de OAuth o SAML que se genere desde la información de tu cuenta de Apigee. Para obtener información sobre cómo generar tokens, consulta Usa get_token y Accede a la API de Management con SAML.
-u, --username Cadena (Obligatorio solo para la autenticación básica) Es tu nombre de usuario de Apigee (por lo general, una dirección de correo electrónico). De manera opcional, puedes especificar el nombre de usuario en un archivo .netrc. Si lo haces, no es necesario que proporciones tu nombre de usuario en la línea de comandos. Consulta también Cómo usar .netrc para credenciales.
-v, --verbose (Opcional) Produce un resultado detallado.

Ejemplo

./apigee-remote-service-cli bindings remove httpbin.org envoy-test -o myorg -e test -u user@example.com -c config.yaml -p xxxxxx
product envoy-test is no longer bound to: httpbin.org

Comando de ayuda

Se proporciona ayuda en línea para todos los comandos apigee-remote-service-cli. Escribe lo siguiente:

apigee-remote-service-cli help

Para obtener ayuda con cualquier comando, escribe lo siguiente:

apigee-remote-service-cli [command] help

Por ejemplo:

apigee-remote-service-cli provision help

Comando de aprovisionamiento

El comando apigee-remote-service-cli provision instala un proxy en tu organización de Apigee Edge, configura un certificado y genera credenciales que necesitarás para configurar Apigee Adapter for Envoy.

Uso

Si usas la nube perimetral pública:

apigee-remote-service-cli provision -o $ORG -e $ENV -u $USERNAME -p $PASSWORD

Si usas la nube privada perimetral:

apigee-remote-service-cli provision --opdk -o $ORG -e $ENV -u $USERNAME --management $MGMT_SERVER_URL --runtime $RUNTIME_URL -p $PASSWORD

Parámetros

Parámetros Tipo Descripción
-c, --config Cadena Ruta de acceso al archivo de configuración del servicio remoto de Apigee. Sugerencia: Cuando especificas esta opción, puedes omitir la mayoría de los demás parámetros de comando. Consulta Usa la opción --config.
-e, --environment Cadena Un entorno en tu organización (obligatorio).
-f, --force-proxy-install (Opcional) Fuerza el proxy remote-service para que se vuelva a instalar si ya está instalado en tu organización.
-h, --help Muestra la ayuda de los parámetros del comando.
-k, --key Cadena Especifica la clave que muestra el comando apigee-remote-service-cli provision.
--legacy SaaS de Apigee (configura la URL de la administración y el entorno de ejecución)
-m, --management Cadena (Obligatorio si estás en la nube privada de Apigee) La URL de base de administración de Apigee. Valor predeterminado: https://api.enterprise.apigee.com
-n, --namespace Cadena Emite la configuración como un ConfigMap de Envoy en el espacio de nombres especificado.
--opdk Cadena OPDK de Apigee.
-o, --organization Cadena Tu organización de Apigee (obligatorio). Debes ser administrador de una organización.
-p, --password Cadena (Obligatorio solo para autenticación básica) Tu contraseña de Apigee. De manera opcional, puedes especificar la contraseña en un archivo .netrc. Si lo haces, no es necesario que proporciones tu contraseña en la línea de comandos. Consulta también Cómo usar .netrc para credenciales.
--rotate-int int Si n es > 0, genera una clave privada nueva y conserva n claves públicas (solo híbridas).
-r, --runtime Cadena URL base del entorno de ejecución de Apigee (obligatorio para entornos opdk o híbridos)
-s, --secret Cadena Especifica el secreto que muestra el comando apigee-remote-service-cli provision.
--strength int Especifica la intensidad de encriptación para los certificados SSL usados en el aprovisionamiento del adaptador (opcional). Predeterminada 2048
-t, --token Cadena (Solo para Hybrid) Token de OAuth o SAML de Apigee.
-u, --username Cadena (Obligatorio solo para la autenticación básica) Es tu nombre de usuario de Apigee (por lo general, una dirección de correo electrónico). De manera opcional, puedes especificar el nombre de usuario en un archivo .netrc. Consulta también Cómo usar .netrc para credenciales.
-v, --verbose (Opcional) Produce un resultado detallado.
--virtual-hosts Cadena Anula los hosts virtuales predeterminados, que son “default,secure”. Usa esta opción si tienes hosts virtuales especificados para tu entorno de organización de Edge distintos de estos valores predeterminados. Consulta la documentación de Edge para obtener información sobre los hosts virtuales.
--years int La cantidad de años antes de que venza el certificado SSL que se usó en el aprovisionamiento (opcional). Predeterminado: 1

Ejemplo

Asegúrate de capturar el resultado del comando provision en un archivo, que se usa como entrada para otras operaciones del adaptador de Apigee para Envoy.

Ejemplo de nube pública de Edge:

apigee-remote-service-cli provision --legacy --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml

Ejemplo de Apigee híbrido:

apigee-remote-service-cli provision --organization $ORG --environment $ENV --runtime $RUNTIME --namespace $NAMESPACE --token $TOKEN > config.yaml

Comandos de token

Puedes usar un token JWT para realizar llamadas autenticadas al proxy de API, en lugar de usar una clave de API. Los comandos de token te permiten crear, inspeccionar y rotar tokens JWT para este propósito.

Crea un token JWT

Puedes usar un token JWT para realizar llamadas autenticadas del proxy de API a un destino de servicio remoto. Consulta también Usa la autenticación basada en JWT.

Uso

En el caso de la nube pública de Edge:
apigee-remote-service-cli token create -c [config_file] --id [consumer_key] --secret [consumer_secret] -o [org] -e [env]
Para la nube privada de Edge:
apigee-remote-service-cli token create -c [config_file] --id [consumer_key] --secret [consumer_secret] -r [runtime] -o [org] -e [env]
Para Apigee híbrido:
apigee-remote-service-cli token create -c [config_file] --id [consumer_key] --secret [consumer_secret] -r [runtime] -o [org] -e [env]

Parámetros

Parámetros Tipo Descripción
-c, --config Cadena La ruta de acceso al archivo de configuración del servicio remoto de Apigee (obligatorio). Sugerencia: Cuando especificas esta opción, puedes omitir la mayoría de los demás parámetros de comando. Consulta Usa la opción --config.
-e, --env Cadena Un entorno en tu organización (obligatorio).
-h, --help Muestra la ayuda de los parámetros del comando.
--insecure Permitir conexiones de servidor no seguras cuando uses SSL.
-o, --org Cadena Es una organización de Apigee (obligatorio). Debes ser administrador de una organización.
-r, --runtime Cadena URL base del entorno de ejecución de Apigee (obligatorio para entornos opdk o híbridos)
-v, --verbose (Opcional) Produce un resultado detallado.

Ejemplo

apigee-remote-service-cli token create -o myorg -e test -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 -s icTARgaKHqvUH1dq -c config.yaml

Salida

Si se ejecuta de forma correcta, verás un resultado de token JST similar al siguiente:
eyJraWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhY2Nlc3NfdG9rZW4iOiJ0a2tlVzVKQTY2a0pZYTB4bFV1cVBsUW1BMU43IiwiYXVkIjoiaXN0aW8iLCJuYmYiOjE1MzAxMzg1OTEsImFwaV9wcm9kdWN0X2xpc3QiOlsiaXN0aW8tcHJvZHVjdCJdLCJhcHBsaWNhdGlvbl9uYW1lIjoiaXN0aW8tYXBwIiwiZGV2ZWxvcGVyX2VtYWlsIjoicFluZ2Zsb3lkQGdvb2dsZS5jb20iLCJpc3MiOiJodHRwczovL2FwaWdlZXNlYXJjaC10ZXN0LmFwaWdlZS5uZXQvaXN0aW8tYXV0aC90b2tlbiIsImV4cCI6MTUzMDEzOTQ5MSwiaWF0IjoxNTMwMTM4NTkxLCJqdGkiOiIxODgzMzViZi0wMmE4LTRjZGUsOGFkOS0yMWJmNDZjNmRjZDkiLCJjbGllbnRfaWQiOiJZVW1sWkFjQktOc1RBZWxKcVBZRmwzc2g1OE9iQVRYOSJ9.AL7pKSTmond-NSPRNNHVbIzTdAnZjOXcjQ-BbOJ_8lsQvF7PuiOUrGIhY5XTcJusisKgbCdtIxBl8Wq1EiQ_fKnUc3JYYOqzpTB5bGoFy0Yqbfu96dneuWyzgZnoQBkqwZkbQTIg7WNTGx1TJX-UTePvBPxAefiAbaEUcigX9tTsXPoRJZOTrm7IOeKpxpB_gQYkxQtV1_NbERxjTPyMbHdMWal9_xRVzSt7mpTGudMN9OR-VtQ1uXA67GOqhZWcOzq57qImOiCMbaoKnKUADevyWjX_VscN5ZZUtzQUQhTrmv8aR69-uVhMIPKp9juMyYKaYn2IsYZEeCWfhfV45Q

Inspecciona un token JWT

Puedes inspeccionar un token JWT con este comando. Consulta también Inspecciona un token.

Uso

En el caso de la nube pública de Edge:
apigee-remote-service-cli token inspect -o [organization] -e [environment] -f [token_file]
Para la nube privada de Edge:
apigee-remote-service-cli token inspect -o [organization] -e [environment] -f [token_file] --runtime [host_alias]
Para Apigee híbrido:
apigee-remote-service-cli token inspect -o [organization] -e [environment] -f [token_file] --runtime [host_alias]

Parámetros

Parámetros Tipo Descripción
-c, --config Cadena La ruta de acceso al archivo de configuración del servicio remoto de Apigee (obligatorio). Sugerencia: Cuando especificas esta opción, puedes omitir la mayoría de los demás parámetros de comando. Consulta Usa la opción --config.
-e, --env Cadena Un entorno en tu organización (obligatorio).
-h, --help Muestra la ayuda de los parámetros del comando.
--insecure Permitir conexiones de servidor no seguras cuando uses SSL.
-o, --org Cadena Es una organización de Apigee (obligatorio). Debes ser administrador de una organización.
-r, --runtime Cadena URL base del entorno de ejecución de Apigee (obligatorio para entornos opdk o híbridos)
-v, --verbose (Opcional) Produce un resultado detallado.

Ejemplo

apigee-remote-service-cli token inspect -c config.yaml <<< $TOKEN

Salida

Si se ejecuta de forma correcta, verás un resultado similar al siguiente:
{
	"aud": [
		"remote-service-client"
	],
	"exp": 1591741549,
	"iat": 1591740649,
	"iss": "https://apigee-docs-test.apigee.net/remote-service/token",
	"jti": "99325d2e-6440-4278-9f7f-b252a1a79e53",
	"nbf": 1591740649,
	"access_token": "VfzpXzBGAQ07po0bPMKY4JgQjus",
	"api_product_list": [
		"httpbin"
	],
	"application_name": "httpbin",
	"client_id": "GYDGHy5TRpV8AejXCOlreP7dPVepA8H",
	"developer_email": "user@example.com",
	"scope": ""
}
verifying...
token ok.

Rota un token JWT

En algún momento después de generar un JWT inicialmente, es posible que debas cambiar el par de claves pública/privada que almacena Apigee Edge en su mapa clave-valor (KVM) encriptado. Este proceso de generación de un par de claves nuevo se denomina rotación de claves. Cuando rotas las claves, se genera un nuevo par de claves públicas/privadas, que se almacenan en el KVM de “ Istio” en tu organización o entorno de Apigee Edge. Además, la clave pública antigua se conserva junto con su valor de ID de clave original.

Uso

Si estás en la nube pública de Edge:
apigee-remote-service-cli token rotate-cert -c [config_file] -o [organization] -e [environment] -k [provision_key] -s [provision_secret] --kid [new_key_id]
Si estás en la nube privada perimetral, haz lo siguiente:
apigee-remote-service-cli token rotate-cert -o [organization] -e [environment] -u [username] -p [password] -k [provision_key] -s [provision_secret] --kid [new_key_id]

Parámetros

Parámetros Tipo Descripción
-c, --config Cadena La ruta de acceso al archivo de configuración del servicio remoto de Apigee (obligatorio). Sugerencia: Cuando especificas esta opción, puedes omitir la mayoría de los demás parámetros de comando. Consulta Usa la opción --config.
-e, --env Cadena Un entorno en tu organización (obligatorio).
-h, --help Muestra la ayuda de los parámetros del comando.
--insecure Permitir conexiones de servidor no seguras cuando se usa SSL
--truncate int Cantidad de certificaciones que se mantendrán en jwks (el valor predeterminado es 2)
-o, --org Cadena Es una organización de Apigee (obligatorio). Debes ser administrador de una organización.
-r, --runtime Cadena URL base del entorno de ejecución de Apigee (obligatorio para entornos opdk o híbridos).
-v, --verbose (Opcional) Produce un resultado detallado.

Ejemplo

apigee-remote-service-cli token rotate-cert -c config.yaml -o myorg -e test -k 2e238ffa15dc5ab6a1e97868e7581f6c60ddb8575478582c256d8b7e5b2677a8 -s 51058077223fa7b683c3bea845c5cca138340d1d5583922b6d465f9f918a4b08

Resultado

certificate successfully rotated

Usa .netrc para credenciales

apigee-remote-service-cli recoge automáticamente username y password (para la autenticación básica, en donde sea necesario) desde un archivo .netrc en tu directorio principal si estás en la nube pública de Edge y tienes una entrada para la máquina api.enterprise.apigee.com. Si estás en Apigee Private Cloud, el valor de la máquina es el mismo que la URL de management (por ejemplo: http://192.162.55.100). Por ejemplo en Edge Public Cloud:
machine api.enterprise.apigee.com
login jdoe@google.com
password abc123
Por ejemplo en Edge Private Cloud:
machine http://192.162.55.100
login jdoe@google.com
password abc123

Comando de la versión

Imprime la versión de la CLI

apigee-remote-service-cli version

Usa la opción del comando --config

La opción --config especifica la ubicación del archivo de configuración que generó el comando provision. Un beneficio útil de esta opción es que te permite omitir la mayoría de los demás parámetros de comando, que la CLI extrae del archivo de configuración. Estas son algunas opciones:
  • organización
  • entorno
  • runtime
  • management
  • Inseguro
  • namespace
  • heredada
  • opdk

Por ejemplo, puedes ejecutar el comando provision de la siguiente manera:

apigee-remote-service-cli provision --config='old-config.yaml' > new-config.yaml

Archivo de configuración

En esta sección, se muestra un archivo de configuración de ejemplo con todas las opciones disponibles.

global:
  temp_dir: /tmp/apigee-istio
  keep_alive_max_connection_age: 10m
  api_address: :5000
  metrics_address: :5001
  tls:
    cert_file: tls.crt
    key_file: tls.key
tenant:
  internal_api: https://istioservices.apigee.net/edgemicro
  remote_service_api: https://org-test.apigee.net/remote-service
  org_name: org
  env_name: env
  key: mykey
  secret: mysecret
  client_timeout: 30s
  allow_unverified_ssl_cert: false
products:
  refresh_rate: 2m
analytics:
  legacy_endpoint: false
  file_limit: 1024
  send_channel_size: 10
  collection_interval: 10s
  fluentd_endpoint: apigee-udca-myorg-test.apigee.svc.cluster.local:20001
  tls:
    ca_file: /opt/apigee/tls/ca.crt
    cert_file: /opt/apigee/tls/tls.crt
    key_file: /opt/apigee/tls/tls.key
    allow_unverified_ssl_cert: false
auth:
  api_key_claim: claim
  api_key_cache_duration: 30m
  api_key_header: x-api-key
  api_target_header: :authority
  reject_unauthorized: true
  jwks_poll_interval: 0s