Esta página se aplica à Apigee e à Apigee híbrida.
Confira a documentação da
Apigee Edge.
A interface de linha de comando (CLI) apigee-remote-service-cli ajuda você a provisionar e gerenciar o adaptador da Apigee para Envoy.
Como vincular comandos
A vinculação associa um serviço implantado à malha do Istio a um produto da API da Apigee. A CLI permite criar, remover e listar vinculações.
Observação: na IU Create Product, você pode especificar um ou mais serviços com um produto. Isso é equivalente à criação da vinculação usando a CLI.Adicionar uma vinculação
Adiciona uma vinculação de destino remoto a um produto da API.
Uso
Para a Apigee híbrida:
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 do arquivo de configuração do serviço remoto da Apigee. Dica: ao especificar
essa opção, é possível omitir a maioria dos outros parâmetros de comando. Consulte
Como usar a opção --config.
|
-e, --env
|
String | (Obrigatório) Um ambiente na organização. |
-h, --help
|
Exibe a ajuda dos parâmetros de comando. | |
--insecure
|
Permite conexões de servidor não seguras ao usar SSL. | |
--legacy
|
Defina essa sinalização se você estiver usando o Apigee Cloud.s Ela define os URLs de gerenciamento e ambiente de execução para o Edge Cloud. | |
--opdk
|
Defina essa sinalização se você estiver usando a Apigee para nuvem privada. | |
-o, --org
|
String | (Obrigatório) Uma organização da Apigee. Você precisa ser um administrador da organização. |
-p, --password
|
String | (Obrigatório apenas para autenticação básica) Sua senha da Apigee. Também é possível especificar
a senha em um arquivo .netrc. Se fizer isso, você não precisará inserir sua
senha na linha de comando. Consulte também
Como usar o .netrc para credenciais.
|
-r, --runtime
|
String | URL de base do ambiente de execução da Apigee (obrigatório para híbrido ou opdk). |
-t, --token
|
String | (Obrigatório apenas para autenticação de token OAuth) Um token OAuth ou SAML gerado a partir das informações da sua conta da Apigee. Para informações sobre como gerar tokens, consulte Como receber um token de acesso do OAuth 2.0 e Visão geral do SAML. |
-u, --username
|
String | (Obrigatório apenas para autenticação básica) Seu nome de usuário da Apigee (normalmente um endereço de e-mail).
Também é possível especificar o nome de usuário em um arquivo .netrc. Se fizer isso,
você não precisará inserir seu nome de usuário na linha de comando. Consulte
também Como usar o .netrc para credenciais.
|
-v, --verbose
|
(Opcional) Gera 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 vinculações
Lista todos os produtos de API que estão vinculados ao serviço remoto.
Uso
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
-c, --config
|
String | (Obrigatório) O caminho do arquivo de configuração do serviço remoto da Apigee. Dica: ao especificar
essa opção, é possível omitir a maioria dos outros parâmetros de comando. Consulte
Como usar a opção --config.
|
-e, --env
|
String | (Obrigatório) Um ambiente na organização. |
-h, --help
|
Exibe a ajuda dos parâmetros de comando. | |
--insecure
|
Permite conexões de servidor não seguras ao usar SSL. | |
--legacy
|
Defina essa sinalização se você estiver usando o Apigee Cloud.s Ela define os URLs de gerenciamento e ambiente de execução para o Edge Cloud. | |
--opdk
|
Defina essa sinalização se você estiver usando a Apigee para nuvem privada. | |
-o, --org
|
String | (Obrigatório) Uma organização da Apigee. Você precisa ser um administrador da organização. |
-p, --password
|
String | (Obrigatório apenas para autenticação básica) Sua senha da Apigee. Também é possível especificar
a senha em um arquivo .netrc. Se fizer isso, você não precisará inserir sua
senha na linha de comando. Consulte também
Como usar o .netrc para credenciais.
|
-r, --runtime
|
String | URL de base do ambiente de execução da Apigee (obrigatório para híbrido ou opdk). |
-t, --token
|
String | (Obrigatório apenas para autenticação de token OAuth) Um token OAuth ou SAML gerado a partir das informações da sua conta da Apigee. Para informações sobre como gerar tokens, consulte Como receber um token de acesso do OAuth 2.0 e Visão geral do SAML. |
-u, --username
|
String | (Obrigatório apenas para autenticação básica) Seu nome de usuário da Apigee (normalmente um endereço de e-mail).
Também é possível especificar o nome de usuário em um arquivo .netrc. Se fizer isso,
você não precisará inserir seu nome de usuário na linha de comando. Consulte
também Como usar o .netrc para credenciais.
|
-v, --verbose
|
(Opcional) Gera 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:
Remover uma vinculação
Remova a vinculação do serviço remoto do Envoy de um produto de API.
Observação: você também pode remover uma vinculação do serviço remoto para o Envoy removendo o nome do serviço do produto na IU.Uso
Para a Apigee híbrida:
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 do arquivo de configuração do serviço remoto da Apigee. Dica: ao especificar
essa opção, é possível omitir a maioria dos outros parâmetros de comando. Consulte
Como usar a opção --config.
|
-e, --env
|
String | (Obrigatório) Um ambiente na organização. |
-h, --help
|
Exibe a ajuda dos parâmetros de comando. | |
--insecure
|
Permite conexões de servidor não seguras ao usar SSL. | |
--legacy
|
Defina essa sinalização se você estiver usando o Apigee Cloud.s Ela define os URLs de gerenciamento e ambiente de execução para o Edge Cloud. | |
--opdk
|
Defina essa sinalização se você estiver usando a Apigee para nuvem privada. | |
-o, --org
|
String | (Obrigatório) Uma organização da Apigee. Você precisa ser um administrador da organização. |
-p, --password
|
String | (Obrigatório apenas para autenticação básica) Sua senha da Apigee. Também é possível especificar
a senha em um arquivo .netrc. Se fizer isso, você não precisará inserir sua
senha na linha de comando. Consulte também
Como usar o .netrc para credenciais.
|
-r, --runtime
|
String | URL de base do ambiente de execução da Apigee (obrigatório para híbrido ou opdk). |
-t, --token
|
String | (Obrigatório apenas para autenticação de token OAuth) Um token OAuth ou SAML gerado a partir das informações da sua conta da Apigee. Para informações sobre como gerar tokens, consulte Como receber um token de acesso do OAuth 2.0 e Visão geral do SAML. |
-u, --username
|
String | (Obrigatório apenas para autenticação básica) Seu nome de usuário da Apigee (normalmente um endereço de e-mail).
Também é possível especificar o nome de usuário em um arquivo .netrc. Se fizer isso,
você não precisará inserir seu nome de usuário na linha de comando. Consulte
também Como usar o .netrc para credenciais.
|
-v, --verbose
|
(Opcional) Gera 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 on-line está disponível para todos os comandos apigee-remote-service-cli. Basta digitar:
apigee-remote-service-cli help
Para receber ajuda sobre qualquer comando. Digite:
apigee-remote-service-cli [command] help
Exemplo:
apigee-remote-service-cli provision help
Comando de provisionamento
O comando apigee-remote-service-cli provision instala um proxy na sua organização da Apigee, configura um certificado e gera
as credenciais necessárias para
configurar o adaptador da Apigee para Envoy.
Uso
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
-c, --config
|
String | Caminho para o arquivo de configuração do serviço remoto da Apigee. Dica: ao especificar
essa opção, é possível omitir a maioria dos outros parâmetros de comando. Consulte
Como usar a opção --config.
|
-e, --environment
|
String | (Obrigatório) Um ambiente na organização. |
-f, --force-proxy-install
|
(Opcional) Força o proxy remote-service a ser reinstalado se
já estiver instalado na sua organização.
|
|
-h, --help
|
Exibe ajuda para os parâmetros de comando. | |
-k, --key
|
String | Especifica a chave retornada do
comando apigee-remote-service-cli provision.
|
--legacy
|
Edge da Apigee (define o URL de gerenciamento e ambiente de execução) | |
-m, --management
|
String | (Obrigatório se você estiver na nuvem privada da Apigee) Seu URL base de gerenciamento da Apigee.
Padrão: https://api.enterprise.apigee.com
|
-n, --namespace
|
String | emita configuração como um ConfigMap Envoy no namespace especificado. |
--opdk
|
String | Apigee OPDK. |
-o, --organization
|
String | (Obrigatório) Sua organização da Apigee. Você precisa ser um administrador da organização. |
-p, --password
|
String | (Obrigatório apenas para autenticação básica) Sua senha da Apigee. Também é possível especificar
a senha em um arquivo .netrc. Se fizer isso, você não precisará inserir sua
senha na linha de comando. Consulte também
Como usar o .netrc para credenciais.
|
--rotate-int
|
int | Se n for maior que 0, gere uma nova chave privada e mantenha n chaves públicas (somente Apigee híbrida) |
-r, --runtime
|
String | URL de base do ambiente de execução da Apigee (obrigatório para híbrido ou opdk) |
-s, --secret
|
String | Especifica o secret retornado do comando
apigee-remote-service-cli provision.
|
--strength
|
int | (Opcional) Especifica a força da criptografia dos certificados SSL usados no provisionamento do adaptador. Padrão 2048 |
-t, --token
|
String | (Somente híbridos) Token OAuth ou SAML da Apigee. |
-u, --username
|
String | (Obrigatório apenas para autenticação básica) Seu nome de usuário da Apigee (normalmente um endereço de e-mail).
Também é possível especificar o nome de usuário em um arquivo .netrc.
Consulte também Como usar .netrc para credenciais.
|
-v, --verbose
|
(Opcional) Gera uma saída detalhada. | |
--virtual-hosts
|
String | Modifica os hosts virtuais padrão. |
--years
|
int | (Opcional) O número de anos para o certificado SSL usado no provisionamento expirar. Padrão: 1 |
Exemplo
Capture a resposta ao comando provision em um arquivo, que é usado como entrada
para outras operações do adaptador da Apigee do Envoy.
Exemplo da Apigee híbrida:
apigee-remote-service-cli provision --organization $ORG --environment $ENV --runtime $RUNTIME --namespace $NAMESPACE --token $TOKEN > config.yaml
Comandos de token
É possível usar um token JWT para fazer chamadas de proxy de API autenticadas, em vez de usar uma chave de API. Os comandos de token permitem criar, inspecionar e fazer a rotação de tokens JWT para essa finalidade.
Criar um token JWT
É possível usar um token JWT para fazer chamadas de proxy de API autenticadas para um destino de serviço remoto. Consulte também Como usar a autenticação baseada em JWT.Uso
Para a Apigee híbrida: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 do arquivo de configuração do serviço remoto da Apigee. Dica: ao especificar
essa opção, é possível omitir a maioria dos outros parâmetros de comando. Consulte
Como usar a opção --config.
|
-e, --env
|
String | (Obrigatório) Um ambiente na organização. |
-h, --help
|
Exibe a ajuda dos parâmetros de comando. | |
--insecure
|
Permite conexões de servidor não seguras ao usar SSL. | |
-o, --org
|
String | (Obrigatório) Uma organização da Apigee. Você precisa ser um administrador da organização. |
-r, --runtime
|
String | URL de base do ambiente de execução da Apigee (necessário apenas para híbrido ou opdk). |
-v, --verbose
|
(Opcional) Produza uma saída detalhada. |
Exemplo
apigee-remote-service-cli token create -o myorg -e test -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 -s icTARgaKHqvUH1dq -c config.yaml
Saída
Em caso de êxito, você verá uma saída de token JST semelhante a esta:eyJraWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhY2Nlc3NfdG9rZW4iOiJ0a2tlVzVKQTY2a0pZYTB4bFV1cVBsUW1BMU43IiwiYXVkIjoiaXN0aW8iLCJuYmYiOjE1MzAxMzg1OTEsImFwaV9wcm9kdWN0X2xpc3QiOlsiaXN0aW8tcHJvZHVjdCJdLCJhcHBsaWNhdGlvbl9uYW1lIjoiaXN0aW8tYXBwIiwiZGV2ZWxvcGVyX2VtYWlsIjoicFluZ2Zsb3lkQGdvb2dsZS5jb20iLCJpc3MiOiJodHRwczovL2FwaWdlZXNlYXJjaC10ZXN0LmFwaWdlZS5uZXQvaXN0aW8tYXV0aC90b2tlbiIsImV4cCI6MTUzMDEzOTQ5MSwiaWF0IjoxNTMwMTM4NTkxLCJqdGkiOiIxODgzMzViZi0wMmE4LTRjZGUsOGFkOS0yMWJmNDZjNmRjZDkiLCJjbGllbnRfaWQiOiJZVW1sWkFjQktOc1RBZWxKcVBZRmwzc2g1OE9iQVRYOSJ9.AL7pKSTmond-NSPRNNHVbIzTdAnZjOXcjQ-BbOJ_8lsQvF7PuiOUrGIhY5XTcJusisKgbCdtIxBl8Wq1EiQ_fKnUc3JYYOqzpTB5bGoFy0Yqbfu96dneuWyzgZnoQBkqwZkbQTIg7WNTGx1TJX-UTePvBPxAefiAbaEUcigX9tTsXPoRJZOTrm7IOeKpxpB_gQYkxQtV1_NbERxjTPyMbHdMWal9_xRVzSt7mpTGudMN9OR-VtQ1uXA67GOqhZWcOzq57qImOiCMbaoKnKUADevyWjX_VscN5ZZUtzQUQhTrmv8aR69-uVhMIPKp9juMyYKaYn2IsYZEeCWfhfV45Q
Inspecionar um token JWT
Você pode inspecionar um token JWT com esse comando. Consulte também Inspecionar um token.Uso
Para a Apigee híbrida: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 do arquivo de configuração do serviço remoto da Apigee. Dica: ao especificar
essa opção, é possível omitir a maioria dos outros parâmetros de comando. Consulte
Como usar a opção --config.
|
-e, --env
|
String | (Obrigatório) Um ambiente na organização. |
-h, --help
|
Exibe a ajuda dos parâmetros de comando. | |
--insecure
|
Permite conexões de servidor não seguras ao usar SSL. | |
-o, --org
|
String | (Obrigatório) Uma organização da Apigee. Você precisa ser um administrador da organização. |
-r, --runtime
|
String | URL de base do ambiente de execução da Apigee (necessário apenas para híbrido ou opdk). |
-v, --verbose
|
(Opcional) Produza uma saída detalhada. |
Exemplo
apigee-remote-service-cli token inspect -c config.yaml <<< $TOKEN
Saída
Em caso de êxito, você verá uma saída semelhante a esta:
{
"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.
Fazer a rotação de um token JWT
Em algum momento depois de gerar um JWT inicial, talvez seja necessário alterar o par de chaves pública/privada armazenado pela Apigee no mapa de chave-valor (KVM, na sigla em inglês) criptografado. Esse processo de geração de um novo par de chaves é chamado de rotação de chaves. Quando você faz a rotação, um novo par de chaves privada/pública é gerado e armazenado na KVM "istio" na organização/ambiente da Apigee. Além disso, a chave pública antiga é mantida com seu valor de ID de chave original.Uso
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
-c, --config
|
String | (Obrigatório) O caminho do arquivo de configuração do serviço remoto da Apigee. Dica: ao especificar
essa opção, é possível omitir a maioria dos outros parâmetros de comando. Consulte
Como usar a opção --config.
|
-e, --env
|
String | (Obrigatório) Um ambiente na organização. |
-h, --help
|
Exibe a ajuda dos parâmetros de comando. | |
--insecure
|
Permite conexões de servidor não seguras ao usar SSL. | |
--truncate
|
int | Número de certificados que serão mantidos em jwks (padrão 2) |
-o, --org
|
String | (Obrigatório) Uma organização da Apigee. Você precisa ser um administrador da organização. |
-r, --runtime
|
String | URL de base do ambiente de execução da Apigee (obrigatório para híbrido ou opdk). |
-v, --verbose
|
(Opcional) Produza uma saída detalhada. |
Exemplo
apigee-remote-service-cli token rotate-cert -c config.yaml -o myorg -e test -k 2e238ffa15dc5ab6a1e97868e7581f6c60ddb8575478582c256d8b7e5b2677a8 -s 51058077223fa7b683c3bea845c5cca138340d1d5583922b6d465f9f918a4b08
Saída
certificate successfully rotated
Como usar .netrc para credenciais
apigee-remote-service-cli extrai automaticamente o username e o password (para autenticação básica, quando necessário) de um arquivo .netrc no seu diretório principal, se você estiver na Apigee e tiver uma entrada para a máquina api.enterprise.apigee.com. Se você estiver na nuvem privada da Apigee, o valor da máquina será igual ao URL management (por exemplo: http://192.162.55.100).
Comando de versão
Imprima a versão da CLI.
apigee-remote-service-cli version
Como usar a opção de comando --config
A opção --config especifica a localização
do arquivo de configuração gerado pelo comando provision. Uma vantagem útil dessa opção é a
possibilidade de ignorar a maioria dos outros parâmetros de comando, que a CLI extrai do arquivo de configuração.
As opções incluem:
- organização
- ambiente
- runtime
- management
- insecure
- namespace
- legacy
- opdk
Por exemplo, execute o comando provision da seguinte maneira:
apigee-remote-service-cli provision --config='old-config.yaml' > new-config.yaml
Arquivo de configuração
Nesta seção, mostramos um exemplo de arquivo de configuração 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