Referenz

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Mit der apigee-remote-service-cli-Befehlszeile (CLI) können Sie den Apigee Adapter für Envoy bereitstellen und verwalten.

Bindungsbefehle

Durch Bindung wird ein im Istio-Mesh bereitgestellter Dienst mit einem Apigee API-Produkt verknüpft. Über die Befehlszeile können Sie Bindungen erstellen, entfernen, auflisten und prüfen.

Bindungen auflisten

Alle API-Produkte auflisten, die an den Remote-Dienst gebunden sind.

Nutzung

Für Apigee Hybrid:

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

Parameter

Parameter Typ Beschreibung
-c, --config String (Erforderlich) Der Pfad zur Konfigurationsdatei des Apigee Remote-Dienstes.
Tipp: Mit diesem Flag können Sie die meisten anderen Befehlsparameter weglassen, da die Befehlszeile sie direkt aus der Konfigurationsdatei abrufen kann. Weitere Informationen finden Sie unter Option --config verwenden.
-e, --env String (Erforderlich) Eine Umgebung in Ihrer Organisation.
-h, --help Zeigt Hilfe zu den Befehlsparametern an.
--insecure Unsichere Serververbindungen mit SSL zulassen.
--legacy Legen Sie dieses Flag fest, wenn Sie Apigee Cloud verwenden. Es werden die Verwaltungs- und Laufzeit-URLs für Edge Cloud festgelegt.
--opdk Legen Sie dieses Flag fest, wenn Sie Apigee for Private Cloud verwenden.
-o, --org String (Erforderlich) Eine Apigee-Organisation. Sie müssen ein Organisationsadministrator sein.
-p, --password String (Nur für die Basisauthentifizierung erforderlich – nicht für Hybrid verfügbar) Ihr Apigee-Passwort. Optional können Sie das Passwort in einer .netrc-Datei angeben. In diesem Fall müssen Sie Ihr Passwort nicht in der Befehlszeile angeben. Weitere Informationen finden Sie unter .netrc für Anmeldedaten verwenden.
-r, --runtime String Eine URL, die hostAlias für einen virtuellen Host enthält, der in Ihrer Hybridkonfiguration definiert ist. Die URL muss mit https:// beginnen. Beispiel: https://apitest.apigee-hybrid-docs.net
-t, --token String (Erforderlich) Ein Zugriffstoken.
-u, --username String (Nur für die Basisauthentifizierung erforderlich, nicht verfügbar für Hybrid) Ihren Apigee-Nutzernamen (normalerweise eine E-Mail-Adresse). Sie können den Nutzernamen optional in einer .netrc-Datei angeben. In diesem Fall müssen Sie Ihren Nutzernamen nicht in der Befehlszeile angeben. Weitere Informationen finden Sie unter .netrc für Anmeldedaten verwenden.
-v, --verbose (Optional) Erzeugt eine ausführliche Ausgabe.

Beispiel

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:

Bindung prüfen

Dieser Befehl wurde verworfen. In Version 1.4 benötigen Entwickleranwendungen keine Verknüpfung mit API-Produkten mehr, die mit Remotedienstzielen verwendet werden.

Hilfebefehl

Onlinehilfe wird für alle apigee-remote-service-cli-Befehle bereitgestellt. Geben Sie einfach Folgendes ein:

apigee-remote-service-cli help

Wenn Sie Hilfe zu einem Befehl benötigen, geben Sie Folgendes ein:

apigee-remote-service-cli [command] help

Beispiel:

apigee-remote-service-cli provision help

Bereitstellungsbefehl

Mit dem Befehl apigee-remote-service-cli provision wird ein Proxy in Ihrer Apigee-Organisation installiert, ein Zertifikat eingerichtet und Anmeldedaten generiert, die Sie zum Konfigurieren des Apigee-Adapters for Envoy benötigen.

Nutzung

Für Apigee Hybrid:

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

Parameter

