Ссылка

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Интерфейс командной строки (CLI) apigee-remote-service-cli помогает вам предоставлять адаптер Apigee для Envoy и управлять им.

Привязка команд

Привязка связывает сервис, развернутый в ячейке Istio, с продуктом API Apigee. CLI позволяет вам перечислять и проверять привязки.

Список привязок

Перечислите все продукты API, привязанные к удаленной службе.

Использование

Для публичного облака Edge:

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

Для Edge Private Cloud:

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

Параметры

Параметры Тип Описание
-c, --config Нить (Обязательно) Путь к файлу конфигурации Apigee Remote Service.
Совет : этот флаг позволяет вам опустить большинство других параметров команды, поскольку CLI может получить их непосредственно из файла конфигурации. См. Использование параметра --config ..
-e, --env Нить (Обязательно) Среда в вашей организации.
-h, --help Отображает справку по параметрам команды.
--insecure Разрешить небезопасные подключения к серверу при использовании SSL
--legacy Установите этот флаг, если вы используете Apigee Edge Cloud. Он устанавливает URL-адреса управления и среды выполнения для Edge Cloud.
--mfa Токен многофакторной авторизации Apigee (используется только с --legacy )
--opdk Установите этот флаг, если вы используете Apigee Edge для частного облака.
-o, --org Нить (Обязательно) Организация Apigee. Вы должны быть администратором организации.
-p, --password Нить (Требуется только для базовой аутентификации) Ваш пароль Apigee. При желании вы можете указать пароль в файле .netrc . Если вы это сделаете, вам не потребуется вводить пароль в командной строке. См. также Использование .netrc для учетных данных .
-r, --runtime Нить (Только для частного облака) Указывает URL-адрес среды выполнения для вашего экземпляра частного облака.
-t, --token Нить (Требуется только для аутентификации по токену OAuth) Токен OAuth или SAML, который вы создаете на основе информации своей учетной записи Apigee. Информацию о создании токенов см. в разделах «Использование get_token» и «Доступ к API управления с помощью SAML» .
-u, --username Нить (Требуется только для базовой аутентификации) Ваше имя пользователя Apigee (обычно адрес электронной почты). При желании вы можете указать имя пользователя в файле .netrc . Если вы это сделаете, вам не потребуется указывать свое имя пользователя в командной строке. См. также Использование .netrc для учетных данных .
-v, --verbose (Необязательно) Выдает подробный вывод.

Пример

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:

Проверка привязки

Эта команда устарела. В версии 1.4 приложениям разработчиков больше не требуется связь с продуктами API, которые используются с целевыми объектами удаленных служб.

Команда помощи

Для всех команд apigee-remote-service-cli предоставляется онлайн-справка. Просто введите:

apigee-remote-service-cli help

Для получения справки по любой команде введите:

apigee-remote-service-cli [command] help

Например:

apigee-remote-service-cli provision help

Команда предоставления

Команда apigee-remote-service-cli provision устанавливает прокси-сервер в вашей организации Apigee Edge, настраивает сертификат и генерирует учетные данные, которые вам понадобятся для настройки адаптера Apigee для Envoy.

Использование

Если вы используете публичное облако Edge:

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

Если вы используете Edge Private Cloud:

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

Параметры

Параметры Тип Описание
--analytics-sa Нить Этот флаг доступен только для гибридных установок Apigee и Apigee в Google Cloud.

Используйте этот флаг, чтобы указать путь к файлу ключей учетной записи службы Google Cloud, где учетная запись службы имеет роль Apigee Analytics Agent . SA используется адаптером для прямой загрузки аналитических данных в Apigee. Если вы используете гибрид Apigee, этот вариант позволяет вам установить гибридную среду выполнения в одном кластере, а адаптер — в другом кластере.

