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