Parameter Typ Beschreibung
--analytics-sa String Mit diesem Flag geben Sie den Pfad zu einer Schlüsseldatei des Google Cloud-Dienstkontos an, wobei das Dienstkonto die Rolle Apigee Analytics Agent hat. SA wird vom Adapter verwendet, um Analysedaten direkt in Apigee hochzuladen. Wenn Sie Apigee hybrid verwenden, können Sie mit dieser Option die hybride Laufzeit in einem Cluster und dem Adapter in einem anderen Cluster installieren. Dieses Flag ist nur für die Installation von Apigee Hybrid und Apigee on Google Cloud verfügbar.
-c, --config String Pfad zur Konfigurationsdatei von Apigee Remote Service. Siehe auch Option --config verwenden.
-e, --environment String (Erforderlich) Eine Umgebung in Ihrer Organisation.
-f, --force-proxy-install (Optional) Erzwingt die Neuinstallation des remote-service-Proxys, wenn er bereits in Ihrer Organisation installiert ist.
-h, --help Zeigt Hilfe zu den Befehlsparametern an.
-k, --key String Gibt den Schlüssel an, der vom Befehl apigee-remote-service-cli provision zurückgegeben wurde.
--legacy Apigee Edge (Einrichtungs- und Laufzeit-URL festlegen)
-m, --management String (Erforderlich, wenn Sie sich in Apigee Private Cloud befinden) Ihre Basis-URL für die Apigee-Verwaltung. Standardwert: https://api.enterprise.apigee.com
-n, --namespace String Konfiguration als Envoy-ConfigMap im angegebenen Namespace. Standard: Apigee
--opdk String Legen Sie dieses Flag fest, wenn Sie Apigee for Private Cloud verwenden.
-o, --organization String

(Erforderlich) Ihre Apigee-Organisation.

-p, --password String (Nur für die Basisauthentifizierung erforderlich – nicht für Hybrid verfügbar) Ihr Apigee-Passwort. Optional können Sie das Passwort in einer .netrc-Datei angeben. In diesem Fall müssen Sie Ihr Passwort nicht in der Befehlszeile angeben. Weitere Informationen finden Sie unter .netrc für Anmeldedaten verwenden.
--rotate-int int Wenn n > 0, generieren Sie einen neuen privaten Schlüssel und behalten Sie n öffentliche Schlüssel (nur Hybrid) bei.
-r, --runtime String Eine URL, die hostAlias für einen virtuellen Host enthält, der in Ihrer Hybridkonfiguration definiert ist. Die URL muss mit https:// beginnen. Beispiel: https://apitest.apigee-hybrid-docs.net
-s, --secret String Gibt das Secret an, das vom Befehl apigee-remote-service-cli provision zurückgegeben wurde.
--strength int (Optional) Gibt die Verschlüsselungsstärke für SSL-Zertifikate an, die beim Bereitstellen des Adapters verwendet werden. Standardeinstellung 2048
-t, --token String Apigee OAuth- oder SAML-Token
-u, --username String (Nur für die Basisauthentifizierung erforderlich, nicht verfügbar für Hybrid) Ihren Apigee-Nutzernamen (normalerweise eine E-Mail-Adresse). Sie können den Nutzernamen optional in einer .netrc-Datei angeben. Weitere Informationen finden Sie unter .netrc für Anmeldedaten verwenden.
-v, --verbose (Optional) Erzeugt eine ausführliche Ausgabe.
--virtual-hosts String Überschreibt die standardmäßigen virtuellen Hosts.
--years int (Optional) Die Anzahl der Jahre vor Ablauf des in der Bereitstellung verwendeten SSL-Zertifikats. Standardeinstellung: 1

Beispiel

Erfassen Sie die Ausgabe des Befehls provision in einer Datei, die als Eingabe für andere Apigee-Adapter für Envoy-Vorgänge verwendet wird.

Beispiel für Apigee Hybrid.

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

