Referência

Esta página aplica-se ao Apigee e ao Apigee Hybrid.

Veja a documentação do Apigee Edge.

A apigee-remote-service-cliinterface de linhas de comando (CLI) ajuda a aprovisionar e gerir o adaptador do Apigee para o Envoy.

Comandos de associação

A associação associa um serviço implementado na malha do Istio a um produto de API do Apigee. A CLI permite-lhe criar, remover e listar associações.

Nota: na IU de criação de produtos, pode especificar um ou mais serviços com um produto. Esta ação é equivalente à criação da associação através da CLI.

Adicione uma vinculação

Adiciona uma associação de destino remoto a um produto API.

Utilização

Para o Apigee Hybrid:

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

Parâmetros

Parâmetros Tipo Descrição
-c, --config String (Obrigatório) O caminho para o ficheiro de configuração do serviço remoto do Apigee. Dica: quando especifica esta opção, pode omitir a maioria dos outros parâmetros de comando. Consulte Usar a opção --config.
-e, --env String (Obrigatório) Um ambiente na sua organização.
-h, --help Apresenta ajuda para os parâmetros do comando.
--insecure Permitir ligações inseguras ao servidor quando usar SSL
--legacy Defina esta flag se estiver a usar o Apigee Cloud. Define os URLs de gestão e de tempo de execução para a nuvem de limite.
--opdk Defina esta flag se estiver a usar o Apigee para a nuvem privada.
-o, --org String (Obrigatório) Uma organização do Apigee. Tem de ser um administrador da organização.
-p, --password String (Obrigatório apenas para a autenticação básica) A sua palavra-passe do Apigee. Opcionalmente, pode especificar a palavra-passe num ficheiro .netrc. Se o fizer, não tem de introduzir a palavra-passe na linha de comandos. Veja também Usar .netrc para credenciais.
-r, --runtime String URL base do tempo de execução do Apigee (obrigatório para o híbrido ou o OPDK).
-t, --token String (Obrigatório apenas para autenticação de tokens OAuth) Um token OAuth ou SAML que gera a partir das informações da sua conta do Apigee. Para obter informações sobre como gerar tokens, consulte os artigos Obter uma chave de acesso de OAuth 2.0 e Vista geral do SAML.
-u, --username String (Obrigatório apenas para a autenticação básica) O seu nome de utilizador do Apigee (normalmente, um endereço de email). Opcionalmente, pode especificar o nome de utilizador num ficheiro .netrc. Se o fizer, não tem de fornecer o seu nome de utilizador na linha de comandos. Consulte também o artigo Usar o .netrc para credenciais.
-v, --verbose (Opcional) Produz uma saída detalhada.

Exemplo

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

Listar associações

Indique todos os produtos API associados ao serviço remoto.

Utilização

Parâmetros

Parâmetros Tipo Descrição
-c, --config String (Obrigatório) O caminho para o ficheiro de configuração do serviço remoto do Apigee. Dica: quando especifica esta opção, pode omitir a maioria dos outros parâmetros de comando. Consulte Usar a opção --config.
-e, --env String (Obrigatório) Um ambiente na sua organização.
-h, --help Apresenta ajuda para os parâmetros do comando.
--insecure Permitir ligações inseguras ao servidor quando usar SSL
--legacy Defina esta flag se estiver a usar o Apigee Cloud. Define os URLs de gestão e de tempo de execução para a nuvem de limite.
--opdk Defina esta flag se estiver a usar o Apigee para a nuvem privada.
-o, --org String (Obrigatório) Uma organização do Apigee. Tem de ser um administrador da organização.
-p, --password String (Obrigatório apenas para a autenticação básica) A sua palavra-passe do Apigee. Opcionalmente, pode especificar a palavra-passe num ficheiro .netrc. Se o fizer, não tem de introduzir a palavra-passe na linha de comandos. Veja também Usar .netrc para credenciais.
-r, --runtime String URL base do tempo de execução do Apigee (obrigatório para o híbrido ou o OPDK).
-t, --token String (Obrigatório apenas para autenticação de tokens OAuth) Um token OAuth ou SAML que gera a partir das informações da sua conta do Apigee. Para obter informações sobre como gerar tokens, consulte os artigos Obter uma chave de acesso de OAuth 2.0 e Vista geral do SAML.
-u, --username String (Obrigatório apenas para a autenticação básica) O seu nome de utilizador do Apigee (normalmente, um endereço de email). Opcionalmente, pode especificar o nome de utilizador num ficheiro .netrc. Se o fizer, não tem de fornecer o seu nome de utilizador na linha de comandos. Consulte também o artigo Usar o .netrc para credenciais.
-v, --verbose (Opcional) Produz uma saída detalhada.

