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