Befehl "Beispiele"

Beispielkonfigurationsdatei erstellen

Erstellt Konfigurationsdateien für native Envoy- und Istio-Bereitstellungen.

Nutzung

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

Beschreibung

Für den Befehl ist eine gültige config.yaml-Datei erforderlich, die durch die Bereitstellung generiert wird. Standardmäßig werden die Beispieldateien in ein Verzeichnis mit dem Namen ./samples ausgegeben. Mit diesem Befehl wird dieses Verzeichnis für Sie erstellt.

Wenn Sie natives Envoy verwenden, verwendet der Befehl den Zieldiensthost und den gewünschten Namen für seinen Cluster. Außerdem wird eine benutzerdefinierte SSL-Verbindung vom Envoy-Proxy zum Remote-Dienstcluster eingerichtet, wenn ein Ordner mit tls.key und tls.crt über --tls bereitgestellt wird.

Wenn Sie Istio verwenden, wobei der Envoy-Proxy als Sidecar fungiert und das Ziel nicht spezifiziert ist, wird das Beispiel httpbin generiert. Andernfalls sind Sie für die Vorbereitung der Konfigurationsdateien für die Bereitstellung Ihrer Zieldienste verantwortlich.

Parameter

Parameter Typ Beschreibung
-c, --config String (Erforderlich) Pfad zur Konfigurationsdatei von Apigee Remote Service.
Tipp: Mit diesem Flag können Sie die meisten anderen Befehlsparameter weglassen, da die Befehlszeile sie direkt aus der Konfigurationsdatei abrufen kann. Weitere Informationen finden Sie unter Option --config verwenden.
-f, --force Überschreiben des vorhandenen Verzeichnisses erzwingen.
-h, --help Zeigt Hilfe zu den Befehlsparametern an.
--host Host des Zieldiensts (Standard "httpbin.org")
-n, --name Name des Zieldiensts (Standard "httpbin")
--out Das Verzeichnis, in dem die Beispielkonfigurationsdateien erstellt werden sollen. Standardwert: ./samples
-t, --template

Der Name der Vorlage. Wenn Sie eine Istio-Bereitstellung (nur Hybrid) verwenden, wählen Sie eine der verfügbaren Istio-Optionen aus. Native Option für native Envoy-Bereitstellungen verwenden Folgende Optionen sind verfügbar:

  • istio-1.6 (Standard)
  • istio-1.7
  • native
--tls Das Verzeichnis, in dem die TLS-Schlüssel und die CRT-Dateien gespeichert werden.

Beispiel

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

Verfügbare Vorlagenoptionen auflisten

Listet die Optionen auf, die mit dem Parameter --templates zur Verfügung stehen.

Nutzung

apigee-remote-service-cli samples templates

Parameter

Beispiel

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

Tokenbefehle

Sie können authentifizierte API-Proxyaufrufe mit einem JWT-Token durchführen, anstatt einen API-Schlüssel zu verwenden. Mit den Tokenbefehlen können Sie JWT-Tokens zu diesem Zweck erstellen, prüfen und rotieren.

JWT-Token erstellen

Sie können ein JWT-Token verwenden, um authentifizierte API-Proxyaufrufe an ein Remote-Dienstziel zu senden. Siehe auch JWT-basierte Authentifizierung verwenden.

Nutzung

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

Parameter

Parameter Typ Beschreibung
-c, --config String (Erforderlich) Der Pfad zur Konfigurationsdatei des Apigee Remote-Dienstes.
Tipp: Mit diesem Flag können Sie die meisten anderen Befehlsparameter weglassen, da die Befehlszeile sie direkt aus der Konfigurationsdatei abrufen kann. Weitere Informationen finden Sie unter Option --config verwenden.
-e, --env String (Erforderlich) Eine Umgebung in Ihrer Organisation.
-h, --help Zeigt Hilfe zu den Befehlsparametern an.
--insecure Unsichere Serververbindungen mit SSL zulassen.
-o, --org String (Erforderlich) Eine Apigee-Organisation. Sie müssen ein Organisationsadministrator sein.
-r, --runtime String Eine URL, die hostAlias für einen virtuellen Host enthält, der in Ihrer Hybridkonfiguration definiert ist. Die URL muss mit https:// beginnen. Beispiel: https://apitest.apigee-hybrid-docs.net
-v, --verbose (Optional) Erzeugt eine ausführliche Ausgabe.

