Riferimenti

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

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

Comandi di associazione

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

Crea un elenco di associazioni

Elenca tutti i prodotti API associati al servizio remoto.

Utilizzo

Per il cloud pubblico perimetrale:

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

Per Edge Private Cloud:

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

Parametri

Parametri Tipo Descrizione
-c, --config Stringa (Obbligatorio) Il percorso del file di configurazione del servizio remoto Apigee.
Suggerimento: questo flag consente di omettere la maggior parte degli altri parametri del comando, perché l'interfaccia a riga di comando è in grado di eseguirne il pull direttamente dal file di configurazione. Vedi Tramite 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 viene utilizzato SSL
--legacy Imposta questo flag se utilizzi Apigee Edge Cloud. Imposta gli URL di gestione e di runtime per Edge Cloud.
--mfa Token di autorizzazione multi-fattore Apigee (utilizzato solo con --legacy)
--opdk Imposta questo flag se utilizzi Apigee Edge per il cloud privato.
-o, --org Stringa (Obbligatorio) Un'organizzazione Apigee. Devi essere un amministratore dell'organizzazione.
-p, --password Stringa (Obbligatorio solo per l'autenticazione di base) La tua password Apigee. Se vuoi, puoi specificare la password in un file .netrc. Se lo fai, non è necessario inserisci la password nella riga di comando. Vedi anche Utilizzo di .netrc per le credenziali.
-r, --runtime Stringa (Solo Private Cloud) Specifica l'URL di runtime per la tua istanza Private Cloud.
-t, --token Stringa (Obbligatorio solo per l'autenticazione con token OAuth) Un token OAuth o SAML generato da te dai dati del tuo account Apigee. Per informazioni sulla generazione dei token, consulta Utilizzare get_token e Accedi all'API di gestione con 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. Se lo fai, non è necessario fornire il tuo nome utente nella riga di comando. Consulta anche Utilizzare .netrc per le credenziali.
-v, --verbose (Facoltativo) Genera 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:

Verificare un'associazione

Verifica che anche il prodotto API associato specificato e le relative app sviluppatore associate dispongano di un telecomando prodotto di servizio associato. Se non si specifica un nome di prodotto API, il comando controlla tutti i prodotti associati.

Utilizzo

Per il cloud pubblico perimetrale:

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

Per Edge Private Cloud:

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

Dove product_name è facoltativo. Se non specifichi un nome di prodotto, tutti i prodotti associati verranno selezionata.

Parametri

Parametri Tipo Descrizione
-c, --config Stringa (Obbligatorio) Il percorso del file di configurazione del servizio remoto Apigee.
Suggerimento: questo flag consente di omettere la maggior parte degli altri parametri del comando, perché l'interfaccia a riga di comando è in grado di eseguirne il pull direttamente dal file di configurazione. Vedi Utilizza 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 viene utilizzato SSL
--legacy Imposta questo flag se utilizzi Apigee Edge Cloud. Imposta gli URL di gestione e di runtime per Edge Cloud.
--mfa Token di autorizzazione multi-fattore Apigee (utilizzato solo con --legacy)
--opdk Imposta questo flag se utilizzi Apigee Edge per il cloud privato.
-o, --org Stringa (Obbligatorio) Un'organizzazione Apigee. Devi essere un amministratore dell'organizzazione.
-r, --runtime Stringa (Solo Private Cloud) Specifica l'URL di runtime per la tua istanza Private Cloud.
-t, --token Stringa (Obbligatorio solo per l'autenticazione con token OAuth) Un token OAuth o SAML generato da te dai dati del tuo account Apigee. Per informazioni sulla generazione dei token, consulta Utilizzare get_token e Accedi all'API di gestione con SAML.
-v, --verbose (Facoltativo) Genera un output dettagliato.

Esempio

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

Comando della guida

La guida online è disponibile per tutti i comandi apigee-remote-service-cli. È sufficiente digitare:

apigee-remote-service-cli help

Per ricevere assistenza per qualsiasi comando, digita:

apigee-remote-service-cli [command] help

Ad esempio:

apigee-remote-service-cli provision help

Esegui il provisioning del comando

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

Utilizzo

Se ti trovi su Edge Public Cloud:

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

Se ti trovi su Edge Private Cloud:

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

Parametri

Parametri Tipo Descrizione
--analytics-sa Stringa Questo flag è disponibile disponibile per le installazioni di Apigee hybrid e Apigee su Google Cloud.

Utilizza questo flag per specificare il percorso di un file di chiavi dell'account di servizio Google Cloud, dove l'account di servizio ha il ruolo Apigee Analytics Agent. L'account di servizio è utilizzato dall'adattatore per caricare direttamente i dati di analisi su Apigee. Se utilizzi Apigee hybrid, questa opzione consente di installare il runtime ibrido in un cluster e l'adattatore in un altro cluster.

-c, --config Stringa Percorso del file di configurazione del servizio remoto Apigee. Vedi anche Utilizza 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 è sono già installati nella tua organizzazione.
-h, --help Visualizza la guida per i parametri del comando.
-k, --key Stringa Specifica la chiave restituita da il comando apigee-remote-service-cli provision.
--legacy Imposta questo flag se utilizzi Apigee Edge Cloud. Imposta gli URL di gestione e di runtime per Edge Cloud.
--mfa Token di autorizzazione multi-fattore Apigee (utilizzato solo con --legacy)
-m, --management Stringa (Obbligatorio se ti trovi su Apigee Private Cloud) Il tuo 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. Valore predefinito: apigee
--opdk Stringa Apigee OPDK
-o, --organization Stringa (Obbligatorio) La tua organizzazione Apigee. Devi essere un amministratore dell'organizzazione.
-p, --password Stringa (Obbligatorio solo per l'autenticazione di base) La tua password Apigee. Se vuoi, puoi specificare la password in un file .netrc. Se lo fai, non è necessario inserisci la password nella riga di comando. Vedi anche Utilizzo di .netrc per le credenziali.
--rotate-int int Se n > 0, genera una nuova chiave privata e mantieni n chiavi pubbliche (solo ibridi)
-r, --runtime Stringa (Solo Private Cloud) Specifica l'URL di runtime per la tua istanza Private Cloud.
-s, --secret Stringa Specifica il secret restituito dall'apigee-remote-service-cli provision .
--strength int (Facoltativo) Specifica il livello di crittografia per i certificati SSL utilizzati per il provisioning dei dell'adattatore. Predefinito 2048
-t, --token Stringa (Solo ibrido) Token OAuth o SAML 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) Genera un output dettagliato.
--virtual-hosts Stringa Esegue l'override degli host virtuali predefiniti, default,secure. Utilizza questa opzione se per l'ambiente organizzazione perimetrale sono specificati host virtuali diversi da questi valori predefiniti. Per scoprire di più, consulta la documentazione di Edge sugli host virtuali.
--years int (Facoltativo) Il numero di anni prima che il certificato SSL utilizzato nel provisioning scade. Valore predefinito: 1

Esempio

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

Esempio di cloud pubblico perimetrale:

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

Comando di esempio

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

Utilizzo

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

Descrizione

Il comando richiede un file config.yaml valido generato mediante 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 per il proprio cluster. Imposta inoltre una connessione SSL personalizzata dal proxy Envoy al servizio remoto cluster se una cartella contenente tls.key e tls.crt viene fornita tramite --tls.

Se utilizzi Istio, dove il proxy Envoy agisce come file collaterale, se la destinazione non è specificata, verrà generato l'esempio httpbin. In caso contrario, spetta a te preparare 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 del comando, perché l'interfaccia a riga di comando è in grado di eseguirne il pull direttamente dal file di configurazione. Vedi Utilizza 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 (valore predefinito "httpbin.org")
-n, --name Il nome del servizio di destinazione (il valore 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 le 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

Elenca le opzioni disponibili per i modelli

Elenca le opzioni disponibili per l'uso 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 invece di 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. Consulta anche Utilizzare l'autenticazione basata su JWT.

Utilizzo

Per il cloud pubblico perimetrale:
apigee-remote-service-cli token create -c [config_file] --id [consumer_key] --secret [consumer_secret] -o [org] -e [env]
Per Edge Private Cloud:
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: questo flag consente di omettere la maggior parte degli altri parametri del comando, perché l'interfaccia a riga di comando è in grado di eseguirne il pull direttamente dal file di configurazione. Vedi Utilizza 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 viene utilizzato SSL.
-o, --org Stringa (Obbligatorio) Un'organizzazione Apigee. Devi essere un amministratore dell'organizzazione.
-r, --runtime Stringa (Solo Private Cloud) Specifica l'URL di runtime per la tua istanza Private Cloud.
-v, --verbose (Facoltativo) Genera un output dettagliato.

Esempio

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

Output

Se l'operazione riesce, verrà visualizzato un output di token JST simile al seguente:
eyJraWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhY2Nlc3NfdG9rZW4iOiJ0a2tlVzVKQTY2a0pZYTB4bFV1cVBsUW1BMU43IiwiYXVkIjoiaXN0aW8iLCJuYmYiOjE1MzAxMzg1OTEsImFwaV9wcm9kdWN0X2xpc3QiOlsiaXN0aW8tcHJvZHVjdCJdLCJhcHBsaWNhdGlvbl9uYW1lIjoiaXN0aW8tYXBwIiwiZGV2ZWxvcGVyX2VtYWlsIjoicFluZ2Zsb3lkQGdvb2dsZS5jb20iLCJpc3MiOiJodHRwczovL2FwaWdlZXNlYXJjaC10ZXN0LmFwaWdlZS5uZXQvaXN0aW8tYXV0aC90b2tlbiIsImV4cCI6MTUzMDEzOTQ5MSwiaWF0IjoxNTMwMTM4NTkxLCJqdGkiOiIxODgzMzViZi0wMmE4LTRjZGUsOGFkOS0yMWJmNDZjNmRjZDkiLCJjbGllbnRfaWQiOiJZVW1sWkFjQktOc1RBZWxKcVBZRmwzc2g1OE9iQVRYOSJ9.AL7pKSTmond-NSPRNNHVbIzTdAnZjOXcjQ-BbOJ_8lsQvF7PuiOUrGIhY5XTcJusisKgbCdtIxBl8Wq1EiQ_fKnUc3JYYOqzpTB5bGoFy0Yqbfu96dneuWyzgZnoQBkqwZkbQTIg7WNTGx1TJX-UTePvBPxAefiAbaEUcigX9tTsXPoRJZOTrm7IOeKpxpB_gQYkxQtV1_NbERxjTPyMbHdMWal9_xRVzSt7mpTGudMN9OR-VtQ1uXA67GOqhZWcOzq57qImOiCMbaoKnKUADevyWjX_VscN5ZZUtzQUQhTrmv8aR69-uVhMIPKp9juMyYKaYn2IsYZEeCWfhfV45Q

Ispezionare un token JWT

Puoi controllare un token JWT con questo comando. Vedi anche Controllare un token.

Utilizzo

Per il cloud pubblico perimetrale:
apigee-remote-service-cli token inspect -o [organization] -e [environment] -f [token_file]
Per Edge Private Cloud:
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: questo flag consente di omettere la maggior parte degli altri parametri del comando, perché l'interfaccia a riga di comando è in grado di eseguirne il pull direttamente dal file di configurazione. Vedi Utilizza 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 viene utilizzato SSL.
-o, --org Stringa (Obbligatorio) Un'organizzazione Apigee. Devi essere un amministratore dell'organizzazione.
-r, --runtime Stringa (Solo Private Cloud) Specifica l'URL di runtime per la tua istanza Private Cloud.
-v, --verbose (Facoltativo) Genera un output dettagliato.

Esempio

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

Output

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

Ruota un token JWT

Dopo la generazione iniziale di un JWT, potrebbe essere necessario modificare la chiave pubblica/privata. archiviata da Apigee Edge nella sua mappa chiave-valore (KVM) criptata. Questo processo di generazione una nuova coppia di chiavi è chiamata rotazione della chiave. Quando ruoti le chiavi, viene creata una nuova coppia di chiavi privata/pubblica viene generato e archiviato nel file "istio" KVM nella tua organizzazione o nel tuo ambiente Apigee Edge. Inoltre, la vecchia chiave pubblica viene conservata insieme al valore ID chiave originale.

Utilizzo

Se ti trovi su Edge Public Cloud:
apigee-remote-service-cli token rotate-cert -c [config_file] -o [organization] -e [environment] -k [provision_key] -s [provision_secret] --kid [new_key_id]
Se ti trovi su Edge Private Cloud:
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]

Parametri

Parametri Tipo Descrizione
-c, --config Stringa (Obbligatorio) Il percorso del file di configurazione del servizio remoto Apigee.
Suggerimento: questo flag consente di omettere la maggior parte degli altri parametri del comando, perché l'interfaccia a riga di comando è in grado di eseguirne il pull direttamente dal file di configurazione. Vedi Utilizza 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 viene utilizzato 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 (Solo Private Cloud) Specifica l'URL di runtime per la tua istanza Private Cloud.
-v, --verbose (Facoltativo) Genera 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 rileva automaticamente username e password (per l'autenticazione di base, se necessaria) da un .netrc nella home directory se ti trovi in Edge Public Cloud e hai una voce per macchina api.enterprise.apigee.com. Se usi Apigee Private Cloud, il valore della macchina è uguale all'URL 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 importante vantaggio di questa opzione è che consente di ignorare la maggior parte degli altri parametri dei comandi, 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 in questo 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