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
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
Apigee hybrid :
apigee-remote-service-cli bindings verify [product_name] -o [organization] -e [environment] -r [runtime] -t [token]
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 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. |
-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. |
-v, --verbose
|
(Facultatif) Génère un résultat détaillé. |
Exemple
/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
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. 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.
|
--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 :
|
|
--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
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
- gestion
- non sécurisé
- 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