Beispiel

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

Ausgabe

Bei Erfolg wird ein JavaScript-Token wie dieses ausgegeben:
eyJraWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhY2Nlc3NfdG9rZW4iOiJ0a2tlVzVKQTY2a0pZYTB4bFV1cVBsUW1BMU43IiwiYXVkIjoiaXN0aW8iLCJuYmYiOjE1MzAxMzg1OTEsImFwaV9wcm9kdWN0X2xpc3QiOlsiaXN0aW8tcHJvZHVjdCJdLCJhcHBsaWNhdGlvbl9uYW1lIjoiaXN0aW8tYXBwIiwiZGV2ZWxvcGVyX2VtYWlsIjoicFluZ2Zsb3lkQGdvb2dsZS5jb20iLCJpc3MiOiJodHRwczovL2FwaWdlZXNlYXJjaC10ZXN0LmFwaWdlZS5uZXQvaXN0aW8tYXV0aC90b2tlbiIsImV4cCI6MTUzMDEzOTQ5MSwiaWF0IjoxNTMwMTM4NTkxLCJqdGkiOiIxODgzMzViZi0wMmE4LTRjZGUsOGFkOS0yMWJmNDZjNmRjZDkiLCJjbGllbnRfaWQiOiJZVW1sWkFjQktOc1RBZWxKcVBZRmwzc2g1OE9iQVRYOSJ9.AL7pKSTmond-NSPRNNHVbIzTdAnZjOXcjQ-BbOJ_8lsQvF7PuiOUrGIhY5XTcJusisKgbCdtIxBl8Wq1EiQ_fKnUc3JYYOqzpTB5bGoFy0Yqbfu96dneuWyzgZnoQBkqwZkbQTIg7WNTGx1TJX-UTePvBPxAefiAbaEUcigX9tTsXPoRJZOTrm7IOeKpxpB_gQYkxQtV1_NbERxjTPyMbHdMWal9_xRVzSt7mpTGudMN9OR-VtQ1uXA67GOqhZWcOzq57qImOiCMbaoKnKUADevyWjX_VscN5ZZUtzQUQhTrmv8aR69-uVhMIPKp9juMyYKaYn2IsYZEeCWfhfV45Q

JWT-Token prüfen

Sie können ein JWT-Token mit diesem Befehl prüfen. Siehe auch Token prüfen.

Nutzung

Für Apigee Hybrid:
apigee-remote-service-cli token inspect -o [organization] -e [environment] -f [token_file] --runtime [host_alias]

Parameter

Parameter Typ Beschreibung
-c, --config String (Erforderlich) Der Pfad zur Konfigurationsdatei des Apigee Remote-Dienstes.
Tipp: Mit diesem Flag können Sie die meisten anderen Befehlsparameter weglassen, da die Befehlszeile sie direkt aus der Konfigurationsdatei abrufen kann. Weitere Informationen finden Sie unter Option --config verwenden.
-e, --env String (Erforderlich) Eine Umgebung in Ihrer Organisation.
-h, --help Zeigt Hilfe zu den Befehlsparametern an.
--insecure Unsichere Serververbindungen mit SSL zulassen.
-o, --org String (Erforderlich) Eine Apigee-Organisation. Sie müssen ein Organisationsadministrator sein.
-r, --runtime String Eine URL, die hostAlias für einen virtuellen Host enthält, der in Ihrer Hybridkonfiguration definiert ist. Die URL muss mit https:// beginnen. Beispiel: https://apitest.apigee-hybrid-docs.net
-v, --verbose (Optional) Erzeugt eine ausführliche Ausgabe.