-c, --config Нить Путь к файлу конфигурации Apigee Remote Service. См. также Использование параметра --config .
-e, --environment Нить (Обязательно) Среда в вашей организации.
-f, --force-proxy-install (Необязательно) Принудительно переустанавливает прокси remote-service , если он уже установлен в вашей организации.
-h, --help Отображает справку по параметрам команды.
-k, --key Нить Указывает ключ, возвращаемый командой apigee-remote-service-cli provision .
--legacy Установите этот флаг, если вы используете Apigee Edge Cloud. Он устанавливает URL-адреса управления и среды выполнения для Edge Cloud.
--mfa Токен многофакторной авторизации Apigee (используется только с --legacy )
-m, --management Нить (Необходимо, если вы используете частное облако Apigee) URL-адрес вашей базы управления Apigee. По умолчанию: https://api.enterprise.apigee.com
-n, --namespace Нить Создайте конфигурацию как Envoy ConfigMap в указанном пространстве имен. По умолчанию: апигей
--opdk Нить Апигей ОПДК.
-o, --organization Нить (Обязательно) Ваша организация Apigee. Вы должны быть администратором организации.
-p, --password Нить (Требуется только для базовой аутентификации) Ваш пароль Apigee. При желании вы можете указать пароль в файле .netrc . Если вы это сделаете, вам не потребуется вводить пароль в командной строке. См. также Использование .netrc для учетных данных .
--rotate-int интервал Если n > 0, сгенерируйте новый закрытый ключ и сохраните n открытых ключей (только гибридный вариант).
-r, --runtime Нить (Только для частного облака) Указывает URL-адрес среды выполнения для вашего экземпляра частного облака.
-s, --secret Нить Указывает секрет, возвращаемый командой apigee-remote-service-cli provision .
--strength интервал (Необязательно) Указывает уровень шифрования для сертификатов SSL, используемых при подготовке адаптера. По умолчанию 2048
-t, --token Нить (Только гибридный вариант) Токен Apigee OAuth или SAML.
-u, --username Нить (Требуется только для базовой аутентификации) Ваше имя пользователя Apigee (обычно адрес электронной почты). При желании вы можете указать имя пользователя в файле .netrc . См. также Использование .netrc для учетных данных .
-v, --verbose (Необязательно) Выводит подробный вывод.
--virtual-hosts Нить Переопределяет виртуальные хосты по умолчанию, которые являются default,secure . Используйте этот параметр, если для вашей организации Edge указаны виртуальные хосты, отличные от этих значений по умолчанию. Дополнительную информацию о виртуальных хостах см. в документации Edge .
--years интервал (Необязательно) Количество лет до истечения срока действия SSL-сертификата, использованного при подготовке. По умолчанию: 1

Пример

Обязательно запишите выходные данные команды provision в файл, который будет использоваться в качестве входных данных для других операций Apigee Adaptor for Envoy.

Пример публичного облака Edge:

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

Команда «Образцы»

Создает примеры файлов конфигурации для собственных развертываний Envoy или Istio.

Использование

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

Описание

Для этой команды требуется действительный файл config.yaml , созданный при подготовке. По умолчанию файлы примеров выводятся в каталог с именем ./samples . Команда создает для вас этот каталог.

Если вы используете собственный Envoy, команда принимает целевой хост службы и желаемое имя для его кластера. Он также устанавливает пользовательское SSL-соединение от прокси-сервера Envoy к кластеру удаленных служб, если папка, содержащая tls.key и tls.crt , предоставляется через --tls .

Если вы используете Istio, где прокси-сервер Envoy действует как вспомогательный сервер, и если цель не указана, будет создан пример httpbin . В противном случае вы несете ответственность за подготовку файлов конфигурации, связанных с развертыванием целевых служб.

Параметры

Параметры Тип Описание
-c, --config Нить (Обязательно) Путь к файлу конфигурации Apigee Remote Service.
Совет : этот флаг позволяет вам опустить большинство других параметров команды, поскольку CLI может получить их непосредственно из файла конфигурации. См. Использование параметра --config .
-f, --force Принудительно перезаписать существующий каталог.
-h, --help Отображает справку по параметрам команды.
--host Целевой хост службы (по умолчанию «httpbin.org»).
-n, --name Имя целевой службы (по умолчанию «httpbin»)
--out Каталог, в котором будут созданы примеры файлов конфигурации. По умолчанию: ./samples
-t, --template