Exemplo

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:

Remova uma vinculação

Remova a associação do serviço remoto para o Envoy de um produto de API.

Nota: também pode remover um serviço remoto para a associação do Envoy removendo o nome do serviço do produto na IU.

Utilização

Para o Apigee Hybrid:

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

Parâmetros

Parâmetros Tipo Descrição
-c, --config String (Obrigatório) O caminho para o ficheiro de configuração do serviço remoto do Apigee. Dica: quando especifica esta opção, pode omitir a maioria dos outros parâmetros de comando. Consulte Usar a opção --config.
-e, --env String (Obrigatório) Um ambiente na sua organização.
-h, --help Apresenta ajuda para os parâmetros do comando.
--insecure Permitir ligações inseguras ao servidor quando usar SSL
--legacy Defina esta flag se estiver a usar o Apigee Cloud. Define os URLs de gestão e de tempo de execução para a nuvem de limite.
--opdk Defina esta flag se estiver a usar o Apigee para a nuvem privada.
-o, --org String (Obrigatório) Uma organização do Apigee. Tem de ser um administrador da organização.
-p, --password String (Obrigatório apenas para a autenticação básica) A sua palavra-passe do Apigee. Opcionalmente, pode especificar a palavra-passe num ficheiro .netrc. Se o fizer, não tem de introduzir a palavra-passe na linha de comandos. Veja também Usar .netrc para credenciais.
-r, --runtime String URL base do tempo de execução do Apigee (obrigatório para o híbrido ou o OPDK).
-t, --token String (Obrigatório apenas para autenticação de tokens OAuth) Um token OAuth ou SAML que gera a partir das informações da sua conta do Apigee. Para obter informações sobre como gerar tokens, consulte os artigos Obter uma chave de acesso de OAuth 2.0 e Vista geral do SAML.
-u, --username String (Obrigatório apenas para a autenticação básica) O seu nome de utilizador do Apigee (normalmente, um endereço de email). Opcionalmente, pode especificar o nome de utilizador num ficheiro .netrc. Se o fizer, não tem de fornecer o seu nome de utilizador na linha de comandos. Consulte também o artigo Usar o .netrc para credenciais.
-v, --verbose (Opcional) Produz uma saída detalhada.

Exemplo

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

Comando de ajuda

A ajuda online é fornecida para todos os comandos apigee-remote-service-cli. Basta escrever:

apigee-remote-service-cli help

Para obter ajuda sobre qualquer comando, escreva:

apigee-remote-service-cli [command] help

Por exemplo:

apigee-remote-service-cli provision help

Comando de aprovisionamento

O comando apigee-remote-service-cli provision instala um proxy na sua organização do Apigee, configura um certificado e gera credenciais que tem de configurar no adaptador do Apigee para o Envoy.

Utilização

Parâmetros

