Riferimenti

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

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

Comandi di associazione

L'associazione associa un servizio di cui è stato eseguito il deployment nel mesh Istio a un prodotto API Apigee. L'interfaccia a riga di comando consente di creare, rimuovere, elencare e verificare le associazioni.

Crea un elenco di associazioni

Elenca tutti i prodotti API associati al servizio remoto.

Utilizzo

Per Apigee hybrid:

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

Parametri

Parametri Tipo Descrizione
-c, --config Stringa (Obbligatorio) Il percorso del file di configurazione di Apigee Remote Service.
Suggerimento: questo flag consente di omettere la maggior parte degli altri parametri dei comandi, poiché l'interfaccia a riga di comando è in grado di eseguirne il pull direttamente dal file di configurazione. Consulta la sezione Utilizzare l'opzione --config.
-e, --env Stringa (Obbligatorio) Un ambiente della tua organizzazione.
-h, --help Visualizza la guida per i parametri del comando.
--insecure Consenti connessioni a server non sicure durante l'utilizzo di 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 il cloud privato.
-o, --org Stringa (Obbligatorio) Un'organizzazione Apigee. Devi essere un amministratore dell'organizzazione.
-p, --password Stringa (Obbligatoria solo per l'autenticazione di base, non disponibile per il modello ibrido) La password Apigee. Facoltativamente, puoi specificare la password in un file .netrc. In questo caso, non dovrai fornire la tua password nella riga di comando. Vedi anche Utilizzare .netrc per le credenziali.
-r, --runtime Stringa Un URL che include hostAlias per un host virtuale definito nella configurazione ibrida. L'URL deve iniziare con https://. Ad esempio: https://apitest.apigee-hybrid-docs.net
-t, --token Stringa (Obbligatorio) Un token di accesso.
-u, --username Stringa (Obbligatorio solo per l'autenticazione di base, non disponibile per il modello ibrido) Il tuo nome utente Apigee (in genere un indirizzo email). Facoltativamente, puoi specificare il nome utente in un file .netrc. In questo caso, non dovrai fornire il tuo nome utente nella riga di comando. Vedi anche Utilizzare .netrc per le credenziali.
-v, --verbose (Facoltativo) Visualizza un output dettagliato.

Esempio

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:

Verifica un'associazione

Questo comando è deprecato. Nella versione 1.4, le app per sviluppatori non richiedono più un'associazione con prodotti API utilizzati con target di servizi remoti.

Comando della guida

La guida online è fornita per tutti i comandi apigee-remote-service-cli. Basta digitare:

apigee-remote-service-cli help

Per ricevere 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

Per Apigee hybrid:

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

Parametri

Parametri Tipo Descrizione
--analytics-sa Stringa Utilizza questo flag per specificare il percorso di un file di chiavi dell'account di servizio Google Cloud in cui l'account di servizio ha il ruolo Apigee Analytics Agent. L'SA viene utilizzato dall'adattatore per caricare direttamente i dati di analisi su Apigee. Se utilizzi Apigee hybrid, questa opzione ti consente di installare il runtime ibrido in un cluster e l'adattatore in un altro cluster. Questo flag è disponibile solo per le installazioni di Apigee hybrid e Apigee su Google Cloud.
-c, --config Stringa Percorso del file di configurazione del servizio remoto Apigee. Vedi anche Utilizzare l'opzione --config.
-e, --environment Stringa (Obbligatorio) Un ambiente della 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 ti trovi su Apigee Private Cloud) L'URL di base della gestione Apigee. Valore predefinito: https://api.enterprise.apigee.com
-n, --namespace Stringa Emetti la configurazione come ConfigMap Envoy nello spazio dei nomi specificato. Predefinito: Apigee
--opdk Stringa Imposta questo flag se utilizzi Apigee per il cloud privato.
-o, --organization Stringa

(Obbligatorio) La tua organizzazione Apigee.

-p, --password Stringa (Obbligatoria solo per l'autenticazione di base, non disponibile per il modello ibrido) La password Apigee. Facoltativamente, puoi specificare la password in un file .netrc. In questo caso, non dovrai fornire la tua password nella riga di comando. Vedi anche Utilizzare .netrc per le credenziali.
--rotate-int int Se n > 0, genera una nuova chiave privata e mantieni n chiavi pubbliche (solo ibride)
-r, --runtime Stringa Un URL che include hostAlias per un host virtuale definito nella configurazione ibrida. L'URL deve iniziare con https://. Ad esempio: https://apitest.apigee-hybrid-docs.net
-s, --secret Stringa Specifica il secret restituito dal comando apigee-remote-service-cli provision.
--strength int (Facoltativo) Specifica il livello di crittografia dei certificati SSL utilizzati per il provisioning dell'adattatore. Valore predefinito 2048
-t, --token Stringa OAuth o token SAML di Apigee.
-u, --username Stringa (Obbligatorio solo per l'autenticazione di base, non disponibile per il modello ibrido) 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) Visualizza 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 per il 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

Comando Samples

Creare un file di configurazione di esempio

Crea file di configurazione di esempio per i deployment Envoy o Istio nativi.

Utilizzo

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

Descrizione

Il comando richiede un file config.yaml valido generato tramite il provisioning. Per impostazione predefinita, i file di esempio vengono generati in una directory denominata ./samples. Il comando crea automaticamente questa directory.

Se utilizzi Envoy nativo, il comando prende l'host del servizio di destinazione e il nome desiderato per il relativo cluster. Imposta inoltre una connessione SSL personalizzata dal proxy Envoy al cluster di servizio remoto se tramite --tls viene fornita una cartella contenente tls.key e tls.crt.

Se utilizzi Istio, in cui il proxy Envoy agisce come file collaterale, se la destinazione non è specificata, verrà generato l'esempio httpbin. In caso contrario, sarai responsabile della preparazione dei file di configurazione relativi al deployment dei servizi di destinazione.

Parametri

Parametri Tipo Descrizione
-c, --config Stringa (Obbligatorio) Percorso del file di configurazione del servizio remoto Apigee.
Suggerimento: questo flag consente di omettere la maggior parte degli altri parametri dei comandi, poiché l'interfaccia a riga di comando è in grado di eseguirne il pull direttamente dal file di configurazione. Consulta la sezione Utilizzare l'opzione --config.
-f, --force Forza la sovrascrittura della directory esistente.
-h, --help Visualizza la guida per i parametri del comando.
--host L'host del servizio di destinazione (predefinito "httpbin.org")
-n, --name Il nome del servizio di destinazione (predefinito "httpbin")
--out La directory in cui creare i file di configurazione di esempio. Valore predefinito: ./samples
-t, --template

Il nome del modello. Se stai eseguendo un deployment Istio (solo ibrido), seleziona una delle opzioni Istio disponibili. Utilizza l'opzione nativa per i deployment nativi di Envoy. Le opzioni disponibili sono:

  • istio-1.6 (valore predefinito)
  • istio-1.7
  • native
--tls La directory in cui archiviare la chiave TLS e i file crt.

Esempio

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

Elenco delle opzioni disponibili per i modelli

Elenca le opzioni che possono essere utilizzate con il parametro --templates.

Utilizzo

apigee-remote-service-cli samples templates

Parametri

Nessuno.

Esempio

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

Comandi token

Puoi utilizzare un token JWT per effettuare chiamate proxy API autenticate anziché utilizzare una chiave API. I comandi token consentono di creare, ispezionare 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 remoto. 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 di Apigee Remote Service.
Suggerimento: questo flag consente di omettere la maggior parte degli altri parametri dei comandi, poiché l'interfaccia a riga di comando è in grado di eseguirne il pull direttamente dal file di configurazione. Consulta la sezione Utilizzare l'opzione --config.
-e, --env Stringa (Obbligatorio) Un ambiente della tua organizzazione.
-h, --help Visualizza la guida per i parametri del comando.
--insecure Consenti connessioni a server non sicure quando si utilizza SSL.
-o, --org Stringa (Obbligatorio) Un'organizzazione Apigee. Devi essere un amministratore dell'organizzazione.
-r, --runtime Stringa Un URL che include hostAlias per un host virtuale definito nella configurazione ibrida. L'URL deve iniziare con https://. Ad esempio: https://apitest.apigee-hybrid-docs.net
-v, --verbose (Facoltativo) Visualizza un output dettagliato.

Esempio

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

Output

Se l'operazione va a buon fine, verrà visualizzato un output del token JST simile al seguente:
eyJraWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhY2Nlc3NfdG9rZW4iOiJ0a2tlVzVKQTY2a0pZYTB4bFV1cVBsUW1BMU43IiwiYXVkIjoiaXN0aW8iLCJuYmYiOjE1MzAxMzg1OTEsImFwaV9wcm9kdWN0X2xpc3QiOlsiaXN0aW8tcHJvZHVjdCJdLCJhcHBsaWNhdGlvbl9uYW1lIjoiaXN0aW8tYXBwIiwiZGV2ZWxvcGVyX2VtYWlsIjoicFluZ2Zsb3lkQGdvb2dsZS5jb20iLCJpc3MiOiJodHRwczovL2FwaWdlZXNlYXJjaC10ZXN0LmFwaWdlZS5uZXQvaXN0aW8tYXV0aC90b2tlbiIsImV4cCI6MTUzMDEzOTQ5MSwiaWF0IjoxNTMwMTM4NTkxLCJqdGkiOiIxODgzMzViZi0wMmE4LTRjZGUsOGFkOS0yMWJmNDZjNmRjZDkiLCJjbGllbnRfaWQiOiJZVW1sWkFjQktOc1RBZWxKcVBZRmwzc2g1OE9iQVRYOSJ9.AL7pKSTmond-NSPRNNHVbIzTdAnZjOXcjQ-BbOJ_8lsQvF7PuiOUrGIhY5XTcJusisKgbCdtIxBl8Wq1EiQ_fKnUc3JYYOqzpTB5bGoFy0Yqbfu96dneuWyzgZnoQBkqwZkbQTIg7WNTGx1TJX-UTePvBPxAefiAbaEUcigX9tTsXPoRJZOTrm7IOeKpxpB_gQYkxQtV1_NbERxjTPyMbHdMWal9_xRVzSt7mpTGudMN9OR-VtQ1uXA67GOqhZWcOzq57qImOiCMbaoKnKUADevyWjX_VscN5ZZUtzQUQhTrmv8aR69-uVhMIPKp9juMyYKaYn2IsYZEeCWfhfV45Q

Ispeziona un token JWT

Puoi esaminare un token JWT con questo comando. Vedi anche Esaminare 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 di Apigee Remote Service.
Suggerimento: questo flag consente di omettere la maggior parte degli altri parametri dei comandi, poiché l'interfaccia a riga di comando è in grado di eseguirne il pull direttamente dal file di configurazione. Consulta la sezione Utilizzare l'opzione --config.
-e, --env Stringa (Obbligatorio) Un ambiente della tua organizzazione.
-h, --help Visualizza la guida per i parametri del comando.
--insecure Consenti connessioni a server non sicure quando si utilizza SSL.
-o, --org Stringa (Obbligatorio) Un'organizzazione Apigee. Devi essere un amministratore dell'organizzazione.
-r, --runtime Stringa Un URL che include hostAlias per un host virtuale definito nella configurazione ibrida. L'URL deve iniziare con https://. Ad esempio: https://apitest.apigee-hybrid-docs.net
-v, --verbose (Facoltativo) Visualizza un output dettagliato.

Esempio

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

Output

Se l'operazione riesce, verrà visualizzato 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.

Ruota un token JWT

Dopo aver generato inizialmente un JWT, potrebbe essere necessario modificare la coppia di chiave pubblica/privata archiviata da Apigee nella sua mappa chiave-valore criptata (KVM). Questo processo di generazione di una nuova coppia di chiavi è chiamato rotazione della chiave. Quando esegui la rotazione delle chiavi, viene generata e archiviata una nuova coppia di chiavi privata/pubblica nel KVM "istio" nella tua organizzazione o nell'ambiente Apigee. Inoltre, la chiave pubblica precedente viene mantenuta insieme al valore ID chiave originale.

Utilizzo

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

Parametri

Parametri Tipo Descrizione
-c, --config Stringa (Obbligatorio) Il percorso del file di configurazione di Apigee Remote Service.
Suggerimento: questo flag consente di omettere la maggior parte degli altri parametri dei comandi, poiché l'interfaccia a riga di comando è in grado di eseguirne il pull direttamente dal file di configurazione. Consulta la sezione Utilizzare l'opzione --config.
-e, --env Stringa (Obbligatorio) Un ambiente della tua organizzazione.
-h, --help Visualizza la guida per i parametri del comando.
--insecure Consenti connessioni a server non sicure durante l'utilizzo di 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 Un URL che include hostAlias per un host virtuale definito nella configurazione ibrida. L'URL deve iniziare con https://. Ad esempio: https://apitest.apigee-hybrid-docs.net
-v, --verbose (Facoltativo) Visualizza un output dettagliato.

Esempio

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

Output

certificate successfully rotated

Utilizzo di .netrc per le credenziali

apigee-remote-service-cli raccoglie automaticamente username e password (per l'autenticazione di base, se necessaria) da un file .netrc nella tua home directory se ti trovi su Edge Public Cloud e hai una voce per la macchina api.enterprise.apigee.com. Se ti trovi in Apigee Private Cloud, il valore della macchina è uguale all'URL di management (ad esempio: http://192.162.55.100). Ad esempio su Edge Public Cloud:
machine api.enterprise.apigee.com
login jdoe@google.com
password abc123
Ad esempio su Edge Private Cloud:
machine http://192.162.55.100
login jdoe@google.com
password abc123

Comando della versione

Stampa la versione dell'interfaccia a riga di comando.

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 di questa opzione è che consente di saltare la maggior parte degli altri parametri di comando, che l'interfaccia a riga di comando estrae dal file di configurazione. Queste opzioni includono:
  • organizzazione
  • produzione
  • runtime
  • gestione
  • non sicuro
  • spazio dei nomi
  • legacy
  • opdk

Ad esempio, potresti 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: 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