Имя шаблона. Если вы выполняете развертывание Istio (только гибридная версия), выберите один из доступных вариантов Istio. Используйте собственный вариант для собственных развертываний Envoy. Доступные варианты:

  • istio-1.6 (по умолчанию)
  • istio-1.7
  • native
--tls Каталог, в котором будут храниться файлы ключа TLS и crt.

Пример

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

Список доступных вариантов шаблона

Перечисляет параметры, доступные для использования с параметром --templates .

Использование

apigee-remote-service-cli samples templates

Параметры

Никто.

Пример

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

Команды токена

Вы можете использовать токен JWT для выполнения аутентифицированных вызовов прокси-сервера API вместо использования ключа API. Для этой цели команды токена позволяют создавать, проверять и вращать токены JWT.

Создайте токен JWT

Вы можете использовать токен JWT для выполнения аутентифицированных вызовов прокси-сервера API к удаленной цели службы. См. также Использование аутентификации на основе JWT .

Использование

Для публичного облака Edge:
apigee-remote-service-cli token create -c [config_file] --id [consumer_key] --secret [consumer_secret] -o [org] -e [env]
Для Edge Private Cloud:
apigee-remote-service-cli token create -c [config_file] --id [consumer_key] --secret [consumer_secret] -r [runtime] -o [org] -e [env]

Параметры

Параметры Тип Описание
-c, --config Нить (Обязательно) Путь к файлу конфигурации Apigee Remote Service.
Совет : этот флаг позволяет вам опустить большинство других параметров команды, поскольку CLI может получить их непосредственно из файла конфигурации. См. Использование параметра --config .
-e, --env Нить (Обязательно) Среда в вашей организации.
-h, --help Отображает справку по параметрам команды.
--insecure Разрешить небезопасные подключения к серверу при использовании SSL.
-o, --org Нить (Обязательно) Организация Apigee. Вы должны быть администратором организации.
-r, --runtime Нить (Только для частного облака) Указывает URL-адрес среды выполнения для вашего экземпляра частного облака.
-v, --verbose (Необязательно) Выдает подробный вывод.

Пример

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

Выход

В случае успеха вы увидите вывод токена JST, аналогичный следующему:
eyJraWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhY2Nlc3NfdG9rZW4iOiJ0a2tlVzVKQTY2a0pZYTB4bFV1cVBsUW1BMU43IiwiYXVkIjoiaXN0aW8iLCJuYmYiOjE1MzAxMzg1OTEsImFwaV9wcm9kdWN0X2xpc3QiOlsiaXN0aW8tcHJvZHVjdCJdLCJhcHBsaWNhdGlvbl9uYW1lIjoiaXN0aW8tYXBwIiwiZGV2ZWxvcGVyX2VtYWlsIjoicFluZ2Zsb3lkQGdvb2dsZS5jb20iLCJpc3MiOiJodHRwczovL2FwaWdlZXNlYXJjaC10ZXN0LmFwaWdlZS5uZXQvaXN0aW8tYXV0aC90b2tlbiIsImV4cCI6MTUzMDEzOTQ5MSwiaWF0IjoxNTMwMTM4NTkxLCJqdGkiOiIxODgzMzViZi0wMmE4LTRjZGUsOGFkOS0yMWJmNDZjNmRjZDkiLCJjbGllbnRfaWQiOiJZVW1sWkFjQktOc1RBZWxKcVBZRmwzc2g1OE9iQVRYOSJ9.AL7pKSTmond-NSPRNNHVbIzTdAnZjOXcjQ-BbOJ_8lsQvF7PuiOUrGIhY5XTcJusisKgbCdtIxBl8Wq1EiQ_fKnUc3JYYOqzpTB5bGoFy0Yqbfu96dneuWyzgZnoQBkqwZkbQTIg7WNTGx1TJX-UTePvBPxAefiAbaEUcigX9tTsXPoRJZOTrm7IOeKpxpB_gQYkxQtV1_NbERxjTPyMbHdMWal9_xRVzSt7mpTGudMN9OR-VtQ1uXA67GOqhZWcOzq57qImOiCMbaoKnKUADevyWjX_VscN5ZZUtzQUQhTrmv8aR69-uVhMIPKp9juMyYKaYn2IsYZEeCWfhfV45Q

Проверка токена JWT

