Referensi

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Baca dokumentasi Apigee Edge.

Antarmuka Command Line (CLI) apigee-remote-service-cli membantu Anda menyediakan dan mengelola Adaptor Apigee untuk Envoy.

Perintah binding

Binding mengaitkan layanan yang di-deploy ke mesh Istio dengan produk Apigee API. CLI ini memungkinkan Anda membuat, menghapus, mencantumkan, dan memverifikasi binding.

Mencantumkan pengikatan

Mencantumkan semua produk API yang terikat dengan Remote Service.

Penggunaan

Untuk Apigee Hybrid:

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

Parameter

Parameter Jenis Deskripsi
-c, --config String (Wajib) Jalur ke file konfigurasi Apigee Remote Service.
Tips: Flag ini memungkinkan Anda menghilangkan sebagian besar parameter perintah lainnya karena CLI dapat menariknya langsung dari file konfigurasi. Lihat Menggunakan opsi --config.
-e, --env String (Wajib) Lingkungan di organisasi Anda.
-h, --help Menampilkan bantuan untuk parameter perintah.
--insecure Izinkan koneksi server yang tidak aman saat menggunakan SSL
--legacy Tetapkan flag ini jika Anda menggunakan Apigee Cloud. Ini menetapkan URL pengelolaan dan runtime untuk Edge Cloud.
--opdk Tetapkan flag ini jika Anda menggunakan Apigee untuk Private Cloud.
-o, --org String (Wajib) Organisasi Apigee. Anda harus menjadi administrator org.
-p, --password String (Hanya diperlukan untuk autentikasi dasar - tidak tersedia untuk campuran) Sandi Apigee Anda. Secara opsional, Anda dapat menentukan sandi dalam file .netrc. Jika demikian, Anda tidak perlu memberikan sandi pada command line. Lihat juga Menggunakan .netrc untuk kredensial.
-r, --runtime String URL yang menyertakan hostAlias untuk host virtual yang ditentukan dalam konfigurasi hybrid Anda. URL harus diawali dengan https://. Contoh: https://apitest.apigee-hybrid-docs.net
-t, --token String (Wajib) Token akses.
-u, --username String (Diperlukan hanya untuk autentikasi dasar - tidak tersedia untuk campuran) Nama pengguna Apigee Anda (biasanya alamat email). Secara opsional, Anda dapat menentukan nama pengguna dalam file .netrc. Jika demikian, Anda tidak perlu memberikan nama pengguna pada command line. Lihat juga Menggunakan .netrc untuk kredensial.
-v, --verbose (Opsional) Menghasilkan output panjang.

Contoh

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:

Memverifikasi binding

Perintah ini tidak digunakan lagi. Pada versi 1.4, aplikasi developer tidak lagi memerlukan pengaitan dengan produk API yang digunakan dengan target layanan jarak jauh.

Perintah bantuan

Bantuan online disediakan untuk semua perintah apigee-remote-service-cli. Cukup ketik:

apigee-remote-service-cli help

Untuk bantuan terkait perintah apa pun, ketik:

apigee-remote-service-cli [command] help

Contoh:

apigee-remote-service-cli provision help

Perintah penyediaan

Perintah apigee-remote-service-cli provision menginstal proxy di organisasi Apigee, menyiapkan sertifikat, dan membuat kredensial yang Anda perlukan untuk mengonfigurasi Apigee Adapter untuk Envoy.

Penggunaan

Untuk Apigee Hybrid:

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

Parameter

Parameter Jenis Deskripsi
--analytics-sa String Gunakan tanda ini untuk menentukan jalur ke file kunci akun layanan Google Cloud, di mana akun layanan memiliki peran Apigee Analytics Agent. SA digunakan oleh adaptor untuk langsung mengupload data analisis ke Apigee. Jika Anda menggunakan Apigee Hybrid, opsi ini memungkinkan Anda menginstal runtime hybrid di satu cluster dan adaptor di cluster lain. Flag ini hanya tersedia untuk Apigee Hybrid dan Apigee di penginstalan Google Cloud.
-c, --config String Jalur ke file konfigurasi Apigee Remote Service. Lihat juga Menggunakan opsi --config.
-e, --environment String (Wajib) Lingkungan di organisasi Anda.
-f, --force-proxy-install (Opsional) Memaksa proxy remote-service untuk diinstal ulang jika sudah terinstal di organisasi Anda.
-h, --help Menampilkan bantuan untuk parameter perintah.
-k, --key String Menentukan kunci yang ditampilkan dari perintah apigee-remote-service-cli provision.
--legacy Apigee Edge (pengelolaan set dan URL runtime)
-m, --management String (Wajib jika Anda menggunakan Apigee Private Cloud) URL dasar pengelolaan Apigee Anda. Default: https://api.enterprise.apigee.com
-n, --namespace String Memberikan konfigurasi sebagai Envoy ConfigMap dalam namespace yang ditentukan. Default: apigee
--opdk String Tetapkan flag ini jika Anda menggunakan Apigee untuk Private Cloud.
-o, --organization String