Beispiel

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

Ausgabe

Bei Erfolg sieht die Ausgabe in etwa so aus:
{
	"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.

JWT-Token rotieren

Nach der ersten Generierung eines JWT müssen Sie möglicherweise das Paar aus öffentlichen und privaten Schlüsseln ändern, das von Apigee in seiner verschlüsselten Schlüsselwertzuordnung (KVM) gespeichert wird. Das Generieren eines neuen Schlüsselpaars wird als Schlüsselrotation bezeichnet. Wenn Sie Schlüssel rotieren, wird ein neues privates/öffentliches Schlüsselpaar generiert und in der KVM in „istio“ in Ihrer Apigee-Organisation/-Umgebung gespeichert. Außerdem bleibt der alte öffentliche Schlüssel mit seinem ursprünglichen Schlüssel-ID-Wert erhalten.

Nutzung

Für 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]

Parameter

Parameter Typ Beschreibung
-c, --config String (Erforderlich) Der Pfad zur Konfigurationsdatei des Apigee Remote-Dienstes.
Tipp: Mit diesem Flag können Sie die meisten anderen Befehlsparameter weglassen, da die Befehlszeile sie direkt aus der Konfigurationsdatei abrufen kann. Weitere Informationen finden Sie unter Option --config verwenden.
-e, --env String (Erforderlich) Eine Umgebung in Ihrer Organisation.
-h, --help Zeigt Hilfe zu den Befehlsparametern an.
--insecure Unsichere Serververbindungen mit SSL zulassen.
--truncate int Anzahl der Zertifikate, die in jwks beibehalten werden sollen (Standardeinstellung 2)
-o, --org String (Erforderlich) Eine Apigee-Organisation. Sie müssen ein Organisationsadministrator sein.
-r, --runtime String Eine URL, die hostAlias für einen virtuellen Host enthält, der in Ihrer Hybridkonfiguration definiert ist. Die URL muss mit https:// beginnen. Beispiel: https://apitest.apigee-hybrid-docs.net
-v, --verbose (Optional) Erzeugt eine ausführliche Ausgabe.

Beispiel

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

Ausgabe

certificate successfully rotated

.netrc für Anmeldedaten verwenden

apigee-remote-service-cli ruft automatisch username und password (zur einfachen Authentifizierung, falls erforderlich) aus einer .netrc-Datei in Ihrem Basisverzeichnis ab, wenn Sie sich in der Edge Public Cloud befinden und einen Eintrag für die api.enterprise.apigee.com-Maschine haben. Wenn Sie in Apigee Private Cloud sind, ist der Maschinenwert mit Ihrer management-URL identisch (z. B. http://192.162.55.100). Beispiel in Edge Public Cloud:
machine api.enterprise.apigee.com
login jdoe@google.com
password abc123
Beispiel in Edge Private Cloud:
machine http://192.162.55.100
login jdoe@google.com
password abc123

Versionsbefehl

Die CLI-Version drucken

apigee-remote-service-cli version

Mit der Befehlsoption --config

Die Option --config gibt den Speicherort der Konfigurationsdatei an, die vom Befehl provision generiert wurde. Ein hilfreicher Vorteil dieser Option besteht darin, dass Sie die meisten anderen Befehlsparameter überspringen können, die die Befehlszeile mit der Konfigurationsdatei abruft. Diese Optionen umfassen unter anderem:
  • Organisation
  • Umgebung
  • runtime
  • Management
  • Unsicher
  • Namespace
  • legacy
  • opdk

Führen Sie beispielsweise den Befehl provision so aus:

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

Konfigurationsdatei

In diesem Abschnitt sehen Sie eine Beispielkonfigurationsdatei mit allen verfügbaren Optionen.

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