Référence

Cette page s'applique à Apigee et à Apigee hybrid.

Consultez la documentation d'Apigee Edge.

L'interface de ligne de commande (CLI) apigee-remote-service-cli vous aide à provisionner et à gérer Apigee Adapter for Envoy.

Commandes de liaison

La liaison associe un service déployé sur le maillage Istio avec un produit d'API Apigee. La CLI vous permet de créer, supprimer, répertorier et vérifier les liaisons.

Répertorier les liaisons

Répertoriez tous les produits d'API liés au service distant.

Utilisation

Apigee hybrid :

apigee-remote-service-cli bindings list -o [organization] -e [environment] -t [token] -r [runtime]

Paramètres

Paramètres Type Description
-c, --config Chaîne (Obligatoire) Chemin d'accès au fichier de configuration du service distant Apigee.
Conseil : Cette option vous permet d'omettre la plupart des autres paramètres de commande, car la CLI peut les extraire directement du fichier de configuration. Consultez la section Utiliser l'option --config.
-e, --env Chaîne (Obligatoire) Environnement dans votre organisation.
-h, --help Affiche l'aide associée aux paramètres de la commande.
--insecure Autoriser les connexions de serveur non sécurisées lorsque SSL est utilisé
--legacy Définissez cette option si vous utilisez Apigee Cloud. Il définit les URL de gestion et d'exécution pour Edge Cloud.
--opdk Définissez cette option si vous utilisez Apigee for Private Cloud.
-o, --org Chaîne (Obligatoire) Organisation d'Apigee. Vous devez être un administrateur de l'entreprise.
-p, --password Chaîne (Obligatoire pour l'authentification de base uniquement – non disponible pour Apigee hybrid) Votre mot de passe Apigee. Vous pouvez éventuellement spécifier le mot de passe dans un fichier .netrc. Dans ce cas, vous n'êtes pas obligé de fournir votre mot de passe sur la ligne de commande. Voir également Utiliser .netrc pour les identifiants.
-r, --runtime Chaîne URL incluant la valeur hostAlias pour un hôte virtuel défini dans votre configuration hybride. L'URL doit commencer par https://. Par exemple : https://apitest.apigee-hybrid-docs.net.
-t, --token Chaîne (Obligatoire) Jeton d'accès.
-u, --username Chaîne (Obligatoire pour l'authentification de base uniquement – non disponible pour Apigee hybrid) Votre nom d'utilisateur Apigee (il s'agit généralement d'une adresse e-mail). Vous pouvez éventuellement spécifier le nom d'utilisateur dans un fichier .netrc. Dans ce cas, vous n'êtes pas obligé de fournir votre nom d'utilisateur sur la ligne de commande. Voir également Utiliser .netrc pour les identifiants.
-v, --verbose (Facultatif) Génère un résultat détaillé.

Exemple

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:

Valider une liaison

Cette commande est obsolète. Dans la version 1.4, les applications de développement ne nécessitent plus d'association avec les produits d'API utilisés avec des cibles de service à distance.

Commande d'aide

L'aide en ligne est fournie pour toutes les commandes apigee-remote-service-cli. Il vous suffit de saisir :

apigee-remote-service-cli help

Pour obtenir de l'aide sur n'importe quelle commande, saisissez :

apigee-remote-service-cli [command] help

Exemple :

apigee-remote-service-cli provision help

Commande de provisionnement

La commande apigee-remote-service-cli provision installe un proxy dans votre organisation Apigee, configure un certificat et génère des identifiants dont vous aurez besoin pour configurer Apigee Adapter for Envoy.

Utilisation

Apigee hybrid :

apigee-remote-service-cli provision  -o $ORG -e $ENV -r $RUNTIME -t $TOKEN

Paramètres

Paramètres Type Description
--analytics-sa Chaîne Utilisez cette option pour spécifier le chemin d'accès à un fichier de clé de compte de service Google Cloud, où le compte de service possède le rôle Apigee Analytics Agent. Le compte de service utilise l'adaptateur pour importer directement les données d'analyse dans Apigee. Si vous utilisez Apigee hybrid, cette option vous permet d'installer l'environnement d'exécution hybride dans un cluster et l'adaptateur dans un autre. Cette option n'est disponible que pour les installations Apigee hybrid et Apigee sur Google Cloud.
-c, --config Chaîne Chemin d'accès au fichier de configuration du service de service distant Apigee. Consultez également la section Utiliser l'option --config.
-e, --environment Chaîne (Obligatoire) Environnement dans votre organisation.
-f, --force-proxy-install (Facultatif) Impose la réinstallation du proxy remote-service s'il est déjà installé dans votre organisation.
-h, --help Affiche l'aide associée aux paramètres de la commande.
-k, --key Chaîne Spécifie la clé renvoyée par la commande apigee-remote-service-cli provision.
--legacy Apigee Edge (définit l'URL de gestion et d'exécution)
-m, --management Chaîne (Obligatoire si vous utilisez le cloud privé Apigee) Votre URL de base de gestion Apigee. Valeur par défaut : https://api.enterprise.apigee.com
-n, --namespace Chaîne Exécute la configuration en tant que ConfigMap Envoy dans l'espace de noms spécifié. Valeur par défaut : Apigee
--opdk Chaîne Définissez cette option si vous utilisez Apigee for Private Cloud.
-o, --organization Chaîne

(Obligatoire) Votre organisation Apigee.

-p, --password Chaîne (Obligatoire pour l'authentification de base uniquement – non disponible pour Apigee hybrid) Votre mot de passe Apigee. Vous pouvez éventuellement spécifier le mot de passe dans un fichier .netrc. Dans ce cas, vous n'êtes pas obligé de fournir votre mot de passe sur la ligne de commande. Voir également Utiliser .netrc pour les identifiants.
--rotate-int int Si n > 0, générez une nouvelle clé privée et conservez n clés publiques (hybride uniquement).
-r, --runtime Chaîne URL incluant la valeur hostAlias pour un hôte virtuel défini dans votre configuration hybride. L'URL doit commencer par https://. Par exemple : https://apitest.apigee-hybrid-docs.net.
-s, --secret Chaîne Spécifie le code secret renvoyé par la commande apigee-remote-service-cli provision.
--strength int (Facultatif) Spécifie le niveau de chiffrement des certificats SSL utilisés lors du provisionnement de l'adaptateur. Valeur par défaut : 2048
-t, --token Chaîne Jeton SAML ou OAuth Apigee.
-u, --username Chaîne (Obligatoire pour l'authentification de base uniquement – non disponible pour Apigee hybrid) Votre nom d'utilisateur Apigee (il s'agit généralement d'une adresse e-mail). Vous pouvez éventuellement spécifier le nom d'utilisateur dans un fichier .netrc. Consultez également la section Utiliser .netrc pour les identifiants.
-v, --verbose (Facultatif) Génère un résultat détaillé.
--virtual-hosts Chaîne Remplace les hôtes virtuels par défaut.
--years int (Facultatif) Nombre d'années avant l'expiration du certificat SSL utilisé dans la gestion des comptes. Valeur par défaut : 1

Exemple

Veillez à capturer le résultat de la commande provision dans un fichier qui sera utilisé comme entrée pour d'autres opérations Apigee Adapter for Envoy.

Exemple Apigee hybrid :

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

Commande d'exemples

Créer un exemple de fichier de configuration

Crée des exemples de fichiers de configuration pour les déploiements Envoy ou Istio natifs.

Utilisation

apigee-remote-service-cli samples create [flags]

Description

La commande nécessite un fichier config.yaml valide généré via le provisionnement. Par défaut, les exemples de fichiers sont générés dans un répertoire nommé ./samples. La commande crée ce répertoire pour vous.

Si vous utilisez le déploiement Envoy natif, la commande utilise l'hôte de service cible et le nom souhaité pour son cluster. Elle définit également une connexion SSL personnalisée entre le proxy Envoy et le cluster de services distants si un dossier contenant tls.key et tls.crt est fourni via --tls.

Si vous utilisez Istio, où le proxy Envoy sert de side-car, si la cible n'est pas spécifiée, l'exemple de httpbin est généré. Sinon, vous êtes responsable de la préparation des fichiers de configuration liés au déploiement de vos services cibles.

Paramètres

Paramètres Type Description
-c, --config Chaîne (Obligatoire) Chemin d'accès au fichier de configuration du service distant Apigee.
Conseil : Cette option vous permet d'omettre la plupart des autres paramètres de commande, car la CLI peut les extraire directement du fichier de configuration. Consultez la section Utiliser l'option --config.
-f, --force Force le remplacement du répertoire existant.
-h, --help Affiche l'aide associée aux paramètres de la commande.
--host Hôte du service cible (par défaut, "httpbin.org")
-n, --name Nom du service cible (par défaut, "httpbin")
--out Répertoire dans lequel créer les exemples de fichiers de configuration. Valeur par défaut : ./samples
-t, --template

Nom du modèle. Si vous effectuez un déploiement Istio (Apigee hybrid uniquement), sélectionnez l'une des options Istio disponibles. Utilisez l'option native pour les déploiements Envoy natifs. Les options disponibles sont les suivantes :

  • istio-1.6 (par défaut)
  • istio-1.7
  • native
--tls Répertoire dans lequel stocker les fichiers .crt et .key TLS.

Exemple

apigee-remote-service-cli samples create -c ./config.yaml

Répertorier les options de modèle disponibles

Répertorie les options disponibles à utiliser avec le paramètre --templates.

Utilisation

apigee-remote-service-cli samples templates

Paramètres

Aucune.

Exemple

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

Commandes de jetons

Vous pouvez utiliser un jeton JWT pour effectuer des appels de proxy d'API authentifiés au lieu d'utiliser une clé API. Les commandes de jeton vous permettent de créer, d'inspecter et d'alterner des jetons JWT à cette fin.

Créer un jeton JWT

Vous pouvez utiliser un jeton JWT pour effectuer des appels de proxy d'API authentifiés à une cible de service distant. Voir également Utiliser l'authentification basée sur JWT.

Utilisation

Apigee hybrid :
apigee-remote-service-cli token create -c [config_file] --id [consumer_key] --secret [consumer_secret] -r [runtime] -o [org] -e [env]

Paramètres

Paramètres Type Description
-c, --config Chaîne (Obligatoire) Chemin d'accès au fichier de configuration du service distant Apigee.
Conseil : Cette option vous permet d'omettre la plupart des autres paramètres de commande, car la CLI peut les extraire directement du fichier de configuration. Consultez la section Utiliser l'option --config.
-e, --env Chaîne (Obligatoire) Environnement dans votre organisation.
-h, --help Affiche l'aide associée aux paramètres de la commande.
--insecure Autoriser les connexions de serveur non sécurisées lorsque SSL est utilisé
-o, --org Chaîne (Obligatoire) Organisation d'Apigee. Vous devez être un administrateur de l'entreprise.
-r, --runtime Chaîne URL incluant la valeur hostAlias pour un hôte virtuel défini dans votre configuration hybride. L'URL doit commencer par https://. Par exemple : https://apitest.apigee-hybrid-docs.net.
-v, --verbose (Facultatif) Génère un résultat détaillé.

Exemple

./apigee-remote-service-cli token create -o $ORG -e $ENV -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 \
-s icTARgaKHqvUH1dq -c config.yaml -r $RUNTIME -t $TOKEN

Sortie

Si l'opération réussit, vous obtenez un résultat de jeton JST semblable à celui-ci :
eyJraWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhY2Nlc3NfdG9rZW4iOiJ0a2tlVzVKQTY2a0pZYTB4bFV1cVBsUW1BMU43IiwiYXVkIjoiaXN0aW8iLCJuYmYiOjE1MzAxMzg1OTEsImFwaV9wcm9kdWN0X2xpc3QiOlsiaXN0aW8tcHJvZHVjdCJdLCJhcHBsaWNhdGlvbl9uYW1lIjoiaXN0aW8tYXBwIiwiZGV2ZWxvcGVyX2VtYWlsIjoicFluZ2Zsb3lkQGdvb2dsZS5jb20iLCJpc3MiOiJodHRwczovL2FwaWdlZXNlYXJjaC10ZXN0LmFwaWdlZS5uZXQvaXN0aW8tYXV0aC90b2tlbiIsImV4cCI6MTUzMDEzOTQ5MSwiaWF0IjoxNTMwMTM4NTkxLCJqdGkiOiIxODgzMzViZi0wMmE4LTRjZGUsOGFkOS0yMWJmNDZjNmRjZDkiLCJjbGllbnRfaWQiOiJZVW1sWkFjQktOc1RBZWxKcVBZRmwzc2g1OE9iQVRYOSJ9.AL7pKSTmond-NSPRNNHVbIzTdAnZjOXcjQ-BbOJ_8lsQvF7PuiOUrGIhY5XTcJusisKgbCdtIxBl8Wq1EiQ_fKnUc3JYYOqzpTB5bGoFy0Yqbfu96dneuWyzgZnoQBkqwZkbQTIg7WNTGx1TJX-UTePvBPxAefiAbaEUcigX9tTsXPoRJZOTrm7IOeKpxpB_gQYkxQtV1_NbERxjTPyMbHdMWal9_xRVzSt7mpTGudMN9OR-VtQ1uXA67GOqhZWcOzq57qImOiCMbaoKnKUADevyWjX_VscN5ZZUtzQUQhTrmv8aR69-uVhMIPKp9juMyYKaYn2IsYZEeCWfhfV45Q

Inspecter un jeton JWT

Cette commande vous permet d'inspecter un jeton JWT. Voir également Inspecter un jeton.

Utilisation

Apigee hybrid :
apigee-remote-service-cli token inspect -o [organization] -e [environment] -f [token_file] --runtime [host_alias]

Paramètres

Paramètres Type Description
-c, --config Chaîne (Obligatoire) Chemin d'accès au fichier de configuration du service distant Apigee.
Conseil : Cette option vous permet d'omettre la plupart des autres paramètres de commande, car la CLI peut les extraire directement du fichier de configuration. Consultez la section Utiliser l'option --config.
-e, --env Chaîne (Obligatoire) Environnement dans votre organisation.
-h, --help Affiche l'aide associée aux paramètres de la commande.
--insecure Autoriser les connexions de serveur non sécurisées lorsque SSL est utilisé
-o, --org Chaîne (Obligatoire) Organisation d'Apigee. Vous devez être un administrateur de l'entreprise.
-r, --runtime Chaîne URL incluant la valeur hostAlias pour un hôte virtuel défini dans votre configuration hybride. L'URL doit commencer par https://. Par exemple : https://apitest.apigee-hybrid-docs.net.
-v, --verbose (Facultatif) Génère un résultat détaillé.

Exemple

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

Sortie

Si l'opération réussit, vous obtenez un résultat semblable à celui-ci :
{
	"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.

Effectuer une rotation de jeton JWT

Après la génération initiale d'un jeton JWT, vous pouvez être amené à modifier la paire de clés publique/privée stockée par Apigee dans son mappage clés-valeurs chiffrées (KVM). Ce processus de génération d'une nouvelle paire de clés est appelé rotation des clés. Lorsque vous effectuez une rotation des clés, une nouvelle paire de clés privée/publique est générée et stockée dans la KVM "Istio" de votre organisation/environnement Apigee. De plus, l'ancienne clé publique est conservée avec son ID de clé d'origine.

Utilisation

Pour 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]

Paramètres

Paramètres Type Description
-c, --config Chaîne (Obligatoire) Chemin d'accès au fichier de configuration du service distant Apigee.
Conseil : Cette option vous permet d'omettre la plupart des autres paramètres de commande, car la CLI peut les extraire directement du fichier de configuration. Consultez la section Utiliser l'option --config.
-e, --env Chaîne (Obligatoire) Environnement dans votre organisation.
-h, --help Affiche l'aide associée aux paramètres de la commande.
--insecure Autoriser les connexions de serveur non sécurisées lorsque SSL est utilisé
--truncate int Nombre de certificats à conserver dans un ensemble de clés JWKS (2 par défaut)
-o, --org Chaîne (Obligatoire) Organisation d'Apigee. Vous devez être un administrateur de l'entreprise.
-r, --runtime Chaîne URL incluant la valeur hostAlias pour un hôte virtuel défini dans votre configuration hybride. L'URL doit commencer par https://. Par exemple : https://apitest.apigee-hybrid-docs.net.
-v, --verbose (Facultatif) Génère un résultat détaillé.

Exemple

./apigee-remote-service-cli token create -o $ORG -e $ENV -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 \
-s icTARgaKHqvUH1dq -c config.yaml -r $RUNTIME -t $TOKEN

Sortie

certificate successfully rotated

Utiliser .netrc pour les identifiants

apigee-remote-service-cli récupère automatiquement les éléments username et password (pour l'authentification de base si nécessaire) dans un fichier .netrc de votre répertoire d'accueil si vous utilisez le cloud public Edge et que vous disposez d'une entrée pour la machine api.enterprise.apigee.com. Si vous utilisez le cloud privé Apigee, la valeur de la machine est identique à votre URL management (telle que http://192.162.55.100). Exemple sur le cloud public Edge :
machine api.enterprise.apigee.com
login jdoe@google.com
password abc123
Exemple sur le cloud privé Edge :
machine http://192.162.55.100
login jdoe@google.com
password abc123

Commande de version

Imprime la version de la CLI.

apigee-remote-service-cli version

Utiliser l'option de commande --config

L'option --config spécifie l'emplacement du fichier de configuration généré par la commande provision. L'avantage pratique de cette option est qu'elle vous permet d'ignorer la plupart des autres paramètres de commande que la CLI extrait du fichier de configuration. Vous disposez des options suivantes :
  • organisation
  • environnement
  • runtime
  • management
  • insecure
  • namespace
  • ancien
  • opdk

Par exemple, vous pouvez exécuter la commande provision comme suit :

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

Fichier de configuration

Cette section montre un exemple de fichier de configuration avec toutes les options 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