Parâmetros Tipo Descrição
-c, --config String Caminho para o ficheiro de configuração do serviço remoto do Apigee. Dica: quando especifica esta opção, pode omitir a maioria dos outros parâmetros de comando. Consulte Usar a opção --config.
-e, --environment String (Obrigatório) Um ambiente na sua organização.
-f, --force-proxy-install (Opcional) Força a reinstalação do proxy remote-service se já estiver instalado na sua organização.
-h, --help Apresenta ajuda para os parâmetros do comando.
-k, --key String Especifica a chave devolvida pelo comando apigee-remote-service-cli provision.
--legacy Apigee Edge (define o URL de gestão e de tempo de execução)
-m, --management String (Obrigatório se estiver no Apigee Private Cloud) O URL base de gestão do Apigee. Predefinição: https://api.enterprise.apigee.com
-n, --namespace String emitir a configuração como um ConfigMap do Envoy no espaço de nomes especificado.
--opdk String Apigee OPDK.
-o, --organization String (Obrigatório) A sua organização do Apigee. Tem de ser um administrador da organização.
-p, --password String (Obrigatório apenas para a autenticação básica) A sua palavra-passe do Apigee. Opcionalmente, pode especificar a palavra-passe num ficheiro .netrc. Se o fizer, não tem de introduzir a palavra-passe na linha de comandos. Veja também Usar .netrc para credenciais.
--rotate-int int Se n > 0, gere uma nova chave privada e mantenha n chaves públicas (apenas híbrido)
-r, --runtime String URL base do tempo de execução do Apigee (obrigatório para o híbrido ou o OPDK)
-s, --secret String Especifica o segredo devolvido pelo comando apigee-remote-service-cli provision.
--strength int (Opcional) Especifica a intensidade da encriptação para os certificados SSL usados no aprovisionamento do adaptador. Predefinição 2048
-t, --token String (Apenas híbrido) Token OAuth ou SAML do Apigee.
-u, --username String (Obrigatório apenas para a autenticação básica) O seu nome de utilizador do Apigee (normalmente, um endereço de email). Opcionalmente, pode especificar o nome de utilizador num ficheiro .netrc. Consulte também o artigo Usar o .netrc para credenciais.
-v, --verbose (Opcional) Produz uma saída detalhada.
--virtual-hosts String Substitui os anfitriões virtuais predefinidos.
--years int (Opcional) O número de anos antes da expiração do certificado SSL usado no aprovisionamento. Predefinição: 1

Exemplo

Certifique-se de que captura a saída do comando provision num ficheiro, que é usado como entrada para outras operações do Apigee Adapter for Envoy.

Exemplo do Apigee Hybrid:

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

Comandos de token

Pode usar um token JWT para fazer chamadas de proxy de API autenticadas em vez de usar uma chave da API. Os comandos de token permitem-lhe criar, inspecionar e rodar tokens JWT para este fim.

Crie um token JWT

Pode usar um token JWT para fazer chamadas de proxy de API autenticadas para um destino de serviço remoto. Consulte também o artigo Usar a autenticação baseada em JWT.

Utilização

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

Parâmetros

Parâmetros Tipo Descrição
-c, --config String (Obrigatório) O caminho para o ficheiro de configuração do serviço remoto do Apigee. Dica: quando especifica esta opção, pode omitir a maioria dos outros parâmetros de comando. Consulte Usar a opção --config.
-e, --env String (Obrigatório) Um ambiente na sua organização.
-h, --help Apresenta ajuda para os parâmetros do comando.
--insecure Permitir ligações inseguras ao servidor quando usar SSL.
-o, --org String (Obrigatório) Uma organização do Apigee. Tem de ser um administrador da organização.
-r, --runtime String URL de base do tempo de execução do Apigee (obrigatório apenas para híbrido ou OPDK).
-v, --verbose (Opcional) Produz uma saída detalhada.

Exemplo

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

Resultado

Se for bem-sucedido, verá um resultado do token JST semelhante ao seguinte:
eyJraWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhY2Nlc3NfdG9rZW4iOiJ0a2tlVzVKQTY2a0pZYTB4bFV1cVBsUW1BMU43IiwiYXVkIjoiaXN0aW8iLCJuYmYiOjE1MzAxMzg1OTEsImFwaV9wcm9kdWN0X2xpc3QiOlsiaXN0aW8tcHJvZHVjdCJdLCJhcHBsaWNhdGlvbl9uYW1lIjoiaXN0aW8tYXBwIiwiZGV2ZWxvcGVyX2VtYWlsIjoicFluZ2Zsb3lkQGdvb2dsZS5jb20iLCJpc3MiOiJodHRwczovL2FwaWdlZXNlYXJjaC10ZXN0LmFwaWdlZS5uZXQvaXN0aW8tYXV0aC90b2tlbiIsImV4cCI6MTUzMDEzOTQ5MSwiaWF0IjoxNTMwMTM4NTkxLCJqdGkiOiIxODgzMzViZi0wMmE4LTRjZGUsOGFkOS0yMWJmNDZjNmRjZDkiLCJjbGllbnRfaWQiOiJZVW1sWkFjQktOc1RBZWxKcVBZRmwzc2g1OE9iQVRYOSJ9.AL7pKSTmond-NSPRNNHVbIzTdAnZjOXcjQ-BbOJ_8lsQvF7PuiOUrGIhY5XTcJusisKgbCdtIxBl8Wq1EiQ_fKnUc3JYYOqzpTB5bGoFy0Yqbfu96dneuWyzgZnoQBkqwZkbQTIg7WNTGx1TJX-UTePvBPxAefiAbaEUcigX9tTsXPoRJZOTrm7IOeKpxpB_gQYkxQtV1_NbERxjTPyMbHdMWal9_xRVzSt7mpTGudMN9OR-VtQ1uXA67GOqhZWcOzq57qImOiCMbaoKnKUADevyWjX_VscN5ZZUtzQUQhTrmv8aR69-uVhMIPKp9juMyYKaYn2IsYZEeCWfhfV45Q

