Référence

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

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 répertorier et de vérifier les liaisons.

Répertorier les liaisons

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

Utilisation

Cloud public Edge :

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

Cloud privé Edge :

apigee-remote-service-cli bindings list -o [organization] -e [environment] -u [username] -p [password] -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 de votre organisation.
-h, --help Affiche l'aide concernant les paramètres de commande.
--insecure Autoriser les connexions aux serveurs non sécurisés en cas d'utilisation de SSL
--legacy Définissez cette option si vous utilisez Apigee Edge Cloud. Il définit les URL de gestion et d'exécution pour Edge Cloud.
--mfa Jeton d'autorisation multifacteur Apigee (utilisé uniquement avec --legacy)
--opdk Définissez cette option si vous utilisez Apigee Edge pour le cloud privé.
-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) 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 (Cloud privé uniquement) Spécifie l'URL d'exécution de votre instance de cloud privé.
-t, --token Chaîne (Obligatoire pour l'authentification par jeton OAuth uniquement) Jeton OAuth ou SAML généré à partir des informations de votre compte Apigee. Pour en savoir plus sur la génération de jetons, consultez les pages Utiliser get_token et Accéder à l'API de gestion avec SAML.
-u, --username Chaîne (Obligatoire pour l'authentification de base uniquement) 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 une sortie détaillée.

Exemple

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:

Valider une liaison

Vérifiez que le produit d'API spécifié et les applications de développeur associées sont également associés à un produit de service distant. Si vous ne spécifiez pas de nom de produit d'API, la commande vérifie tous les produits liés.

Utilisation

Cloud public Edge :

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

Cloud privé Edge :

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

Où product_name est facultatif. Si vous ne spécifiez pas de nom de produit, tous les produits liés sont vérifiés.

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 de votre organisation.
-h, --help Affiche l'aide concernant les paramètres de commande.
--insecure Autoriser les connexions aux serveurs non sécurisés en cas d'utilisation de SSL
--legacy Définissez cette option si vous utilisez Apigee Edge Cloud. Il définit les URL de gestion et d'exécution pour Edge Cloud.
--mfa Jeton d'autorisation multifacteur Apigee (utilisé uniquement avec --legacy)
--opdk Définissez cette option si vous utilisez Apigee Edge pour le cloud privé.
-o, --org Chaîne (Obligatoire) Organisation d'Apigee. Vous devez être un administrateur de l'entreprise.
-r, --runtime Chaîne (Cloud privé uniquement) Spécifie l'URL d'exécution de votre instance de cloud privé.
-t, --token Chaîne (Obligatoire pour l'authentification par jeton OAuth uniquement) Jeton OAuth ou SAML généré à partir des informations de votre compte Apigee. Pour en savoir plus sur la génération de jetons, consultez les pages Utiliser get_token et Accéder à l'API de gestion avec SAML.
-v, --verbose (Facultatif) Génère une sortie détaillée.

Exemple

./apigee-remote-service-cli bindings verify my-product -o myorg -e test -u user@example.com -c config.yaml -p xxxxxx
  app my-app associated with product my-product is verified

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 Edge, configure un certificat et génère des identifiants dont vous aurez besoin pour configurer Apigee Adapter for Envoy.

Utilisation

Si vous utilisez le cloud public Edge :

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

Si vous utilisez le cloud privé Edge :

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

Paramètres

Paramètres Type Description
--analytics-sa Chaîne Cette option n'est disponible que pour les installations Apigee hybrid et Apigee sur Google Cloud.

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.

-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 de 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 concernant les paramètres de commande.
-k, --key Chaîne Spécifie la clé renvoyée par la commande apigee-remote-service-cli provision.
--legacy Définissez cette option si vous utilisez Apigee Edge Cloud. Il définit les URL de gestion et d'exécution pour Edge Cloud.
--mfa Jeton d'autorisation multifacteur Apigee (utilisé uniquement avec --legacy)
-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 Apigee OPDK.
-o, --organization Chaîne (Obligatoire) Votre organisation Apigee. Vous devez être un administrateur de l'entreprise.
-p, --password Chaîne (Obligatoire pour l'authentification de base uniquement) 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 (Cloud privé uniquement) Spécifie l'URL d'exécution de votre instance de cloud privé.
-s, --secret Chaîne Spécifie le 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 (Hybride uniquement) Apigee OAuth ou SAML.
-u, --username Chaîne (Obligatoire pour l'authentification de base uniquement) 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 une sortie détaillée.
--virtual-hosts Chaîne Remplace les hôtes virtuels par défaut, qui sont default,secure. Utilisez cette option si vous avez spécifié des hôtes virtuels pour votre environnement d'organisation Edge autres que ceux par défaut. Consultez la documentation Edge pour en savoir plus sur les hôtes virtuels.
--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 la sortie de la commande provision dans un fichier, qui sera utilisé comme entrée pour d'autres opérations Apigee Adapter for Envoy.

Exemple de cloud public périphérique:

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

Commande d'exemples

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 Forcez le remplacement du répertoire existant.
-h, --help Affiche l'aide concernant les paramètres de commande.
--host Hôte de 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 (valeur par défaut)
  • istio-1.7
  • native
--tls Répertoire dans lequel stocker la clé TLS et les fichiers crt.

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

Aucun

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

Pour le cloud public Edge :
apigee-remote-service-cli token create -c [config_file] --id [consumer_key] --secret [consumer_secret] -o [org] -e [env]
Pour le cloud privé Edge :
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 de votre organisation.
-h, --help Affiche l'aide concernant les paramètres de commande.
--insecure Autorisez les connexions aux serveurs non sécurisées en cas d'utilisation de SSL.
-o, --org Chaîne (Obligatoire) Organisation d'Apigee. Vous devez être un administrateur de l'entreprise.
-r, --runtime Chaîne (Cloud privé uniquement) Spécifie l'URL d'exécution de votre instance de cloud privé.
-v, --verbose (Facultatif) Génère une sortie détaillée.

Exemple

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

Sortie

Si l'opération réussit, un résultat de jeton JST semblable à celui-ci s'affiche :
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

Pour le cloud public Edge :
apigee-remote-service-cli token inspect -o [organization] -e [environment] -f [token_file]
Pour le cloud privé Edge :
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 de votre organisation.
-h, --help Affiche l'aide concernant les paramètres de commande.
--insecure Autorisez les connexions aux serveurs non sécurisées en cas d'utilisation de SSL.
-o, --org Chaîne (Obligatoire) Organisation d'Apigee. Vous devez être un administrateur de l'entreprise.
-r, --runtime Chaîne (Cloud privé uniquement) Spécifie l'URL d'exécution de votre instance de cloud privé.
-v, --verbose (Facultatif) Génère une sortie détaillée.

Exemple

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

Sortie

Si l'opération réussit, un résultat semblable à celui-ci s'affiche :
{
	"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 Edge 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 Edge. De plus, l'ancienne clé publique est conservée avec son ID de clé d'origine.

Utilisation

Si vous êtes sur un cloud public périphérique :
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 vous êtes sur un cloud privé périphérique :
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]

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 de votre organisation.
-h, --help Affiche l'aide concernant les paramètres de commande.
--insecure Autoriser les connexions aux serveurs non sécurisés en cas d'utilisation de SSL
--truncate int Nombre de certificats à conserver dans les 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 (Cloud privé uniquement) Spécifie l'URL d'exécution de votre instance de cloud privé.
-v, --verbose (Facultatif) Génère une sortie détaillée.

Exemple

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

Résultat

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 un cloud privé Apigee, la valeur de la machine est identique à votre URL management (par exemple : http://192.162.55.100). Par exemple sur Edge Public Cloud :
machine api.enterprise.apigee.com
login jdoe@google.com
password abc123
Par 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

En utilisant 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
  • gestion
  • Incertain
  • 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 présente 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