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, de supprimer et de répertorier des liaisons.

Remarque : Dans l'interface utilisateur "Créer un produit", vous pouvez spécifier un ou plusieurs services avec un produit. Cela équivaut à créer la liaison à l'aide de la CLI.

Ajouter une liaison

Ajoute une liaison de cible distante à un produit d'API.

Utilisation

Apigee hybrid :

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

Paramètres

Paramètres Type Description
-c, --config Chaîne (Obligatoire) Chemin d'accès au fichier de configuration du service distant Apigee. Conseil : Lorsque vous spécifiez cette option, vous pouvez omettre la plupart des autres paramètres de commande. Voir 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) 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 de base de l'environnement d'exécution Apigee (obligatoire pour les environnements hybrides ou Opdk).
-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 Obtenir un jeton d'accès OAuth 2.0 et Présentation de 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 un résultat détaillé.

Exemple

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

Répertorier les liaisons

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

Utilisation

Paramètres

Paramètres Type Description
-c, --config Chaîne (Obligatoire) Chemin d'accès au fichier de configuration du service distant Apigee. Conseil : Lorsque vous spécifiez cette option, vous pouvez omettre la plupart des autres paramètres de commande. Voir 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) 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 de base de l'environnement d'exécution Apigee (obligatoire pour les environnements hybrides ou Opdk).
-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 Obtenir un jeton d'accès OAuth 2.0 et Présentation de 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 un résultat détaillé.

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:

Supprimer une liaison

Supprime la liaison du service distant pour Envoy d'un produit d'API.

Remarque : Vous pouvez également supprimer un service distant pour la liaison Envoy en supprimant le nom du service du produit dans l'interface utilisateur.

Utilisation

Apigee hybrid :

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

Paramètres

Paramètres Type Description
-c, --config Chaîne (Obligatoire) Chemin d'accès au fichier de configuration du service distant Apigee. Conseil : Lorsque vous spécifiez cette option, vous pouvez omettre la plupart des autres paramètres de commande. Voir 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) 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 de base de l'environnement d'exécution Apigee (obligatoire pour les environnements hybrides ou Opdk).
-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 Obtenir un jeton d'accès OAuth 2.0 et Présentation de 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 un résultat détaillé.

Exemple

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

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

Paramètres

Paramètres Type Description
-c, --config Chaîne Chemin d'accès au fichier de configuration du service de service distant Apigee. Conseil : Lorsque vous spécifiez cette option, vous pouvez omettre la plupart des autres paramètres de commande. Voir 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écuter la configuration en tant que ConfigMap Envoy dans l'espace de noms spécifié
--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 URL de base de l'environnement d'exécution Apigee (obligatoire pour les environnements hybrides ou opdk)
-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 Apigee OAuth ou SAML (hybride uniquement).
-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 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

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 : Lorsque vous spécifiez cette option, vous pouvez omettre la plupart des autres paramètres de commande. Voir 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 de base de l'environnement d'exécution Apigee (requis uniquement pour les environnements hybrides ou Opdk).
-v, --verbose (Facultatif) Génère un résultat détaillé.

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, 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 : Lorsque vous spécifiez cette option, vous pouvez omettre la plupart des autres paramètres de commande. Voir 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 de base de l'environnement d'exécution Apigee (requis uniquement pour les environnements hybrides ou Opdk).
-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

Paramètres

Paramètres Type Description
-c, --config Chaîne (Obligatoire) Chemin d'accès au fichier de configuration du service distant Apigee. Conseil : Lorsque vous spécifiez cette option, vous pouvez omettre la plupart des autres paramètres de commande. Voir 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 de base de l'environnement d'exécution Apigee (obligatoire pour les environnements hybrides ou Opdk).
-v, --verbose (Facultatif) Génère un résultat détaillé.

Exemple

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

Sortie

certificate successfully rotated

Utiliser .netrc pour les identifiants

apigee-remote-service-cli récupère automatiquement les fichiers username et password (pour l'authentification de base, si nécessaire) dans un fichier .netrc de votre répertoire d'accueil si vous êtes sur Apigee et avez une entrée pour la machine api.enterprise.apigee.com. Si vous êtes sur un cloud privé Apigee, la valeur de la machine est identique à votre URL management (par exemple : http://192.162.55.100).

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