Вы можете проверить токен JWT с помощью этой команды. См. также Проверка токена .

Использование

Для публичного облака Edge:
apigee-remote-service-cli token inspect -o [organization] -e [environment] -f [token_file]
Для Edge Private Cloud:
apigee-remote-service-cli token inspect -o [organization] -e [environment] -f [token_file] --runtime [host_alias]

Параметры

Параметры Тип Описание
-c, --config Нить (Обязательно) Путь к файлу конфигурации Apigee Remote Service.
Совет : этот флаг позволяет вам опустить большинство других параметров команды, поскольку CLI может получить их непосредственно из файла конфигурации. См. Использование параметра --config .
-e, --env Нить (Обязательно) Среда в вашей организации.
-h, --help Отображает справку по параметрам команды.
--insecure Разрешить небезопасные подключения к серверу при использовании SSL.
-o, --org Нить (Обязательно) Организация Apigee. Вы должны быть администратором организации.
-r, --runtime Нить (Только для частного облака) Указывает URL-адрес среды выполнения для вашего экземпляра частного облака.
-v, --verbose (Необязательно) Выдает подробный вывод.

Пример

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

Выход

В случае успеха вы увидите вывод, аналогичный следующему:
{
	"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

Через некоторое время после первоначального создания JWT вам может потребоваться изменить пару открытого и закрытого ключей, хранящуюся в Apigee Edge в его зашифрованной карте ключ-значение (KVM). Этот процесс создания новой пары ключей называется ротацией ключей. При ротации ключей создается новая пара частного/открытого ключей, которая сохраняется в KVM «istio» в вашей организации/среде Apigee Edge. Кроме того, старый открытый ключ сохраняется вместе с исходным значением идентификатора ключа.

Использование

Если вы используете публичное облако Edge:
apigee-remote-service-cli token rotate-cert -c [config_file] -o [organization] -e [environment] -k [provision_key] -s [provision_secret] --kid [new_key_id]
Если вы используете 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]

Параметры

Параметры Тип Описание
-c, --config Нить (Обязательно) Путь к файлу конфигурации Apigee Remote Service.
Совет : этот флаг позволяет вам опустить большинство других параметров команды, поскольку CLI может получить их непосредственно из файла конфигурации. См. Использование параметра --config .
-e, --env Нить (Обязательно) Среда в вашей организации.
-h, --help Отображает справку по параметрам команды.
--insecure Разрешить небезопасные подключения к серверу при использовании SSL
--truncate интервал Количество сертификатов, сохраняемых в jwks (по умолчанию 2)
-o, --org Нить (Обязательно) Организация Apigee. Вы должны быть администратором организации.
-r, --runtime Нить (Только для частного облака) Указывает URL-адрес среды выполнения для вашего экземпляра частного облака.
-v, --verbose (Необязательно) Выдает подробный вывод.

Пример

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

Выход

certificate successfully rotated

Использование .netrc для учетных данных

apigee-remote-service-cli автоматически выбирает username и password (при необходимости для базовой аутентификации) из файла .netrc в вашем домашнем каталоге, если вы находитесь в публичном облаке Edge и у вас есть запись для машины api.enterprise.apigee.com . Если вы находитесь в частном облаке Apigee, значение компьютера совпадает с вашим URL-адресом management (например: http://192.162.55.100 ). Например, в публичном облаке Edge:
machine api.enterprise.apigee.com
login jdoe@google.com
password abc123
Например, в Edge Private Cloud:
machine http://192.162.55.100
login jdoe@google.com
password abc123

Команда версии

Распечатайте версию CLI.

apigee-remote-service-cli version

Использование опции команды --config

Опция --config указывает расположение файла конфигурации, созданного командой provision . Полезным преимуществом этой опции является то, что она позволяет пропустить большинство других параметров команды, которые CLI извлекает из файла конфигурации. Эти параметры включают в себя:
  • организация
  • среда
  • время выполнения
  • управление
  • ненадежный
  • пространство имен
  • наследие
  • опдк

Например, вы можете выполнить команду provision следующим образом:

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

Конфигурационный файл

В этом разделе показан пример файла конфигурации со всеми доступными параметрами.

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