(Wajib) Organisasi Apigee Anda.

-p, --password String (Hanya diperlukan untuk autentikasi dasar - tidak tersedia untuk campuran) Sandi Apigee Anda. Secara opsional, Anda dapat menentukan sandi dalam file .netrc. Jika demikian, Anda tidak perlu memberikan sandi pada command line. Lihat juga Menggunakan .netrc untuk kredensial.
--rotate-int int Jika n > 0, buat kunci pribadi baru dan pertahankan n kunci publik (khusus campuran)
-r, --runtime String URL yang menyertakan hostAlias untuk host virtual yang ditentukan dalam konfigurasi hybrid Anda. URL harus diawali dengan https://. Contoh: https://apitest.apigee-hybrid-docs.net
-s, --secret String Menentukan rahasia yang ditampilkan dari perintah apigee-remote-service-cli provision.
--strength int (Opsional) Menentukan kekuatan enkripsi untuk sertifikat SSL yang digunakan dalam menyediakan adaptor. Default 2048
-t, --token String Token SAML atau OAuth Apigee.
-u, --username String (Diperlukan hanya untuk autentikasi dasar - tidak tersedia untuk campuran) Nama pengguna Apigee Anda (biasanya alamat email). Secara opsional, Anda dapat menentukan nama pengguna dalam file .netrc. Lihat juga Menggunakan .netrc untuk kredensial.
-v, --verbose (Opsional) Menghasilkan output panjang.
--virtual-hosts String Mengganti host virtual default.
--years int (Opsional) Jumlah tahun sebelum masa berlaku sertifikat SSL yang digunakan dalam penyediaan berakhir. Default: 1

Contoh

Pastikan untuk merekam output perintah provision dalam file, yang digunakan sebagai input bagi Adaptor Apigee lainnya untuk operasi Envoy.

Contoh hibrid Apigee:

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

Perintah Sample

Membuat contoh file konfigurasi

Membuat contoh file konfigurasi untuk deployment Envoy atau Istio native.

Penggunaan

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

Deskripsi

Perintah ini memerlukan file config.yaml valid yang dihasilkan melalui penyediaan. Secara default, file contoh di-output ke direktori bernama ./samples. Perintah ini akan membuat direktori ini untuk Anda.

Jika Anda menggunakan Envoy native, perintah ini menggunakan host layanan target dan nama yang diinginkan untuk cluster-nya. Library ini juga menetapkan koneksi SSL kustom dari proxy Envoy ke cluster layanan jarak jauh jika folder yang berisi tls.key dan tls.crt disediakan melalui --tls.

Jika Anda menggunakan Istio, dengan proxy Envoy yang bertindak sebagai file bantuan, jika target tidak ditentukan, contoh httpbin akan dibuat. Jika tidak, Anda bertanggung jawab untuk menyiapkan file konfigurasi yang terkait dengan deployment layanan target.

Parameter

Parameter Jenis Deskripsi
-c, --config String (Wajib) Jalur ke file konfigurasi Apigee Remote Service.
Tips: Flag ini memungkinkan Anda menghilangkan sebagian besar parameter perintah lainnya karena CLI dapat menariknya langsung dari file konfigurasi. Lihat Menggunakan opsi --config.
-f, --force Paksa direktori yang sudah ada ditimpa.
-h, --help Menampilkan bantuan untuk parameter perintah.
--host Host layanan target (default "httpbin.org")
-n, --name Nama layanan target (default "httpbin")
--out Direktori tempat untuk membuat contoh file konfigurasi. Default: ./samples
-t, --template