Inspecione um token JWT

Pode inspecionar um token JWT com este comando. Veja também Inspecione um token.

Utilização

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

Parâmetros

Parâmetros Tipo Descrição
-c, --config String (Obrigatório) O caminho para o ficheiro de configuração do serviço remoto do Apigee. Dica: quando especifica esta opção, pode omitir a maioria dos outros parâmetros de comando. Consulte Usar a opção --config.
-e, --env String (Obrigatório) Um ambiente na sua organização.
-h, --help Apresenta ajuda para os parâmetros do comando.
--insecure Permitir ligações inseguras ao servidor quando usar SSL.
-o, --org String (Obrigatório) Uma organização do Apigee. Tem de ser um administrador da organização.
-r, --runtime String URL de base do tempo de execução do Apigee (obrigatório apenas para híbrido ou OPDK).
-v, --verbose (Opcional) Produz uma saída detalhada.

Exemplo

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

Resultado

Se for bem-sucedido, vê um resultado semelhante ao seguinte:
{
	"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.

Alterne um token JWT

Algum tempo depois de gerar inicialmente um JWT, pode ter de alterar o par de chaves públicas/privadas armazenado pelo Apigee no respetivo mapa de chave-valor (KVM) encriptado. Este processo de geração de um novo par de chaves chama-se rotação de chaves. Quando roda as chaves, é gerado um novo par de chaves públicas/privadas e armazenado no KVM "istio" na sua organização/ambiente do Apigee. Além disso, a chave pública antiga é mantida juntamente com o valor do ID da chave original.

Utilização

Parâmetros

Parâmetros Tipo Descrição
-c, --config String (Obrigatório) O caminho para o ficheiro de configuração do serviço remoto do Apigee. Dica: quando especifica esta opção, pode omitir a maioria dos outros parâmetros de comando. Consulte Usar a opção --config.
-e, --env String (Obrigatório) Um ambiente na sua organização.
-h, --help Apresenta ajuda para os parâmetros do comando.
--insecure Permitir ligações inseguras ao servidor quando usar SSL
--truncate int Número de certificados a manter em jwks (predefinição: 2)
-o, --org String (Obrigatório) Uma organização do Apigee. Tem de ser um administrador da organização.
-r, --runtime String URL base do tempo de execução do Apigee (obrigatório para o híbrido ou o OPDK).
-v, --verbose (Opcional) Produz uma saída detalhada.

Exemplo

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

Resultado

certificate successfully rotated

Usar o ficheiro .netrc para credenciais

apigee-remote-service-cli seleciona automaticamente o username e password (para autenticação básica, quando necessário) de um ficheiro .netrc no seu diretório inicial se estiver no Apigee e tiver uma entrada para a máquina api.enterprise.apigee.com. Se estiver no Apigee Private Cloud, o valor da máquina é igual ao seu URL management (por exemplo: http://192.162.55.100).

Comando de versão

Imprima a versão da CLI.

apigee-remote-service-cli version

Usar a opção de comando --config

A opção --config especifica a localização do ficheiro de configuração gerado pelo comando provision. Uma vantagem útil desta opção é que permite ignorar a maioria dos outros parâmetros de comando, que a CLI extrai do ficheiro de configuração. Estas opções incluem:
  • organização
  • ambiente
  • tempo de execução
  • gestão
  • inseguro
  • espaço de nome
  • antigo
  • opdk

Por exemplo, pode executar o comando provision da seguinte forma:

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

Ficheiro de configuração

Esta secção mostra um ficheiro de configuração de exemplo com todas as opções disponíveis.

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