Esta página aplica-se ao Apigee e ao Apigee Hybrid.
Veja a documentação do
Apigee Edge.
A apigee-remote-service-cli
interface 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, listar e validar associações.
Listar associações
Indique todos os produtos API associados ao serviço remoto.
Utilização
Para o Apigee Hybrid:
apigee-remote-service-cli bindings list -o [organization] -e [environment] -t [token] -r [runtime]
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. Sugestão: esta flag permite omitir a maioria dos outros parâmetros de comando, porque a CLI consegue extraí-los diretamente do ficheiro de configuração. 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, não disponível para a híbrida) 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 | Um URL que inclui o hostAlias para um anfitrião virtual definido
na sua configuração híbrida. O URL tem de começar por https:// .
Por exemplo: https://apitest.apigee-hybrid-docs.net
|
-t, --token
|
String | (Obrigatório) Um token de acesso. |
-u, --username
|
String | (Obrigatório apenas para a autenticação básica; não disponível para a autenticação híbrida) 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 -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:
Valide uma associação
Este comando foi descontinuado. Na versão 1.4, as apps de programadores já não requerem uma associação a produtos de API que são usados com destinos de serviços remotos.
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
Para o Apigee Hybrid:
apigee-remote-service-cli provision -o $ORG -e $ENV -r $RUNTIME -t $TOKEN
Parâmetros
Parâmetros | Tipo | Descrição |
---|---|---|
--analytics-sa
|
String | Use esta flag para especificar o caminho para um ficheiro de chave da conta de serviço do Google Cloud, em que a conta de serviço tem a função Apigee Analytics Agent . A SA é usada
pelo adaptador para carregar diretamente dados de estatísticas para o Apigee. Se estiver a usar o Apigee Hybrid,
esta opção permite-lhe instalar o tempo de execução híbrido num cluster e o adaptador
noutro cluster. Esta flag só está
disponível para instalações do Apigee hybrid e do Apigee no Google Cloud.
|
-c, --config
|
String | Caminho para o ficheiro de configuração do serviço remoto do Apigee. Consulte também
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. Predefinição: apigee |
--opdk
|
String | Defina esta flag se estiver a usar o Apigee para a nuvem privada. |
-o, --organization
|
String | (Obrigatório) A sua organização do Apigee. |
-p, --password
|
String | (Obrigatório apenas para a autenticação básica, não disponível para a híbrida) 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 | Um URL que inclui o hostAlias para um anfitrião virtual definido
na sua configuração híbrida. O URL tem de começar por https:// .
Por exemplo: https://apitest.apigee-hybrid-docs.net
|
-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 | Token OAuth ou SAML do Apigee. |
-u, --username
|
String | (Obrigatório apenas para a autenticação básica; não disponível para a autenticação híbrida) 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
Comando Samples
Crie um ficheiro de configuração de exemplo
Cria ficheiros de configuração de exemplo para implementações nativas do Envoy ou Istio.
Utilização
apigee-remote-service-cli samples create [flags]
Descrição
O comando requer um ficheiro config.yaml
válido gerado através do aprovisionamento.
Por predefinição, os ficheiros de exemplo são enviados para um diretório denominado ./samples
. O comando
cria este diretório para si.
Se estiver a usar o Envoy nativo, o comando usa o anfitrião do serviço de destino e o nome pretendido para o respetivo cluster. Também define a ligação SSL personalizada do proxy Envoy ao cluster do serviço remoto se for fornecida uma pasta que contenha tls.key
e tls.crt
através de --tls
.
Se estiver a usar o Istio, em que o proxy Envoy atua como um sidecar, se o destino não for especificado,
o exemplo httpbin
é gerado. Caso contrário, é responsável por preparar os ficheiros de configuração relacionados com a implementação dos seus serviços de destino.
Parâmetros
Parâmetros | Tipo | Descrição |
---|---|---|
-c, --config
|
String | (Obrigatório) Caminho para o ficheiro de configuração do serviço remoto do Apigee. Sugestão: esta flag permite omitir a maioria dos outros parâmetros de comando, porque a CLI consegue extraí-los diretamente do ficheiro de configuração. Consulte Usar a opção --config .
|
-f, --force
|
Forçar a substituição do diretório existente. | |
-h, --help
|
Apresenta ajuda para os parâmetros do comando. | |
--host
|
O anfitrião do serviço de destino (predefinição "httpbin.org") | |
-n, --name
|
O nome do serviço de destino (predefinição "httpbin") | |
--out
|
O diretório no qual criar os ficheiros de configuração de exemplo. Predefinição: ./samples
|
|
-t, --template
|
O nome do modelo. Se estiver a fazer uma implementação do Istio (apenas híbrida), selecione uma das opções do Istio disponíveis. Use a opção nativa para implementações nativas do Envoy. As opções disponíveis são:
|
|
--tls
|
O diretório no qual armazenar os ficheiros crt e da chave TLS. |
Exemplo
apigee-remote-service-cli samples create -c ./config.yaml
Liste as opções de modelos disponíveis
Lista as opções disponíveis para utilização com o parâmetro --templates
.
Utilização
apigee-remote-service-cli samples templates
Parâmetros
Nenhum.
Exemplo
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
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. Sugestão: esta flag permite omitir a maioria dos outros parâmetros de comando, porque a CLI consegue extraí-los diretamente do ficheiro de configuração. 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 | Um URL que inclui o hostAlias para um anfitrião virtual definido
na sua configuração híbrida. O URL tem de começar por https:// .
Por exemplo: https://apitest.apigee-hybrid-docs.net
|
-v, --verbose
|
(Opcional) Produz uma saída detalhada. |
Exemplo
./apigee-remote-service-cli token create -o $ORG -e $ENV -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 \ -s icTARgaKHqvUH1dq -c config.yaml -r $RUNTIME -t $TOKEN
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. Sugestão: esta flag permite omitir a maioria dos outros parâmetros de comando, porque a CLI consegue extraí-los diretamente do ficheiro de configuração. 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 | Um URL que inclui o hostAlias para um anfitrião virtual definido
na sua configuração híbrida. O URL tem de começar por https:// .
Por exemplo: https://apitest.apigee-hybrid-docs.net
|
-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
Para o 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]
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. Sugestão: esta flag permite omitir a maioria dos outros parâmetros de comando, porque a CLI consegue extraí-los diretamente do ficheiro de configuração. 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 | Um URL que inclui o hostAlias para um anfitrião virtual definido
na sua configuração híbrida. O URL tem de começar por https:// .
Por exemplo: https://apitest.apigee-hybrid-docs.net
|
-v, --verbose
|
(Opcional) Produz uma saída detalhada. |
Exemplo
./apigee-remote-service-cli token create -o $ORG -e $ENV -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 \ -s icTARgaKHqvUH1dq -c config.yaml -r $RUNTIME -t $TOKEN
Resultado
certificate successfully rotated
Usar o ficheiro .netrc para credenciais
apigee-remote-service-cli
seleciona automaticamente o username
e o
password
(para autenticação básica, quando necessário) de um ficheiro .netrc
no seu diretório principal se estiver no Edge Public Cloud 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
).
Por exemplo, na nuvem pública do Edge:
machine api.enterprise.apigee.com login jdoe@google.com password abc123
machine http://192.162.55.100 login jdoe@google.com password abc123
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: 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