Nama template. Jika Anda melakukan deployment Istio (khusus hybrid), pilih salah satu opsi Istio yang tersedia. Menggunakan opsi native untuk deployment Envoy native. Opsi yang tersedia adalah:

  • istio-1.6 (Default)
  • istio-1.7
  • native
--tls Direktori tempat untuk menyimpan kunci TLS dan file crt.

Contoh

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

Mencantumkan opsi template yang tersedia

Mencantumkan opsi yang tersedia untuk digunakan dengan parameter --templates.

Penggunaan

apigee-remote-service-cli samples templates

Parameter

Tidak ada.

Contoh

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

Perintah token

Anda bisa menggunakan token JWT untuk melakukan panggilan proxy API yang diautentikasi alih-alih menggunakan kunci API. Perintah token memungkinkan Anda membuat, memeriksa, dan merotasi token JWT untuk tujuan ini.

Membuat token JWT

Anda bisa menggunakan token JWT untuk melakukan panggilan proxy API terautentikasi ke target layanan jarak jauh. Lihat juga Menggunakan autentikasi berbasis JWT.

Penggunaan

Untuk 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 Jenis Deskripsi
-c, --config String (Wajib) Jalur ke file konfigurasi Apigee Remote Service.
Tips: Flag ini memungkinkan Anda menghilangkan sebagian besar parameter perintah lainnya karena CLI dapat menariknya langsung dari file konfigurasi. Lihat Menggunakan opsi --config.
-e, --env String (Wajib) Lingkungan di organisasi Anda.
-h, --help Menampilkan bantuan untuk parameter perintah.
--insecure Izinkan koneksi server yang tidak aman saat menggunakan SSL.
-o, --org String (Wajib) Organisasi Apigee. Anda harus menjadi administrator org.
-r, --runtime String URL yang menyertakan hostAlias untuk host virtual yang ditentukan dalam konfigurasi hybrid Anda. URL harus diawali dengan https://. Contoh: https://apitest.apigee-hybrid-docs.net
-v, --verbose (Opsional) Menghasilkan output panjang.

Contoh

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

Output

Jika berhasil, Anda akan melihat output token JST yang mirip dengan berikut ini:
eyJraWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhY2Nlc3NfdG9rZW4iOiJ0a2tlVzVKQTY2a0pZYTB4bFV1cVBsUW1BMU43IiwiYXVkIjoiaXN0aW8iLCJuYmYiOjE1MzAxMzg1OTEsImFwaV9wcm9kdWN0X2xpc3QiOlsiaXN0aW8tcHJvZHVjdCJdLCJhcHBsaWNhdGlvbl9uYW1lIjoiaXN0aW8tYXBwIiwiZGV2ZWxvcGVyX2VtYWlsIjoicFluZ2Zsb3lkQGdvb2dsZS5jb20iLCJpc3MiOiJodHRwczovL2FwaWdlZXNlYXJjaC10ZXN0LmFwaWdlZS5uZXQvaXN0aW8tYXV0aC90b2tlbiIsImV4cCI6MTUzMDEzOTQ5MSwiaWF0IjoxNTMwMTM4NTkxLCJqdGkiOiIxODgzMzViZi0wMmE4LTRjZGUsOGFkOS0yMWJmNDZjNmRjZDkiLCJjbGllbnRfaWQiOiJZVW1sWkFjQktOc1RBZWxKcVBZRmwzc2g1OE9iQVRYOSJ9.AL7pKSTmond-NSPRNNHVbIzTdAnZjOXcjQ-BbOJ_8lsQvF7PuiOUrGIhY5XTcJusisKgbCdtIxBl8Wq1EiQ_fKnUc3JYYOqzpTB5bGoFy0Yqbfu96dneuWyzgZnoQBkqwZkbQTIg7WNTGx1TJX-UTePvBPxAefiAbaEUcigX9tTsXPoRJZOTrm7IOeKpxpB_gQYkxQtV1_NbERxjTPyMbHdMWal9_xRVzSt7mpTGudMN9OR-VtQ1uXA67GOqhZWcOzq57qImOiCMbaoKnKUADevyWjX_VscN5ZZUtzQUQhTrmv8aR69-uVhMIPKp9juMyYKaYn2IsYZEeCWfhfV45Q

