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. Mit der Befehlszeile können Sie Bindungen erstellen, entfernen und auflisten.

Hinweis: In der Benutzeroberfläche zum Erstellen eines Produkts können Sie einen oder mehrere Services mit dem Produkt angeben. Dies entspricht der Erstellung der Bindung mithilfe der Befehlszeile.

Fügen Sie eine Bindung hinzu

Fügt einem API-Produkt eine Remote-Dienst-Zielbindung hinzu.

Nutzung

Für Apigee Hybrid:

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

Parameter

Parameter Typ Beschreibung
-c, --config String (Erforderlich) Der Pfad zur Konfigurationsdatei des Apigee Remote-Dienstes. Tipp: Wenn Sie diese Option angeben, können Sie die meisten anderen Befehlsparameter weglassen. 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) 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 Basis-URL der Apigee-Laufzeit (für Hybrid- oder Opdk erforderlich)
-t, --token String (Nur für OAuth-Token-Authentifizierung erforderlich) Ein OAuth- oder SAML-Token, das Sie anhand Ihrer Apigee-Kontoinformationen generieren. Informationen zum Generieren von Tokens finden Sie unter OAuth 2.0-Zugriffstoken abrufen und SAML-Übersicht.
-u, --username String (Nur für die Basisauthentifizierung erforderlich) Ihr Apigee-Nutzername (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 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

Bindungen auflisten

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

Nutzung

Parameter

Parameter Typ Beschreibung
-c, --config String (Erforderlich) Der Pfad zur Konfigurationsdatei des Apigee Remote-Dienstes. Tipp: Wenn Sie diese Option angeben, können Sie die meisten anderen Befehlsparameter weglassen. 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) 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 Basis-URL der Apigee-Laufzeit (für Hybrid- oder Opdk erforderlich)
-t, --token String (Nur für OAuth-Token-Authentifizierung erforderlich) Ein OAuth- oder SAML-Token, das Sie anhand Ihrer Apigee-Kontoinformationen generieren. Informationen zum Generieren von Tokens finden Sie unter OAuth 2.0-Zugriffstoken abrufen und SAML-Übersicht.
-u, --username String (Nur für die Basisauthentifizierung erforderlich) Ihr Apigee-Nutzername (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 -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:

Bindung entfernen

Bindung von Remote-Dienst für Envoy aus einem API-Produkt entfernen

Hinweis: Sie können einen Remote-Dienst für Envoy auch entfernen, indem Sie den Dienstnamen aus dem Produkt in der Benutzeroberfläche entfernen.

Nutzung

Für Apigee Hybrid:

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

Parameter

Parameter Typ Beschreibung
-c, --config String (Erforderlich) Der Pfad zur Konfigurationsdatei des Apigee Remote-Dienstes. Tipp: Wenn Sie diese Option angeben, können Sie die meisten anderen Befehlsparameter weglassen. 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) 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 Basis-URL der Apigee-Laufzeit (für Hybrid- oder Opdk erforderlich)
-t, --token String (Nur für OAuth-Token-Authentifizierung erforderlich) Ein OAuth- oder SAML-Token, das Sie anhand Ihrer Apigee-Kontoinformationen generieren. Informationen zum Generieren von Tokens finden Sie unter OAuth 2.0-Zugriffstoken abrufen und SAML-Übersicht.
-u, --username String (Nur für die Basisauthentifizierung erforderlich) Ihr Apigee-Nutzername (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 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

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 von Apigee-Adapters for Envoy benötigen.

Nutzung

Parameter

Parameter Typ Beschreibung
-c, --config String Pfad zur Konfigurationsdatei von Apigee Remote Service. Tipp: Wenn Sie diese Option angeben, können Sie die meisten anderen Befehlsparameter weglassen. Weitere Informationen finden Sie unter 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.
--opdk String Apigee OPDK.
-o, --organization String (Erforderlich) Ihre Apigee-Organisation. Sie müssen ein Organisationsadministrator sein.
-p, --password String (Nur für die Basisauthentifizierung erforderlich) 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 Basis-URL der Apigee-Laufzeit (für Hybrid- oder Opdk erforderlich)
-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 (Nur Hybrid) Apigee OAuth- oder SAML-Token.
-u, --username String (Nur für die Basisauthentifizierung erforderlich) Ihr Apigee-Nutzername (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

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: Wenn Sie diese Option angeben, können Sie die meisten anderen Befehlsparameter weglassen. 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 Basis-URL für Apigee-Laufzeit (nur für Hybrid- oder Opdk erforderlich)
-v, --verbose (Optional) Erzeugt eine ausführliche Ausgabe.

Beispiel

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

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: Wenn Sie diese Option angeben, können Sie die meisten anderen Befehlsparameter weglassen. 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 Basis-URL für Apigee-Laufzeit (nur für Hybrid- oder Opdk erforderlich)
-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

Parameter

Parameter Typ Beschreibung
-c, --config String (Erforderlich) Der Pfad zur Konfigurationsdatei des Apigee Remote-Dienstes. Tipp: Wenn Sie diese Option angeben, können Sie die meisten anderen Befehlsparameter weglassen. 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 Basis-URL der Apigee-Laufzeit (für Hybrid- oder Opdk erforderlich)
-v, --verbose (Optional) Erzeugt eine ausführliche Ausgabe.

Beispiel

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

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 Apigee befinden und einen Eintrag für die api.enterprise.apigee.com-Maschine haben. Wenn Sie sich in Apigee Private Cloud befinden, ist der Maschinenwert mit Ihrer management-URL identisch (z. B. http://192.162.55.100).

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: 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