Riferimento

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

L'interfaccia a riga di comando (CLI) apigee-remote-service-cli ti aiuta a eseguire il provisioning e la gestione di Apigee Adapter for Envoy.

Comandi di binding

Il binding associa un servizio di cui è stato eseguito il deployment nella mesh Istio a un prodotto API Apigee. La CLI consente di creare, rimuovere ed elencare le associazioni.

Nota: nell'interfaccia utente Crea prodotto, puoi specificare uno o più servizi con un prodotto. In questo modo, l'operazione equivale a creare l'associazione utilizzando la CLI.

Aggiungere un'associazione

Aggiunge un binding di destinazione remota a un prodotto API.

Utilizzo

Per Apigee hybrid:

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

Parametri

Parametri Tipo Descrizione
-c, --config Stringa (Obbligatorio) Il percorso del file di configurazione del servizio remoto Apigee. Suggerimento: quando specifichi questa opzione, puoi omettere la maggior parte degli altri parametri del comando. Consulta la sezione Utilizzo dell'opzione --config.
-e, --env Stringa (Obbligatorio) Un ambiente nella tua organizzazione.
-h, --help Visualizza la guida per i parametri del comando.
--insecure Consenti connessioni server non sicure quando utilizzi SSL
--legacy Imposta questo flag se utilizzi Apigee Cloud. Imposta gli URL di gestione e runtime per Edge Cloud.
--opdk Imposta questo flag se utilizzi Apigee per Private Cloud.
-o, --org Stringa (Obbligatorio) Un'organizzazione Apigee. Devi essere un amministratore dell'organizzazione.
-p, --password Stringa (Obbligatoria solo per l'autenticazione di base) La password Apigee. Se vuoi, puoi specificare la password in un file .netrc. In questo caso, non è necessario fornire la password sulla riga di comando. Vedi anche Utilizzo di .netrc per le credenziali.
-r, --runtime Stringa URL di base del runtime Apigee (obbligatorio per hybrid o opdk).
-t, --token Stringa (Obbligatorio solo per l'autenticazione con token OAuth) Un token OAuth o SAML generato dalle informazioni del tuo account Apigee. Per informazioni sulla generazione dei token, vedi Ottenere un token di accesso OAuth 2.0 e Panoramica di SAML.
-u, --username Stringa (Obbligatorio solo per l'autenticazione di base) Il tuo nome utente Apigee (in genere un indirizzo email). Facoltativamente, puoi specificare il nome utente in un file .netrc. In questo caso, non è necessario fornire il nome utente sulla riga di comando. Vedi anche Utilizzare .netrc per le credenziali.
-v, --verbose (Facoltativo) Produce un output dettagliato.

Esempio

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

Crea un elenco di associazioni

Elenca tutti i prodotti API associati al servizio remoto.

Utilizzo

Parametri

Parametri Tipo Descrizione
-c, --config Stringa (Obbligatorio) Il percorso del file di configurazione del servizio remoto Apigee. Suggerimento: quando specifichi questa opzione, puoi omettere la maggior parte degli altri parametri del comando. Consulta la sezione Utilizzo dell'opzione --config.
-e, --env Stringa (Obbligatorio) Un ambiente nella tua organizzazione.
-h, --help Visualizza la guida per i parametri del comando.
--insecure Consenti connessioni server non sicure quando utilizzi SSL
--legacy Imposta questo flag se utilizzi Apigee Cloud. Imposta gli URL di gestione e runtime per Edge Cloud.
--opdk Imposta questo flag se utilizzi Apigee per Private Cloud.
-o, --org Stringa (Obbligatorio) Un'organizzazione Apigee. Devi essere un amministratore dell'organizzazione.
-p, --password Stringa (Obbligatoria solo per l'autenticazione di base) La password Apigee. Se vuoi, puoi specificare la password in un file .netrc. In questo caso, non è necessario fornire la password sulla riga di comando. Vedi anche Utilizzo di .netrc per le credenziali.
-r, --runtime Stringa URL di base del runtime Apigee (obbligatorio per hybrid o opdk).
-t, --token Stringa (Obbligatorio solo per l'autenticazione con token OAuth) Un token OAuth o SAML generato dalle informazioni del tuo account Apigee. Per informazioni sulla generazione dei token, vedi Ottenere un token di accesso OAuth 2.0 e Panoramica di SAML.
-u, --username Stringa (Obbligatorio solo per l'autenticazione di base) Il tuo nome utente Apigee (in genere un indirizzo email). Facoltativamente, puoi specificare il nome utente in un file .netrc. In questo caso, non è necessario fornire il nome utente sulla riga di comando. Vedi anche Utilizzare .netrc per le credenziali.
-v, --verbose (Facoltativo) Produce un output dettagliato.

Esempio

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:

Rimuovere un'associazione

Rimuovi il binding di Remote Service per Envoy da un prodotto API.

Nota: puoi anche rimuovere un'associazione di servizi remoti per Envoy rimuovendo il nome del servizio dal prodotto nell'interfaccia utente.

Utilizzo

Per Apigee hybrid:

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

Parametri

Parametri Tipo Descrizione
-c, --config Stringa (Obbligatorio) Il percorso del file di configurazione del servizio remoto Apigee. Suggerimento: quando specifichi questa opzione, puoi omettere la maggior parte degli altri parametri del comando. Consulta la sezione Utilizzo dell'opzione --config.
-e, --env Stringa (Obbligatorio) Un ambiente nella tua organizzazione.
-h, --help Visualizza la guida per i parametri del comando.
--insecure Consenti connessioni server non sicure quando utilizzi SSL
--legacy Imposta questo flag se utilizzi Apigee Cloud. Imposta gli URL di gestione e runtime per Edge Cloud.
--opdk Imposta questo flag se utilizzi Apigee per Private Cloud.
-o, --org Stringa (Obbligatorio) Un'organizzazione Apigee. Devi essere un amministratore dell'organizzazione.
-p, --password Stringa (Obbligatoria solo per l'autenticazione di base) La password Apigee. Se vuoi, puoi specificare la password in un file .netrc. In questo caso, non è necessario fornire la password sulla riga di comando. Vedi anche Utilizzo di .netrc per le credenziali.
-r, --runtime Stringa URL di base del runtime Apigee (obbligatorio per hybrid o opdk).
-t, --token Stringa (Obbligatorio solo per l'autenticazione con token OAuth) Un token OAuth o SAML generato dalle informazioni del tuo account Apigee. Per informazioni sulla generazione dei token, vedi Ottenere un token di accesso OAuth 2.0 e Panoramica di SAML.
-u, --username Stringa (Obbligatorio solo per l'autenticazione di base) Il tuo nome utente Apigee (in genere un indirizzo email). Facoltativamente, puoi specificare il nome utente in un file .netrc. In questo caso, non è necessario fornire il nome utente sulla riga di comando. Vedi anche Utilizzare .netrc per le credenziali.
-v, --verbose (Facoltativo) Produce un output dettagliato.

Esempio

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

Comando di assistenza

Viene fornita assistenza online per tutti i comandi apigee-remote-service-cli. Ti basta digitare:

apigee-remote-service-cli help

Per assistenza su qualsiasi comando, digita:

apigee-remote-service-cli [command] help

Ad esempio:

apigee-remote-service-cli provision help

Comando di provisioning

Il comando apigee-remote-service-cli provision installa un proxy nella tua organizzazione Apigee, configura un certificato e genera le credenziali necessarie per configurare l'adattatore Apigee per Envoy.

Utilizzo

Parametri

Parametri Tipo Descrizione
-c, --config Stringa Percorso al file di configurazione del servizio remoto Apigee. Suggerimento: quando specifichi questa opzione, puoi omettere la maggior parte degli altri parametri del comando. Consulta la sezione Utilizzo dell'opzione --config.
-e, --environment Stringa (Obbligatorio) Un ambiente nella tua organizzazione.
-f, --force-proxy-install (Facoltativo) Forza la reinstallazione del proxy remote-service se è già installato nella tua organizzazione.
-h, --help Visualizza la guida per i parametri del comando.
-k, --key Stringa Specifica la chiave restituita dal comando apigee-remote-service-cli provision.
--legacy Apigee Edge (imposta l'URL di gestione e runtime)
-m, --management Stringa (Obbligatorio se utilizzi Apigee Private Cloud) L'URL di base di gestione di Apigee. Valore predefinito: https://api.enterprise.apigee.com
-n, --namespace Stringa emette la configurazione come ConfigMap di Envoy nello spazio dei nomi specificato.
--opdk Stringa Apigee OPDK.
-o, --organization Stringa (Obbligatorio) La tua organizzazione Apigee. Devi essere un amministratore dell'organizzazione.
-p, --password Stringa (Obbligatoria solo per l'autenticazione di base) La password Apigee. Se vuoi, puoi specificare la password in un file .netrc. In questo caso, non è necessario fornire la password sulla riga di comando. Vedi anche Utilizzo di .netrc per le credenziali.
--rotate-int int Se n > 0, genera una nuova chiave privata e conserva n chiavi pubbliche (solo ibrido)
-r, --runtime Stringa URL di base del runtime Apigee (obbligatorio per hybrid o opdk)
-s, --secret Stringa Specifica il secret restituito dal comando apigee-remote-service-cli provision.
--strength int (Facoltativo) Specifica la solidità della crittografia per i certificati SSL utilizzati nel provisioning dell'adattatore. Valore predefinito 2048
-t, --token Stringa (Solo ibrido) Token OAuth o SAML di Apigee.
-u, --username Stringa (Obbligatorio solo per l'autenticazione di base) Il tuo nome utente Apigee (in genere un indirizzo email). Facoltativamente, puoi specificare il nome utente in un file .netrc. Vedi anche Utilizzare .netrc per le credenziali.
-v, --verbose (Facoltativo) Produce un output dettagliato.
--virtual-hosts Stringa Esegue l'override degli host virtuali predefiniti.
--years int (Facoltativo) Il numero di anni prima della scadenza del certificato SSL utilizzato nel provisioning. Valore predefinito: 1

Esempio

Assicurati di acquisire l'output del comando provision in un file, che viene utilizzato come input per altre operazioni di Apigee Adapter for Envoy.

Esempio di Apigee hybrid:

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

Comandi token

Puoi utilizzare un token JWT per effettuare chiamate proxy API autenticate anziché utilizzare una chiave API. I comandi dei token consentono di creare, esaminare e ruotare i token JWT a questo scopo.

Crea un token JWT

Puoi utilizzare un token JWT per effettuare chiamate proxy API autenticate a una destinazione di servizio remota. Vedi anche Utilizzo dell'autenticazione basata su JWT.

Utilizzo

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

Parametri

Parametri Tipo Descrizione
-c, --config Stringa (Obbligatorio) Il percorso del file di configurazione del servizio remoto Apigee. Suggerimento: quando specifichi questa opzione, puoi omettere la maggior parte degli altri parametri del comando. Consulta la sezione Utilizzo dell'opzione --config.
-e, --env Stringa (Obbligatorio) Un ambiente nella tua organizzazione.
-h, --help Visualizza la guida per i parametri del comando.
--insecure Consenti connessioni server non sicure quando utilizzi SSL.
-o, --org Stringa (Obbligatorio) Un'organizzazione Apigee. Devi essere un amministratore dell'organizzazione.
-r, --runtime Stringa URL di base del runtime Apigee (obbligatorio solo per hybrid o opdk).
-v, --verbose (Facoltativo) Produce un output dettagliato.

Esempio

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

Output

In caso di esito positivo, vedrai un output del token JST simile al seguente:
eyJraWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhY2Nlc3NfdG9rZW4iOiJ0a2tlVzVKQTY2a0pZYTB4bFV1cVBsUW1BMU43IiwiYXVkIjoiaXN0aW8iLCJuYmYiOjE1MzAxMzg1OTEsImFwaV9wcm9kdWN0X2xpc3QiOlsiaXN0aW8tcHJvZHVjdCJdLCJhcHBsaWNhdGlvbl9uYW1lIjoiaXN0aW8tYXBwIiwiZGV2ZWxvcGVyX2VtYWlsIjoicFluZ2Zsb3lkQGdvb2dsZS5jb20iLCJpc3MiOiJodHRwczovL2FwaWdlZXNlYXJjaC10ZXN0LmFwaWdlZS5uZXQvaXN0aW8tYXV0aC90b2tlbiIsImV4cCI6MTUzMDEzOTQ5MSwiaWF0IjoxNTMwMTM4NTkxLCJqdGkiOiIxODgzMzViZi0wMmE4LTRjZGUsOGFkOS0yMWJmNDZjNmRjZDkiLCJjbGllbnRfaWQiOiJZVW1sWkFjQktOc1RBZWxKcVBZRmwzc2g1OE9iQVRYOSJ9.AL7pKSTmond-NSPRNNHVbIzTdAnZjOXcjQ-BbOJ_8lsQvF7PuiOUrGIhY5XTcJusisKgbCdtIxBl8Wq1EiQ_fKnUc3JYYOqzpTB5bGoFy0Yqbfu96dneuWyzgZnoQBkqwZkbQTIg7WNTGx1TJX-UTePvBPxAefiAbaEUcigX9tTsXPoRJZOTrm7IOeKpxpB_gQYkxQtV1_NbERxjTPyMbHdMWal9_xRVzSt7mpTGudMN9OR-VtQ1uXA67GOqhZWcOzq57qImOiCMbaoKnKUADevyWjX_VscN5ZZUtzQUQhTrmv8aR69-uVhMIPKp9juMyYKaYn2IsYZEeCWfhfV45Q

Ispezionare un token JWT

Puoi esaminare un token JWT con questo comando. Vedi anche Ispezionare un token.

Utilizzo

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

Parametri

Parametri Tipo Descrizione
-c, --config Stringa (Obbligatorio) Il percorso del file di configurazione del servizio remoto Apigee. Suggerimento: quando specifichi questa opzione, puoi omettere la maggior parte degli altri parametri del comando. Consulta la sezione Utilizzo dell'opzione --config.
-e, --env Stringa (Obbligatorio) Un ambiente nella tua organizzazione.
-h, --help Visualizza la guida per i parametri del comando.
--insecure Consenti connessioni server non sicure quando utilizzi SSL.
-o, --org Stringa (Obbligatorio) Un'organizzazione Apigee. Devi essere un amministratore dell'organizzazione.
-r, --runtime Stringa URL di base del runtime Apigee (obbligatorio solo per hybrid o opdk).
-v, --verbose (Facoltativo) Produce un output dettagliato.

Esempio

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

Output

In caso di esito positivo, vedrai un output simile al seguente:
{
	"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.

Ruotare un token JWT

Qualche tempo dopo aver generato inizialmente un JWT, potresti dover modificare la coppia di chiave pubblica/privata memorizzata da Apigee nella relativa mappa chiave-valore (KVM) criptata. Questo processo di generazione di una nuova coppia di chiavi è chiamatorotazione della chiavei. Quando ruoti le chiavi, viene generata e archiviata una nuova coppia di chiavi privata/pubblica nel KVM "istio" della tua organizzazione/ambiente Apigee. Inoltre, la vecchia chiave pubblica viene conservata insieme al valore ID chiave originale.

Utilizzo

Parametri

Parametri Tipo Descrizione
-c, --config Stringa (Obbligatorio) Il percorso del file di configurazione del servizio remoto Apigee. Suggerimento: quando specifichi questa opzione, puoi omettere la maggior parte degli altri parametri del comando. Consulta la sezione Utilizzo dell'opzione --config.
-e, --env Stringa (Obbligatorio) Un ambiente nella tua organizzazione.
-h, --help Visualizza la guida per i parametri del comando.
--insecure Consenti connessioni server non sicure quando utilizzi SSL
--truncate int Numero di certificati da conservare in jwks (valore predefinito 2)
-o, --org Stringa (Obbligatorio) Un'organizzazione Apigee. Devi essere un amministratore dell'organizzazione.
-r, --runtime Stringa URL di base del runtime Apigee (obbligatorio per hybrid o opdk).
-v, --verbose (Facoltativo) Produce un output dettagliato.

Esempio

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

Output

certificate successfully rotated

Utilizzo di .netrc per le credenziali

apigee-remote-service-cli preleva automaticamente username e password (per l'autenticazione di base, se necessario) da un file .netrc nella tua home directory se utilizzi Apigee e hai una voce per la macchina api.enterprise.apigee.com. Se utilizzi Apigee Private Cloud, il valore della macchina è lo stesso dell'URL management (ad esempio: http://192.162.55.100).

Comando per la versione

Stampa la versione della CLI.

apigee-remote-service-cli version

Utilizzo dell'opzione del comando --config

L'opzione --config specifica la posizione del file di configurazione generato dal comando provision. Un vantaggio utile di questa opzione è che ti consente di ignorare la maggior parte degli altri parametri dei comandi, che la CLI estrae dal file di configurazione. Queste opzioni includono:
  • organizzazione
  • produzione
  • runtime
  • gestione
  • non sicuro
  • spazio dei nomi
  • legacy
  • opdk

Ad esempio, puoi eseguire il comando provision nel seguente modo:

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

File di configurazione

Questa sezione mostra un file di configurazione di esempio con tutte le opzioni disponibili.

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