Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
La apigee-remote-service-cli
interfaz de línea de comandos (CLI) te ayuda a aprovisionar y gestionar Apigee Adapter for Envoy.
Comandos de enlace
Una vinculación asocia un servicio implementado en la malla de Istio con un producto de API de Apigee. La CLI te permite crear, quitar, mostrar y verificar vinculaciones.
Mostrar vínculos
Muestra todos los productos de API vinculados al servicio remoto.
Uso
En Apigee Hybrid:
apigee-remote-service-cli bindings list -o [organization] -e [environment] -t [token] -r [runtime]
Parámetros
Parámetros | Tipo | Descripción |
---|---|---|
-c, --config
|
Cadena | Obligatorio. Ruta al archivo de configuración de Apigee Remote Service. Nota: Esta marca te permite omitir la mayoría de los demás parámetros de comando, ya que la CLI puede extraerlos directamente del archivo de configuración. Consulta la sección Usar la opción --config .
|
-e, --env
|
Cadena | Obligatorio: un entorno de tu organización. |
-h, --help
|
Muestra la ayuda de los parámetros del comando. | |
--insecure
|
Permitir conexiones de servidor no seguras al usar SSL | |
--legacy
|
Define esta marca si usas Apigee Cloud. Define las URLs de gestión y de tiempo de ejecución de Edge Cloud. | |
--opdk
|
Define esta marca si usas Apigee para nubes privadas. | |
-o, --org
|
Cadena | Obligatorio. Una organización de Apigee. Debes ser administrador de la organización. |
-p, --password
|
Cadena | (Obligatorio solo para la autenticación básica; no disponible para la autenticación híbrida) Tu contraseña de Apigee. También puedes especificar la contraseña en un archivo .netrc . Si lo haces, no tendrás que
proporcionar tu contraseña en la línea de comandos. Consulta también Usar .netrc para las credenciales.
|
-r, --runtime
|
Cadena | Una URL que incluya el hostAlias de un host virtual definido en tu configuración híbrida. La URL debe empezar por https:// .
Por ejemplo: https://apitest.apigee-hybrid-docs.net
|
-t, --token
|
Cadena | Obligatorio: un token de acceso. |
-u, --username
|
Cadena | (Obligatorio solo para la autenticación básica; no disponible para la autenticación híbrida) Tu nombre de usuario de Apigee (normalmente, una dirección de correo electrónico).
También puedes especificar el nombre de usuario en un archivo .netrc . Si lo haces, no tendrás que proporcionar tu nombre de usuario en la línea de comandos. Consulta también Usar .netrc para las credenciales.
|
-v, --verbose
|
(Opcional) Genera una salida detallada. |
Ejemplo
apigee-remote-service-cli bindings list -o myorg -e test -c config.yaml \ -r $RUNTIME -t $TOKEN 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:
Verificar una vinculación
Verifica que el producto de API enlazado especificado y sus aplicaciones de desarrollador asociadas también tengan un producto de servicio remoto asociado. Si no especifica ningún nombre de producto de la API, el comando comprobará todos los productos vinculados.
Uso
En Apigee Hybrid:
apigee-remote-service-cli bindings verify [product_name] -o [organization] -e [environment] -r [runtime] -t [token]
product_name
es opcional. Si no especifica un nombre de producto, se comprobarán todos los productos vinculados.
Parámetros
Parámetros | Tipo | Descripción |
---|---|---|
-c, --config
|
Cadena | Obligatorio. Ruta al archivo de configuración de Apigee Remote Service. Nota: Esta marca te permite omitir la mayoría de los demás parámetros de comando, ya que la CLI puede extraerlos directamente del archivo de configuración. Consulta la sección Usar la opción --config .
|
-e, --env
|
Cadena | Obligatorio: un entorno de tu organización. |
-h, --help
|
Muestra la ayuda de los parámetros del comando. | |
--insecure
|
Permitir conexiones de servidor no seguras al usar SSL | |
--legacy
|
Define esta marca si usas Apigee Cloud. Define las URLs de gestión y de tiempo de ejecución de Edge Cloud. | |
--opdk
|
Define esta marca si usas Apigee para nubes privadas. | |
-o, --org
|
Cadena | Obligatorio. Una organización de Apigee. Debes ser administrador de la organización. |
-r, --runtime
|
Cadena | Una URL que incluya el hostAlias de un host virtual definido en tu configuración híbrida. La URL debe empezar por https:// .
Por ejemplo: https://apitest.apigee-hybrid-docs.net
|
-t, --token
|
Cadena | Obligatorio: un token de acceso. |
-v, --verbose
|
(Opcional) Genera una salida detallada. |
Ejemplo
/apigee-remote-service-cli bindings verify my_product -o $ORG -e $ENV \ -c config.yaml -r $RUNTIME -t $TOKEN Verifying apps associated with product my-product: app my-app associated with product my-product is verified
Comando de ayuda
Se ofrece ayuda online para todos los comandos de apigee-remote-service-cli
. Solo tienes que escribir:
apigee-remote-service-cli help
Para obtener ayuda sobre 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, configura un certificado y genera las credenciales que necesitarás para configurar el adaptador de Apigee para Envoy.
Uso
En Apigee Hybrid:
apigee-remote-service-cli provision -o $ORG -e $ENV -r $RUNTIME -t $TOKEN
Parámetros
Parámetros | Tipo | Descripción |
---|---|---|
--analytics-sa
|
Cadena | Usa esta marca para especificar la ruta a un archivo de clave de cuenta de servicio de Google Cloud, donde la cuenta de servicio tenga el rol Apigee Analytics Agent . El SA lo usa el adaptador para subir directamente datos analíticos a Apigee. Si usas Apigee Hybrid, esta opción te permite instalar el entorno de ejecución híbrido en un clúster y el adaptador en otro. Esta marca solo está disponible para las instalaciones híbridas de Apigee y Apigee en Google Cloud.
|
-c, --config
|
Cadena | Ruta al archivo de configuración del servicio remoto de Apigee. Consulta también
Usar la opción --config .
|
-e, --environment
|
Cadena | Obligatorio: un entorno de tu organización. |
-f, --force-proxy-install
|
(Opcional) Fuerza la reinstalación del proxy remote-service 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 devuelta por el comando apigee-remote-service-cli provision .
|
--legacy
|
Apigee Edge (define la URL de gestión y de tiempo de ejecución) | |
-m, --management
|
Cadena | Obligatorio si usas Apigee Private Cloud. Es la URL base de gestión de Apigee.
Predeterminado: https://api.enterprise.apigee.com
|
-n, --namespace
|
Cadena | Emite la configuración como un ConfigMap de Envoy en el espacio de nombres especificado. Valor predeterminado: apigee |
--opdk
|
Cadena | Define esta marca si usas Apigee para nubes privadas. |
-o, --organization
|
Cadena | Obligatorio: tu organización de Apigee. Debes ser administrador de la organización. |
-p, --password
|
Cadena | (Obligatorio solo para la autenticación básica; no disponible para la autenticación híbrida) Tu contraseña de Apigee. También puedes especificar la contraseña en un archivo .netrc . Si lo haces, no tendrás que
proporcionar tu contraseña en la línea de comandos. Consulta también Usar .netrc para las credenciales.
|
--rotate-int
|
int | Si n > 0, genera una clave privada y conserva n claves públicas (solo híbrido) |
-r, --runtime
|
Cadena | Una URL que incluya el hostAlias de un host virtual definido en tu configuración híbrida. La URL debe empezar por https:// .
Por ejemplo: https://apitest.apigee-hybrid-docs.net
|
-s, --secret
|
Cadena | Especifica el secreto devuelto por el comando apigee-remote-service-cli provision .
|
--strength
|
int | (Opcional) Especifica la seguridad del cifrado de los certificados SSL que se utilizan para aprovisionar el adaptador. Predeterminado 2048 |
-t, --token
|
Cadena | Token de OAuth o SAML de Apigee. |
-u, --username
|
Cadena | (Obligatorio solo para la autenticación básica; no disponible para la autenticación híbrida) Tu nombre de usuario de Apigee (normalmente, una dirección de correo electrónico).
También puedes especificar el nombre de usuario en un archivo .netrc .
Consulta también Usar .netrc para las credenciales.
|
-v, --verbose
|
(Opcional) Genera una salida detallada. | |
--virtual-hosts
|
Cadena | Anula los hosts virtuales predeterminados. |
--years
|
int | (Opcional) Número de años que faltan para que caduque el certificado SSL usado en el aprovisionamiento. Valor predeterminado: 1 |
Ejemplo
Asegúrate de capturar la salida del comando provision
en un archivo, que se usa como entrada para otras operaciones de Apigee Adapter for Envoy.
Ejemplo de Apigee Hybrid:
apigee-remote-service-cli provision --organization $ORG --environment $ENV --runtime $RUNTIME \ --namespace $NAMESPACE --token $TOKEN > config.yaml
Comando Samples
Crear un archivo de configuración de ejemplo
Crea archivos de configuración de ejemplo para implementaciones nativas de Envoy o Istio.
Uso
apigee-remote-service-cli samples create [flags]
Descripción
El comando requiere un archivo config.yaml
válido generado mediante el aprovisionamiento.
De forma predeterminada, los archivos de ejemplo se generan en un directorio llamado ./samples
. El comando
crea este directorio.
Si usas Envoy nativo, el comando toma el host del servicio de destino y el nombre que quieras para su clúster. También establece una conexión SSL personalizada desde el proxy de Envoy al clúster de servicios remotos si se proporciona una carpeta que contenga tls.key
y tls.crt
a través de --tls
.
Si utilizas Istio, donde el proxy de Envoy actúa como un sidecar, si no se especifica el destino, se generará el ejemplo httpbin
. De lo contrario, serás responsable de preparar los archivos de configuración relacionados con el despliegue de los servicios de destino.
Parámetros
Parámetros | Tipo | Descripción |
---|---|---|
-c, --config
|
Cadena | Obligatorio. Ruta al archivo de configuración del servicio remoto de Apigee. Nota: Esta marca te permite omitir la mayoría de los demás parámetros de comando, ya que la CLI puede extraerlos directamente del archivo de configuración. Consulta la sección Usar la opción --config .
|
-f, --force
|
Fuerza la sobrescritura del directorio. | |
-h, --help
|
Muestra la ayuda de los parámetros del comando. | |
--host
|
El host del servicio de destino (el valor predeterminado es "httpbin.org"). | |
-n, --name
|
Nombre del servicio de destino (el valor predeterminado es "httpbin"). | |
--out
|
Directorio en el que se crearán los archivos de configuración de ejemplo. Predeterminado: ./samples
|
|
-t, --template
|
El nombre de la plantilla. Si vas a hacer una implementación de Istio (solo híbrida), selecciona una de las opciones de Istio disponibles. Usa la opción nativa para las implementaciones nativas de Envoy. Las opciones disponibles son:
|
|
--tls
|
El directorio en el que se almacenarán los archivos de clave y crt de TLS. |
Ejemplo
apigee-remote-service-cli samples create -c ./config.yaml
Lista de opciones de plantilla disponibles
Lista las opciones disponibles para usar con el parámetro --templates
.
Uso
apigee-remote-service-cli samples templates
Parámetros
Ninguno
Ejemplo
apigee-remote-service-cli samples templates
Supported templates (native is deprecated): envoy-1.14 envoy-1.15 envoy-1.16 istio-1.5 istio-1.6 istio-1.7 istio-1.8 native
Comandos de token
Puedes usar un token JWT para hacer llamadas autenticadas a proxies de API en lugar de usar una clave de API. Los comandos de token te permiten crear, inspeccionar y rotar tokens JWT con este fin.
Crear un token JWT
Puedes usar un token JWT para hacer llamadas de proxy de API autenticadas a un servicio remoto de destino. Consulta también Usar la autenticación basada en JWT.Uso
En Apigee Hybrid: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 | Obligatorio. Ruta al archivo de configuración de Apigee Remote Service. Nota: Esta marca te permite omitir la mayoría de los demás parámetros de comando, ya que la CLI puede extraerlos directamente del archivo de configuración. Consulta la sección Usar la opción --config .
|
-e, --env
|
Cadena | Obligatorio: un entorno de tu organización. |
-h, --help
|
Muestra la ayuda de los parámetros del comando. | |
--insecure
|
Permite conexiones de servidor no seguras al usar SSL. | |
-o, --org
|
Cadena | Obligatorio. Una organización de Apigee. Debes ser administrador de la organización. |
-r, --runtime
|
Cadena | Una URL que incluya el hostAlias de un host virtual definido en tu configuración híbrida. La URL debe empezar por https:// .
Por ejemplo: https://apitest.apigee-hybrid-docs.net
|
-v, --verbose
|
(Opcional) Genera una salida detallada. |
Ejemplo
./apigee-remote-service-cli token create -o $ORG -e $ENV -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 \ -s icTARgaKHqvUH1dq -c config.yaml -r $RUNTIME -t $TOKEN
Salida
Si la operación se realiza correctamente, verá un token JST similar al siguiente:eyJraWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhY2Nlc3NfdG9rZW4iOiJ0a2tlVzVKQTY2a0pZYTB4bFV1cVBsUW1BMU43IiwiYXVkIjoiaXN0aW8iLCJuYmYiOjE1MzAxMzg1OTEsImFwaV9wcm9kdWN0X2xpc3QiOlsiaXN0aW8tcHJvZHVjdCJdLCJhcHBsaWNhdGlvbl9uYW1lIjoiaXN0aW8tYXBwIiwiZGV2ZWxvcGVyX2VtYWlsIjoicFluZ2Zsb3lkQGdvb2dsZS5jb20iLCJpc3MiOiJodHRwczovL2FwaWdlZXNlYXJjaC10ZXN0LmFwaWdlZS5uZXQvaXN0aW8tYXV0aC90b2tlbiIsImV4cCI6MTUzMDEzOTQ5MSwiaWF0IjoxNTMwMTM4NTkxLCJqdGkiOiIxODgzMzViZi0wMmE4LTRjZGUsOGFkOS0yMWJmNDZjNmRjZDkiLCJjbGllbnRfaWQiOiJZVW1sWkFjQktOc1RBZWxKcVBZRmwzc2g1OE9iQVRYOSJ9.AL7pKSTmond-NSPRNNHVbIzTdAnZjOXcjQ-BbOJ_8lsQvF7PuiOUrGIhY5XTcJusisKgbCdtIxBl8Wq1EiQ_fKnUc3JYYOqzpTB5bGoFy0Yqbfu96dneuWyzgZnoQBkqwZkbQTIg7WNTGx1TJX-UTePvBPxAefiAbaEUcigX9tTsXPoRJZOTrm7IOeKpxpB_gQYkxQtV1_NbERxjTPyMbHdMWal9_xRVzSt7mpTGudMN9OR-VtQ1uXA67GOqhZWcOzq57qImOiCMbaoKnKUADevyWjX_VscN5ZZUtzQUQhTrmv8aR69-uVhMIPKp9juMyYKaYn2IsYZEeCWfhfV45Q
Inspeccionar un token JWT
Puedes inspeccionar un token JWT con este comando. Consulta también Inspeccionar un token.Uso
En Apigee Hybrid: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 | Obligatorio. Ruta al archivo de configuración de Apigee Remote Service. Nota: Esta marca te permite omitir la mayoría de los demás parámetros de comando, ya que la CLI puede extraerlos directamente del archivo de configuración. Consulta la sección Usar la opción --config .
|
-e, --env
|
Cadena | Obligatorio: un entorno de tu organización. |
-h, --help
|
Muestra la ayuda de los parámetros del comando. | |
--insecure
|
Permite conexiones de servidor no seguras al usar SSL. | |
-o, --org
|
Cadena | Obligatorio. Una organización de Apigee. Debes ser administrador de la organización. |
-r, --runtime
|
Cadena | Una URL que incluya el hostAlias de un host virtual definido en tu configuración híbrida. La URL debe empezar por https:// .
Por ejemplo: https://apitest.apigee-hybrid-docs.net
|
-v, --verbose
|
(Opcional) Genera una salida detallada. |
Ejemplo
apigee-remote-service-cli token inspect -c config.yaml <<< $TOKEN
Salida
Si la operación se realiza correctamente, 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.
Rotar un token JWT
En algún momento después de generar un JWT por primera vez, es posible que tengas que cambiar el par de claves pública y privada que Apigee almacena en su mapa de valores clave (KVM) cifrado. Este proceso de generación de un nuevo par de claves se denomina "rotación de claves". Cuando rotas las claves, se genera un nuevo par de claves privada/pública y se almacena en el KVM "istio" de tu organización o entorno de Apigee. Además, la clave pública antigua se conserva junto con su valor de ID de clave original.Uso
En Apigee Hybrid
apigee-remote-service-cli token rotate-cert -o [organization] -e [environment] -t [token] -r [runtime] -k [provision_key] -s [provision_secret] --kid [new_key_id]
Parámetros
Parámetros | Tipo | Descripción |
---|---|---|
-c, --config
|
Cadena | Obligatorio. Ruta al archivo de configuración de Apigee Remote Service. Nota: Esta marca te permite omitir la mayoría de los demás parámetros de comando, ya que la CLI puede extraerlos directamente del archivo de configuración. Consulta la sección Usar la opción --config .
|
-e, --env
|
Cadena | Obligatorio: un entorno de tu organización. |
-h, --help
|
Muestra la ayuda de los parámetros del comando. | |
--insecure
|
Permitir conexiones de servidor no seguras al usar SSL | |
--truncate
|
int | Número de certificados que se conservarán en jwks (el valor predeterminado es 2). |
-o, --org
|
Cadena | Obligatorio. Una organización de Apigee. Debes ser administrador de la organización. |
-r, --runtime
|
Cadena | Una URL que incluya el hostAlias de un host virtual definido en tu configuración híbrida. La URL debe empezar por https:// .
Por ejemplo: https://apitest.apigee-hybrid-docs.net
|
-v, --verbose
|
(Opcional) Genera una salida detallada. |
Ejemplo
./apigee-remote-service-cli token create -o $ORG -e $ENV -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 \ -s icTARgaKHqvUH1dq -c config.yaml -r $RUNTIME -t $TOKEN
Salida
certificate successfully rotated
Usar .netrc para las credenciales
apigee-remote-service-cli
recoge automáticamente el username
y el
password
(para la autenticación básica cuando sea necesario) de un archivo .netrc
de tu directorio principal si usas Edge Public Cloud y tienes una entrada para la máquina api.enterprise.apigee.com
. Si usas Apigee Private Cloud, el valor de la máquina es el mismo que el de tu URL 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
machine http://192.162.55.100 login jdoe@google.com password abc123
Comando de versión
Imprime la versión de la CLI.
apigee-remote-service-cli version
Usar la opción de comando --config
La opción --config
especifica la ubicación del archivo de configuración generado por el comando provision
. Una de las ventajas de esta opción es que te permite omitir la mayoría de los demás parámetros de comandos, que la CLI extrae del archivo de configuración.
Entre estas opciones, se incluyen las siguientes:
- organización
- entorno
- runtime
- management
- inseguro
- espacio de nombres
- antiguo
- opdk
Por ejemplo, puedes ejecutar el comando provision
de esta forma:
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: 1m 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 jwt_provider_key: https://org-test.apigee.net/remote-service/token