Memeriksa token JWT

Anda dapat memeriksa token JWT dengan perintah ini. Lihat juga Memeriksa token.

Penggunaan

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

Parameter

Parameter Jenis Deskripsi
-c, --config String (Wajib) Jalur ke file konfigurasi Apigee Remote Service.
Tips: Flag ini memungkinkan Anda menghilangkan sebagian besar parameter perintah lainnya karena CLI dapat menariknya langsung dari file konfigurasi. Lihat Menggunakan opsi --config.
-e, --env String (Wajib) Lingkungan di organisasi Anda.
-h, --help Menampilkan bantuan untuk parameter perintah.
--insecure Izinkan koneksi server yang tidak aman saat menggunakan SSL.
-o, --org String (Wajib) Organisasi Apigee. Anda harus menjadi administrator org.
-r, --runtime String URL yang menyertakan hostAlias untuk host virtual yang ditentukan dalam konfigurasi hybrid Anda. URL harus diawali dengan https://. Contoh: https://apitest.apigee-hybrid-docs.net
-v, --verbose (Opsional) Menghasilkan output panjang.

Contoh

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

Output

Jika berhasil, Anda akan melihat output yang mirip dengan berikut ini:
{
	"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.

Merotasi token JWT

Terkadang setelah membuat JWT, Anda mungkin perlu mengubah pasangan kunci publik/pribadi yang disimpan oleh Apigee dalam peta nilai kunci (KVM) terenkripsinya. Proses menghasilkan pasangan kunci baru ini disebut rotasi kunci. Saat Anda merotasi kunci, pasangan kunci pribadi/publik baru akan dihasilkan dan disimpan di KVM "istio" di organisasi/lingkungan Apigee Anda. Selain itu, kunci publik lama dipertahankan bersama dengan nilai ID kuncinya.

Penggunaan

Untuk 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 Jenis Deskripsi
-c, --config String (Wajib) Jalur ke file konfigurasi Apigee Remote Service.
Tips: Flag ini memungkinkan Anda menghilangkan sebagian besar parameter perintah lainnya karena CLI dapat menariknya langsung dari file konfigurasi. Lihat Menggunakan opsi --config.
-e, --env String (Wajib) Lingkungan di organisasi Anda.
-h, --help Menampilkan bantuan untuk parameter perintah.
--insecure Izinkan koneksi server yang tidak aman saat menggunakan SSL
--truncate int Jumlah sertifikat yang disimpan dalam jwks (default 2)
-o, --org String (Wajib) Organisasi Apigee. Anda harus menjadi administrator org.
-r, --runtime String URL yang menyertakan hostAlias untuk host virtual yang ditentukan dalam konfigurasi hybrid Anda. URL harus diawali dengan https://. Contoh: https://apitest.apigee-hybrid-docs.net
-v, --verbose (Opsional) Menghasilkan output panjang.

Contoh

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

Menggunakan .netrc untuk kredensial

apigee-remote-service-cli secara otomatis mengambil username dan password (untuk autentikasi dasar jika diperlukan) dari file .netrc di direktori utama jika Anda menggunakan Edge Public Cloud dan memiliki entri untuk mesin api.enterprise.apigee.com. Jika Anda menggunakan Apigee Private Cloud, nilai mesin sama dengan URL management Anda (misalnya: http://192.162.55.100). Misalnya di Edge Public Cloud:
machine api.enterprise.apigee.com
login jdoe@google.com
password abc123
Misalnya di Edge Private Cloud:
machine http://192.162.55.100
login jdoe@google.com
password abc123

Perintah versi

Cetak versi CLI.

apigee-remote-service-cli version

Menggunakan opsi perintah --config

Opsi --config menentukan lokasi file konfigurasi yang dihasilkan oleh perintah provision. Manfaat yang sangat bermanfaat dari opsi ini adalah Anda dapat melewati sebagian besar parameter perintah lainnya, yang diambil CLI dari file konfigurasi. Opsi tersebut mencakup:
  • organisasi
  • environment
  • runtime
  • management
  • tidak aman
  • namespace
  • lama
  • opdk

Misalnya, Anda dapat menjalankan perintah provision seperti ini:

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

File konfigurasi

Bagian ini menunjukkan contoh file konfigurasi dengan semua opsi yang tersedia.

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