GSP843
Visão geral
As APIs são projetadas para serem consumidas por desenvolvedores de apps, que as usam para oferecer experiências únicas aos usuários. A plataforma de APIs da Apigee do Google Cloud pode ser usada para publicar APIs e disponibilizá-las para consumo dos desenvolvedores de apps.
Neste laboratório, você vai criar um proxy de API da Apigee, que exige a verificação da chave de API para restringir o acesso à API.
Você cria produtos de API para oferecer diferentes níveis de serviço para desenvolvedores de aplicativos internos e externos. Você usa uma política de cota para limitar o número de chamadas de cada aplicativo específico. Você cria uma política de compartilhamento de recursos entre origens (CORS, na sigla em inglês) para adicionar essa funcionalidade à API, permitindo que ela seja chamada de aplicativos da web. Em seguida, você cria um portal de desenvolvedores e publica os produtos de API para que os desenvolvedores de apps possam consumir.
O que você vai aprender
Neste laboratório, você aprenderá a fazer o seguinte:
- Verificar uma chave de API para restringir o acesso a uma API e rastrear o uso do aplicativo
- Criar produtos de API para oferecer diferentes níveis de acesso a diferentes tipos de desenvolvedores de apps
- Usar a política de cotas para limitar o número de chamadas de um aplicativo específico com base no produto de API anexado
- Adicionar funcionalidade CORS a uma API para permitir chamadas de API entre origens de aplicativos da web
- Criar um portal de desenvolvedores e publicar os produtos de API
Configuração e requisitos
Antes de clicar no botão Começar o Laboratório
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é ativado quando você clica em Iniciar laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.
Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, e não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.
Confira os requisitos para concluir o laboratório:
- Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima (recomendado) ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e de estudante, o que poderia causar cobranças extras na sua conta pessoal.
- Tempo para concluir o laboratório: não se esqueça que, depois de começar, não será possível pausar o laboratório.
Observação: use apenas a conta de estudante neste laboratório. Se usar outra conta do Google Cloud, você poderá receber cobranças nela.
Como iniciar seu laboratório e fazer login no console do Google Cloud
-
Clique no botão Começar o laboratório. Se for preciso pagar por ele, uma caixa de diálogo vai aparecer para você selecionar a forma de pagamento.
No painel Detalhes do Laboratório, à esquerda, você vai encontrar o seguinte:
- O botão Abrir Console do Google Cloud
- O tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações, se forem necessárias
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página Fazer Login em outra guia.
Dica: coloque as guias em janelas separadas lado a lado.
Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
-
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
{{{user_0.username | "Username"}}}
Você também encontra o nome de usuário no painel Detalhes do Laboratório.
-
Clique em Próxima.
-
Copie a Senha abaixo e cole na caixa de diálogo de Olá.
{{{user_0.password | "Password"}}}
Você também encontra a senha no painel Detalhes do Laboratório.
-
Clique em Próxima.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud.
Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
-
Acesse as próximas páginas:
- Aceite os Termos e Condições.
- Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
- Não se inscreva em testes gratuitos.
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
Observação: para acessar os produtos e serviços do Google Cloud, clique no Menu de navegação ou digite o nome do serviço ou produto no campo Pesquisar.
Ativar o Cloud Shell
O Cloud Shell é uma máquina virtual com várias ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud. O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.
-
Clique em Ativar o Cloud Shell
na parte de cima do console do Google Cloud.
-
Clique nas seguintes janelas:
- Continue na janela de informações do Cloud Shell.
- Autorize o Cloud Shell a usar suas credenciais para fazer chamadas de APIs do Google Cloud.
Depois de se conectar, você verá que sua conta já está autenticada e que o projeto está configurado com seu Project_ID, . A saída contém uma linha que declara o projeto PROJECT_ID para esta sessão:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
A gcloud é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.
- (Opcional) É possível listar o nome da conta ativa usando este comando:
gcloud auth list
- Clique em Autorizar.
Saída:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Opcional) É possível listar o ID do projeto usando este comando:
gcloud config list project
Saída:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Observação: consulte a documentação completa da gcloud no Google Cloud no guia de visão geral da gcloud CLI.
Abrir o console da Apigee
Para fazer isso:
- No campo Pesquisar no console do Google Cloud, digite
Apigee e clique em gerenciamento de APIs da Apigee nos resultados da pesquisa.
O console da Apigee será aberto, e a página de destino vai mostrar links rápidos para locais usados com frequência.
- No Menu de navegação (
), ao lado de Apigee, clique em Favorito (
).
A Apigee foi adicionada como favorita ao menu de navegação.
Tarefa 1: configurar um proxy para o serviço de back-end com um proxy de API da Apigee
Nesta tarefa, você vai criar um proxy de API da Apigee que vai funcionar como uma fachada para um serviço de back-end. O proxy de API vai usar uma conta de serviço para fornecer tokens de identidade do OpenID Connect ao serviço do Cloud Run.
Um serviço de back-end chamado simplebank-rest já foi criado e implantado no Cloud Run.
Criar o proxy da Apigee
- No Cloud Shell, use o comando abaixo para recuperar o URL do serviço de back-end:
gcloud run services describe simplebank-rest --platform managed --region {{{project_0.default_region |REGION}}} --format 'value(status.url)'
Salve esse URL. Ele vai ser usado na criação do proxy de API.
-
No menu de navegação da Apigee, selecione Desenvolvimento de proxy > Proxies de API.
-
Para criar um novo proxy usando o assistente de proxy, clique em +Criar.
Você vai criar um proxy reverso para o serviço de back-end.
-
Em Modelo de proxy, selecione Modelo geral > Proxy reverso (mais comum).
Observação: evite usar a opção Proxy reverso (mais comum) na seção Modelo de especificação da OpenAPI.
-
Especifique as informações abaixo em Detalhes do proxy:
| Propriedade |
Valor |
| Nome do proxy |
bank-v1 |
| Caminho base |
/bank/v1 |
| Destino (API atual) |
URL do back-end |
Observação: verifique se você está usando /bank/v1 como caminho base, não /bank-v1.
O destino deve ser o URL do back-end que você recuperou anteriormente na tarefa e ter um formato semelhante a:
https://simplebank-rest-mtdtzt7yzq-ue.a.run.app
-
Clique em Próxima.
-
Deixe as configurações de Implantação (opcional) nos valores padrão e clique em Criar.
Tarefa 2: adicionar uma política VerifyAPIKey
Nesta tarefa, você vai adicionar uma política VerifyAPIKey ao proxy de API. Qualquer solicitação que não forneça uma chave de API válida será rejeitada.
Uma política VerifyAPIKey aplica a verificação de chaves de API no ambiente de execução, permitindo que apenas aplicativos com chaves de API aprovadas acessem a API. A política garante que a chave de API seja válida, não tenha sido revogada e esteja aprovada para consumir o recurso específico que está sendo solicitado.
Adicionar a política VerifyAPIKey
-
Clique na guia Desenvolver.
-
No menu do navegador do proxy, na seção Endpoints do proxy, clique em Pré-fluxo.
A política VerifyAPIKey precisa ser implementada com antecedência no proxy de API. O pré-fluxo de solicitação no endpoint de proxy padrão é o primeiro fluxo executado quando uma solicitação chega ao proxy de API.
-
No painel Fluxo, clique no botão + Adicionar etapa de política no canto superior direito, acima do fluxo de solicitação.
-
Selecione Criar nova política e, em Selecionar política na seção Segurança, escolha VerifyAPIKey. Em seguida, defina o Nome de exibição e o Nome como VAK-VerifyKey.
-
Clique em Adicionar.
-
Clique no nome VAK-VerifyKey.
A configuração VerifyAPIKey é mostrada no painel Código em Políticas.
O elemento APIKey indica onde a chave de API é fornecida na solicitação.
-
No elemento APIKey, substitua request.queryparam.apikey por request.header.apikey.
É menos provável que uma chave de API seja registrada ou salva no histórico do navegador se for especificada em um cabeçalho.
Modificar o destino para enviar um token de identidade do OpenID Connect
Como o serviço de back-end foi implantado para exigir o acesso autenticado, não é possível chamá-lo sem um token de identidade do OpenID Connect válido.
O HTTPTargetConnection especifica o destino de back-end do serviço.
-
No menu do navegador do proxy, na seção Endpoints de destino, clique em Pré-fluxo.
-
Encontre o seguinte código (seu URL será diferente):
<HTTPTargetConnection>
<URL>https://simplebank-rest-zce6j3rjwq-uw.a.run.app</URL>
</HTTPTargetConnection>
Observação: se a seção HTTPTargetConnection não aparecer, clique em "Pré-fluxo" na seção "Endpoints de destino", não em "Endpoints de proxy".
- Abaixo do URL, adicione uma seção Autenticação parecida com esta:
<Authentication>
<GoogleIDToken>
<Audience>AUDIENCE</Audience>
</GoogleIDToken>
</Authentication>
- Substitua AUDIENCE pelo valor do URL já na seção HTTPTargetConnection. Seu código vai ficar parecido com este, com seu URL específico nos elementos "URL" e "Audience":
<TargetEndpoint name="default">
<PreFlow name="PreFlow">
<Request/>
<Response/>
</PreFlow>
<Flows/>
<PostFlow name="PostFlow">
<Request/>
<Response/>
</PostFlow>
<HTTPTargetConnection>
<URL>https://simplebank-rest-zce6j3rjwq-uw.a.run.app</URL>
<Authentication>
<GoogleIDToken>
<Audience>https://simplebank-rest-zce6j3rjwq-uw.a.run.app</Audience>
</GoogleIDToken>
</Authentication>
</HTTPTargetConnection>
</TargetEndpoint>
- Clique em Salvar.
Confirmar se a instância de ambiente de execução está disponível
-
No Cloud Shell, cole e execute o seguinte conjunto de comandos:
export INSTANCE_NAME=eval-instance; export ENV_NAME=eval; if [ -z "${GOOGLE_CLOUD_PROJECT}" ]; then echo "Error: GOOGLE_CLOUD_PROJECT environment variable is not set. Please set it to your project ID."; else export PREV_INSTANCE_STATE=; echo "waiting for runtime instance ${INSTANCE_NAME} to be active"; while : ; do export INSTANCE_STATE=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${GOOGLE_CLOUD_PROJECT}/instances/${INSTANCE_NAME}" | jq "select(.state != null) | .state" --raw-output); [[ "${INSTANCE_STATE}" == "${PREV_INSTANCE_STATE}" ]] || (echo; echo "INSTANCE_STATE=${INSTANCE_STATE}"); export PREV_INSTANCE_STATE=${INSTANCE_STATE}; [[ "${INSTANCE_STATE}" != "ACTIVE" ]] || break; echo -n "."; sleep 5; done; echo; echo "instance created, waiting for environment ${ENV_NAME} to be attached to instance"; while : ; do export ATTACHMENT_DONE=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${GOOGLE_CLOUD_PROJECT}/instances/${INSTANCE_NAME}/attachments" | jq "select(.attachments != null) | .attachments[] | select(.environment == \"${ENV_NAME}\" or (.environment | endswith(\"/${ENV_NAME}\"))) | .environment" --raw-output); [[ -n "${ATTACHMENT_DONE}" ]] && break; echo -n "."; sleep 5; done; echo; echo "${ENV_NAME} environment attached"; echo "***ORG IS READY TO USE***"; fi
Essa série de comandos usa a API Apigee para determinar quando a instância do ambiente de execução da Apigee foi criada e o ambiente de avaliação foi anexado.
-
Aguarde até que a instância esteja pronta.
Quando o texto ***ORG IS READY TO USE*** aparecer, a instância estará pronta. É possível que a organização (org) da Apigee tenha sido criada antes de você iniciar o laboratório. Por isso, talvez não seja necessário aguardar a criação da instância.
Enquanto espera a organização ficar pronta, saiba mais sobre produtos de API, CORS (compartilhamento de recursos entre origens) e portais para desenvolvedores.
Implantar o proxy de API
-
No menu de navegação da Apigee, selecione Desenvolvimento de proxy > Proxies de API e clique em bank-v1.
-
Clique em Implantar.
-
Em Ambiente, selecione avaliação.
-
Em Conta de serviço, especifique o endereço de e-mail da conta de serviço:
apigee-internal-access@{{{ project_0.project_id | PROJECT }}}.iam.gserviceaccount.com
-
Clique em Implantar e em Confirmar.
-
Aguarde até que o status de implantação de avaliação mostre que o proxy foi implantado.
Clique em Verificar meu progresso para conferir o objetivo.
Criar o proxy da Apigee e adicionar a política de verificação da chave de API
Testar o proxy de API
É possível chamar o ambiente de avaliação na organização da Apigee usando o nome do host eval.example.com. A entrada DNS para esse nome do host foi criada no projeto e é resolvida para o endereço IP da instância do ambiente de execução da Apigee. Essa entrada DNS foi criada em uma zona particular, o que faz com que ela seja visível apenas na rede interna.
Como o Cloud Shell não está na rede interna, os comandos dele não conseguem resolver essa entrada DNS. Uma máquina virtual (VM) na sua organização tem acesso ao DNS da zona particular. Uma máquina virtual chamada apigeex-test-vm foi criada automaticamente. Use essa máquina para chamar o proxy de API.
-
No Cloud Shell, estabeleça uma conexão SSH com a VM de teste:
TEST_VM_ZONE=$(gcloud compute instances list --filter="name=('apigeex-test-vm')" --format "value(zone)")
gcloud compute ssh apigeex-test-vm --zone=${TEST_VM_ZONE} --force-key-file-overwrite
-
Se for necessário autorizar, clique em Autorizar.
-
Para cada pergunta feita no Cloud Shell, clique em Enter ou Return para especificar a entrada padrão.
Sua identidade conectada é a proprietária do projeto, então o SSH para essa máquina será permitido.
Sua sessão do Cloud Shell agora está sendo executada na VM.
-
Chame o proxy de API bank-v1 implantado no ambiente de avaliação:
curl -i -k -X GET "https://eval.example.com/bank/v1/customers"
A opção -k informa ao curl para ignorar a verificação do certificado TLS. Neste laboratório, o ambiente de execução da Apigee usa um certificado autoassinado em vez de um certificado criado por uma autoridade certificadora (CA) confiável.
Observação: não use a opção -k para ignorar a verificação de certificados em casos de uso de produção.
Essa API tenta recuperar uma lista de clientes. Agora você vai ver uma resposta 401 Não autorizado semelhante a esta:
HTTP/2 401
content-type: application/json
x-request-id: 01e8da87-dc8c-4428-9cdf-8bea84e98860
content-length: 146
date: Tue, 07 Dec 2021 22:54:37 GMT
via: 1.1 google
{"fault":{"faultstring":"Failed to resolve API Key variable request.header.apikey","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}
Essa resposta indica que o proxy de API bloqueou o acesso ao serviço de back-end porque a chave de API não foi fornecida.
-
Insira o comando exit para sair da sessão SSH e voltar ao Cloud Shell.
Tarefa 3: adicionar produtos de API e um aplicativo
Nesta tarefa, você vai adicionar produtos de API que concederão diferentes níveis de acesso à sua API. Em seguida, você vai criar dois aplicativos e associar produtos de API separados a eles, concedendo acesso diferente.
Criar o primeiro produto de API
O primeiro produto de API oferece acesso total ao serviço.
-
No menu de navegação da Apigee, selecione Distribuição > Produtos de API.
-
Para criar um produto de API, clique em +CRIAR.
-
No painel Detalhes do produto, especifique o seguinte:
| Propriedade |
Valor |
| Nome |
bank-fullaccess |
| Nome de exibição |
banco (acesso total) |
| Descrição |
Permite acesso total à API do banco |
| Ambiente |
Selecione avaliação
|
| Acesso |
Selecione Público
|
Deixe a opção Aprovar automaticamente solicitações de acesso marcada.
-
Na seção Operações, clique em +Adicionar uma operação.
As operações são usadas para especificar quais solicitações em quais proxies de API são permitidas para um aplicativo associado ao produto de API.
Observação: confirme se o botão está na seção "Operações", não em "Operações do GraphQL".
-
Especifique o seguinte:
| Nome |
Valor |
| Fonte |
Selecione o proxy de API bank-v1. |
| Caminho |
/** |
| Métodos |
Selecione GET, PATCH, POST, PUT e DELETE |
A expressão de caminho "/**" indica que qualquer sufixo de caminho de qualquer profundidade é uma correspondência para a operação.
Em um ambiente de produção, talvez seja melhor adicionar cada operação permitida separadamente, em vez de usar essa expressão de caminho curinga.
-
Clique em Salvar para salvar a operação.
-
Na seção Atributos personalizados do produto de API, clique em +Adicionar atributo personalizado.
Os atributos personalizados podem ser usados para anexar qualquer dado que você queira disponibilizar no proxy para controlar o acesso.
Nesse caso, como esse é o produto de API de acesso total para sua API Retail, você vai criar um atributo personalizado indicando que o aplicativo que chama a API deve ter acesso total.
-
Especifique o seguinte:
| Propriedade |
Valor |
| Nome |
full-access |
| Valor |
yes |
-
Clique em OK para salvar o atributo personalizado.
-
Para salvar o produto da API, clique em Salvar na parte de cima da página.
-
Volte à página Distribuição > Produtos de API. O produto da API estará listado.
Clique em Verificar meu progresso para conferir o objetivo.
Adicionar produtos de API e um aplicativo
Criar um produto de API com acesso limitado
O segundo produto de API vai fornecer acesso somente leitura ao serviço.
-
Para criar um produto de API, clique em +CRIAR.
-
No painel Detalhes do produto, especifique o seguinte:
| Propriedade |
Valor |
| Nome |
bank-readonly |
| Nome de exibição |
banco (somente leitura) |
| Descrição |
Permite acesso somente leitura à API do banco |
| Ambiente |
Selecione avaliação
|
| Acesso |
Selecione Público
|
Deixe a opção Aprovar automaticamente solicitações de acesso marcada.
-
Na seção Operações, clique em +Adicionar uma operação.
Observação: confirme se o botão está na seção "Operações", não em "Operações do GraphQL".
-
Especifique o seguinte:
| Propriedade |
Valor |
| Fonte |
Selecione o proxy de API bank-v1. |
| Caminho |
/** |
| Métodos |
Selecione GET |
-
Clique em Salvar para salvar a operação.
-
Para salvar o produto da API, clique em Salvar na parte de cima da página.
-
Volte à página Distribuição > Produtos de API. O produto da API estará listado.
Criar um desenvolvedor de apps
Antes de criar um app, é necessário ter um desenvolvedor de apps.
Observação: os desenvolvedores de apps geralmente são criados usando um portal de desenvolvedores, e você vai fazer isso mais tarde no laboratório. Por enquanto, use o console da Apigee para criar o desenvolvedor.
-
No menu de navegação da Apigee, clique em Distribuição > Desenvolvedores.
-
Para criar um novo desenvolvedor de apps, clique em +CRIAR.
-
Especifique o seguinte:
| Propriedade |
Valor |
| Nome |
Jorge |
| Sobrenome |
Desenvolvedor |
| E-mail |
jorge@example.com |
| Nome de usuário |
jorge |
-
Clique em ADICIONAR para criar o desenvolvedor de apps.
Criar um app com acesso somente leitura
-
No menu de navegação da Apigee, clique em Distribuição > Apps.
-
Para criar um app, clique em +CRIAR.
-
No painel Detalhes do app, especifique o seguinte:
| Propriedade |
Valor |
| Nome |
readonly-app |
| Desenvolvedor |
Selecione João Desenvolvedor |
-
No painel Credenciais, clique em + ADICIONAR CREDENCIAL e em + ADICIONAR PRODUTOS. Selecione banco (somente leitura) e clique em Adicionar.
Em "Produto", clique na caixa de seleção ao lado de banco (somente leitura) e em APROVAR.
-
Clique em Criar para criar o app.
A chave e o secret agora estão configurados para o app.
-
No menu de navegação da Apigee, clique em Distribuição > Apps > readonly-app.
-
Em "Credenciais", clique em Mostrar ao lado de Chave.
Essa é a chave de API que será usada para chamar a API. Você pode copiar a chave, mas as próximas etapas vão usar uma chamada curl para a API Apigee e recuperar a chave de API.
Criar um app com acesso total
-
No menu de navegação à esquerda, clique em Distribuição > Apps.
-
Para criar um app, clique em +CRIAR.
-
No painel Detalhes do app, especifique o seguinte:
| Propriedade |
Valor |
| Nome |
fullaccess-app |
| Desenvolvedor |
Selecione João Desenvolvedor |
-
No painel Credenciais, clique em + ADICIONAR CREDENCIAL e em + ADICIONAR PRODUTOS. Selecione banco (acesso total) e clique em Adicionar.
Em "Produto", clique na caixa de seleção ao lado de banco (acesso total) e em APROVAR.
-
Clique em Criar para criar o app.
-
No menu de navegação da Apigee, clique em Distribuição > Apps > fullaccess-app.
-
Em "Credenciais", clique em Mostrar ao lado de Chave.
Clique em Verificar meu progresso para conferir o objetivo.
Criar um produto de API com acesso limitado
Testar com a chave de API
-
No Cloud Shell, estabeleça uma conexão SSH com a VM de teste:
TEST_VM_ZONE=$(gcloud compute instances list --filter="name=('apigeex-test-vm')" --format "value(zone)")
gcloud compute ssh apigeex-test-vm --zone=${TEST_VM_ZONE} --force-key-file-overwrite
-
Se for necessário autorizar, clique em Autorizar.
Sua sessão do Cloud Shell agora está sendo executada na VM.
-
Para receber a chave de API do aplicativo somente leitura, execute os seguintes comandos:
export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null)
echo "PROJECT_ID=${PROJECT_ID}"
export API_KEY=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${PROJECT_ID}/developers/joe@example.com/apps/readonly-app" | jq ".credentials[0].consumerKey" --raw-output)
echo "API_KEY=${API_KEY}"
O primeiro comando lê a configuração do gcloud para receber o projeto atual. O segundo comando recupera a chave de API usando a API Apigee. A solicitação é autorizada porque você envia um token de acesso com as permissões do usuário conectado.
-
Chame o proxy de API bank-v1 implantado no ambiente de avaliação usando uma chave de API falsa:
curl -i -k -X GET -H "apikey: ABC123" "https://eval.example.com/bank/v1/customers"
A resposta é 401 Não autorizado com uma falha indicando que a chave de API era inválida.
-
Chame o proxy de API bank-v1 implantado no ambiente de avaliação usando a chave de API real:
curl -i -k -X GET -H "apikey: ${API_KEY}" "https://eval.example.com/bank/v1/customers"
A solicitação é permitida, e a resposta contém uma lista de clientes.
-
Faça outra chamada para o proxy de API bank-v1 implantado no ambiente de avaliação usando novamente a chave de API real:
curl -i -k -X POST -H "apikey: ${API_KEY}" -H "Content-Type: application/json" "https://eval.example.com/bank/v1/customers" -d '{"firstName": "Julia", "lastName": "Dancey", "email": "julia@example.org"}'
Desta vez, a resposta é 401 Não autorizado com uma falha indicando que a chave de API é inválida para o recurso especificado. A solicitação foi rejeitada porque a chave de API fornecida está associada ao produto de API somente leitura, que não permite solicitações POST.
-
Digite exit para sair da sessão SSH da máquina virtual.
Tarefa 4: implementar uma cota
Nesta tarefa, você vai adicionar uma política de cotas que limita o número de solicitações permitidas por aplicativo durante um período específico. A política de cotas usa uma configuração de cota especificada nos produtos de API.
Adicionar a política de cotas
-
No menu de navegação da Apigee, selecione Desenvolvimento de proxy > Proxies de API e clique em bank-v1.
-
Clique na guia Desenvolver.
-
No menu do navegador do proxy, na seção Endpoints do proxy, clique em Pré-fluxo.
A política de cotas verifica se a cota de um aplicativo específico não foi excedida. Se o limite for atingido, essa política vai gerar uma falha, e a solicitação será cancelada. Se o limite não for sido atingido, a quantidade de solicitações permitidas será descontada.
A política de cotas determina o aplicativo de chamada com base em uma variável preenchida pela política de verificação da chave de API. Portanto, a política de cotas precisa ser posicionada depois da política de verificação da chave de API.
-
No painel Fluxo, clique no botão + Adicionar etapa de política no canto superior direito, acima do fluxo de solicitação.
-
Selecione Criar nova política e, em Selecionar política, na seção Gerenciamento de tráfego, selecione Cota. Depois, defina o Nome de exibição e o Nome como Q-EnforceQuota.
-
Clique em Adicionar.
-
Clique no nome Q-EnforceQuota.
A configuração Cota é mostrada no painel Código.
-
Mude a configuração de cota para:
<Quota continueOnError="false" enabled="true" name="Q-EnforceQuota" type="calendar">
<Identifier ref="client_id"/>
<UseQuotaConfigInAPIProduct stepName="VAK-VerifyKey">
<DefaultConfig>
<Allow>2</Allow>
<Interval>1</Interval>
<TimeUnit>hour</TimeUnit>
</DefaultConfig>
</UseQuotaConfigInAPIProduct>
<Distributed>true</Distributed>
<Synchronous>true</Synchronous>
<StartTime>2021-01-01 00:00:00</StartTime>
</Quota>
Você vai usar o produto de API para especificar a taxa permitida. O stepName no elemento UseQuotaConfigInAPIProduct especifica qual etapa vai determinar o produto de API.
Quando uma chave de API ou um token OAuth é validado, ele pode ser associado a um app que está associado a um produto de API. Usando essas configurações de política, a etapa da verificação da chave de API chamada VAK-VerifyKey determina o produto de API. A política de verificação da chave de API precisa ser executada antes da política Q-EnforceQuota.
Os valores de configuração padrão especificados na política de cotas indicam um máximo de 2 solicitações (Allow) a cada 1 (Interval) mês (TimeUnit). Os valores padrão só serão usados se outros valores não forem informados, o que só vai acontecer se as configurações de cota não estiverem definidas para o produto de API associado à chave de API.
-
Clique em Salvar. Se você receber uma notificação de que o proxy foi salvo como uma nova revisão, clique em SALVAR COMO NOVA REVISÃO.
-
Clique em Implantar.
-
Em Conta de serviço, especifique o endereço de e-mail da conta de serviço:
apigee-internal-access@{{{ project_0.project_id | PROJECT }}}.iam.gserviceaccount.com
-
Clique em Implantar e em Confirmar.
-
Clique na guia Visão geral e aguarde o status de implantação da avaliação mostrar que o proxy foi implantado.
Adicionar uma configuração de cota para o produto de API de acesso total
- No menu de navegação da Apigee, selecione Distribuição > Produtos de API e clique em banco (acesso total).
- Clique em Editar.
- Na linha "bank-v1" da seção "Operações", clique no ícone de menu Ações (
) e selecione Editar.
- Defina a cota da operação como 5 solicitações a cada 1 minuto e clique em Salvar.
Observação: verifique se você está editando a cota configurada na operação.
- Clique em Salvar para salvar o produto da API.
Clique em Verificar meu progresso para conferir o objetivo.
Implementar uma cota
Iniciar uma sessão de depuração
A Depuração é uma ferramenta de solução de problemas e monitoramento de proxies de API em execução na Apigee. Com ela, é possível examinar os detalhes de cada etapa durante uma chamada de API.
-
No menu de navegação da Apigee, selecione Desenvolvimento de proxy > Proxies de API e clique em bank-v1.
-
Clique na guia Depuração.
-
Clique em Iniciar uma sessão de depuração.
-
No painel Iniciar uma sessão de depuração, no menu suspenso do ambiente, selecione avaliação.
-
Clique em Iniciar.
Pode demorar um pouco para a sessão de depuração começar a capturar solicitações.
Observação: mesmo que você receba mensagens de erro em caixas vermelhas na parte de cima da tela, com descrições como "Erro ao buscar transações de depuração" ou "Erro de transação da sessão de depuração da lista", sua sessão de depuração ainda poderá funcionar corretamente.
Você vai fazer solicitações de API e analisar a sessão de depuração.
Testar a cota
-
No Cloud Shell, estabeleça uma conexão SSH com a VM de teste:
TEST_VM_ZONE=$(gcloud compute instances list --filter="name=('apigeex-test-vm')" --format "value(zone)")
gcloud compute ssh apigeex-test-vm --zone=${TEST_VM_ZONE} --force-key-file-overwrite
-
Se for necessário autorizar, clique em Autorizar.
Sua sessão do Cloud Shell agora está sendo executada na VM.
-
Para receber as duas chaves de API, execute os seguintes comandos:
export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null)
echo "PROJECT_ID=${PROJECT_ID}"
export API_KEY_READONLY=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${PROJECT_ID}/developers/joe@example.com/apps/readonly-app" | jq ".credentials[0].consumerKey" --raw-output)
echo "API_KEY_READONLY=${API_KEY_READONLY}"
export API_KEY_FULL=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${PROJECT_ID}/developers/joe@example.com/apps/fullaccess-app" | jq ".credentials[0].consumerKey" --raw-output)
echo "API_KEY_FULL=${API_KEY_FULL}"
-
Envie essa solicitação repetidamente até receber uma falha de cota:
curl -i -k -X GET -H "apikey: ${API_KEY_READONLY}" "https://eval.example.com/bank/v1/customers"
Observação: para repetir rapidamente um comando no Cloud Shell ou em uma sessão SSH, clique na tecla de seta PARA CIMA e pressione RETURN ou ENTER.
A violação de cota vai ser parecida com esta:
{"fault":{"faultstring":"Violação da cota de limite de taxa. O limite de cota foi excedido. Identifier : bKSV3nOz2JS5Z58sWMh2RBnnwWeEeNK2N2G6HMCESgLGDLFI","detail":{"errorcode":"policies.ratelimit.QuotaViolation"}}}
-
Volte para a guia da interface da Apigee.
Você vai notar algumas solicitações 200 e uma 429.
Clique em uma solicitação 200. O mapa de transações mostra um ícone de fábrica à direita, indicando que o back-end foi chamado.
-
No painel "Sessão de depuração", clique na seta para a esquerda (<) no canto superior esquerdo.
-
No menu de navegação da Apigee, selecione Desenvolvimento de proxy > Proxies de API e clique em bank-v1.
-
Clique na guia Depuração.
-
Clique em Iniciar uma sessão de depuração para começar uma nova sessão.
-
Volte para a sessão SSH e envie essa solicitação repetidamente usando a chave de API de acesso total até receber uma falha de cota:
date; curl -i -k -X GET -H "apikey: ${API_KEY_FULL}" "https://eval.example.com/bank/v1/customers"
Desta vez, você poderá enviar pelo menos 5 solicitações antes de receber uma resposta 429. A cota do produto da API de acesso total é de 5 solicitações por minuto. A cota é redefinida quando a parte referente aos segundos é redefinida como zero. O comando acima exibe a hora antes de chamar a API. Assim, você pode ver a hora aproximada em que a cota será redefinida.
-
Digite exit para sair da sessão SSH da máquina virtual.
-
Volte para a guia da interface da Apigee.
Se você selecionar uma solicitação e clicar no ícone de cota, verá que as variáveis de cota VAK-VerifyKey agora indicam 5 solicitações a cada 1 minuto.
Tarefa 5: adicionar CORS ao proxy de API
Nesta tarefa, você vai adicionar o CORS (compartilhamento de recursos entre origens) ao proxy bank-v1.
O CORS é um protocolo que usa cabeçalhos HTTP para indicar aos navegadores se é seguro acessar recursos restritos de um domínio separado. Por padrão, as solicitações entre domínios são proibidas pela política de segurança de mesma origem. Essa política protege os usuários do navegador contra o compartilhamento involuntário de informações de sessão com pessoas de má-fé.
A política de mesma origem significa que uma página da Web veiculada em www.example.com não pode, por padrão, fazer uma chamada para APIs em api.example.com porque o nome do host é diferente. O CORS pode ser usado para permitir esse tipo de acesso entre origens.
Você vai precisar do CORS na API do banco do portal de desenvolvedores. Um portal de desenvolvedores da Apigee tem um nome de domínio *.apigee.io, e a API é acessada por um domínio diferente. Para invocar a API na documentação, adicione cabeçalhos CORS a todas as respostas da API, incluindo as de erro.
O CORS também usa solicitações simuladas. O navegador envia uma solicitação de simulação usando o verbo OPTIONS para descobrir se a próxima chamada será permitida.
A política de CORS pode processar toda a funcionalidade do CORS.
Para mais informações sobre o CORS, consulte a documentação do CORS da Apigee.
Adicionar a política de CORS
-
No menu de navegação da Apigee, selecione Desenvolvimento de proxy > Proxies de API e clique em bank-v1.
-
Clique na guia Desenvolver.
-
No menu do navegador do proxy, na seção Endpoints do proxy, clique em Pré-fluxo.
-
No painel Fluxo, clique no botão + Adicionar etapa de política no canto superior direito, acima do fluxo de solicitação.
-
Selecione Criar nova política e, em Selecionar política na seção Segurança, escolha CORS. Em seguida, defina o Nome de exibição e o Nome como CORS.
-
Clique em Adicionar.
A configuração da política de CORS é mostrada abaixo do painel "Fluxo".
AllowOrigins lista as origens permitidas. A configuração padrão permite qualquer origem, pois define a origem permitida como sendo a mesma enviada na solicitação. Em um caso de uso de produção típico, você pode permitir apenas solicitações de nomes de host específicos.
AllowMethods especifica os métodos que devem ser permitidos para a API.
AllowHeaders lista os cabeçalhos que podem ser transmitidos na solicitação.
ExposeHeaders especifica os cabeçalhos na resposta que devem ser permitidos quando chamados com uma origem. Com o valor padrão *, nenhum cabeçalho de resposta será removido da resposta.
MaxAge especifica por quanto tempo uma resposta de simulação pode ser armazenada em cache por um navegador, em segundos.
AllowCredentials indica se cabeçalhos de autorização, certificados do cliente TLS ou cookies podem ser enviados na solicitação.
GeneratePreflightResponse especifica se as solicitações de simulação com o método OPTIONS serão processadas.
-
Clique no nome CORS.
-
Substitua a configuração AllowHeaders por:
<AllowHeaders>origin, x-requested-with, accept, content-type, apikey</AllowHeaders>
Sua API está usando o cabeçalho apikey para especificar uma chave de API. Portanto, ele precisa ser adicionado para que possa ser chamado de um navegador.
-
Substitua o valor MaxAge por -1.
Isso desativa o armazenamento em cache da resposta de simulação pelo navegador para que você sempre veja a solicitação de simulação. Em um caso de uso de produção, normalmente você permite o armazenamento em cache da resposta para evitar fazer duas chamadas por solicitação.
-
No menu do navegador do proxy, na seção Endpoints do proxy, clique em Pré-fluxo.
Quando a política de CORS foi adicionada, ela foi incluída automaticamente no final do fluxo. No entanto, para solicitações de simulação, uma chave de API não é necessária.
-
Mova a política de CORS para antes da política VAK-VerifyKey editando a configuração de pré-fluxo. Substitua:
<PreFlow name="PreFlow">
<Request>
<Step>
<Name>VAK-VerifyKey</Name>
</Step>
<Step>
<Name>Q-EnforceQuota</Name>
</Step>
<Step>
<Name>CORS</Name>
</Step>
</Request>
<Response/>
</PreFlow>
por:
<PreFlow name="PreFlow">
<Request>
<Step>
<Name>CORS</Name>
</Step>
<Step>
<Name>VAK-VerifyKey</Name>
</Step>
<Step>
<Name>Q-EnforceQuota</Name>
</Step>
</Request>
<Response/>
</PreFlow>
-
Clique em Salvar. Se você receber uma notificação de que o proxy foi salvo como uma nova revisão, clique em SALVAR COMO NOVA REVISÃO.
-
Clique em Implantar.
-
Em Conta de serviço, especifique o endereço de e-mail da conta de serviço:
apigee-internal-access@{{{ project_0.project_id | PROJECT }}}.iam.gserviceaccount.com
-
Clique em Implantar e em Confirmar.
-
Clique na guia Visão geral e aguarde o status de implantação da avaliação mostrar que o proxy foi implantado.
Clique em Verificar meu progresso para conferir o objetivo.
Adicionar CORS ao proxy de API
Iniciar uma sessão de depuração
-
Clique na guia Depuração.
-
Clique em Iniciar uma sessão de depuração.
-
No painel Iniciar uma sessão de depuração, no menu suspenso do ambiente, selecione avaliação.
-
Clique em Iniciar.
Pode demorar um pouco para a sessão de depuração começar a capturar solicitações.
Testar a funcionalidade do CORS
-
No Cloud Shell, estabeleça uma conexão SSH com a VM de teste:
TEST_VM_ZONE=$(gcloud compute instances list --filter="name=('apigeex-test-vm')" --format "value(zone)")
gcloud compute ssh apigeex-test-vm --zone=${TEST_VM_ZONE} --force-key-file-overwrite
-
Se for necessário autorizar, clique em Autorizar.
Sua sessão do Cloud Shell agora está sendo executada na VM.
-
Para conseguir uma chave de API, execute os seguintes comandos:
export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null)
echo "PROJECT_ID=${PROJECT_ID}"
export API_KEY=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${PROJECT_ID}/developers/joe@example.com/apps/fullaccess-app" | jq ".credentials[0].consumerKey" --raw-output)
echo "API_KEY=${API_KEY}"
-
Faça uma solicitação para recuperar a lista de clientes:
curl -i -k -X GET -H "apikey: ${API_KEY}" "https://eval.example.com/bank/v1/customers"
Nenhuma origem foi informada, então a funcionalidade do CORS é ignorada. Confirme se o cabeçalho Access-Control-Allow-Origin não foi retornado.
-
Faça outra solicitação, mas inclua o cabeçalho de origem ("Origin") desta vez. Isto testa uma solicitação normal de CORS:
curl -i -k -X GET -H "Origin: https://www.example.com" -H "apikey: ${API_KEY}" "https://eval.example.com/bank/v1/customers"
Os cabeçalhos access-control-* são retornados porque a origem foi fornecida.
-
Faça uma solicitação de simulação:
curl -i -k -X OPTIONS -H "Origin: https://www.example.com" -H "Access-Control-Request-Method: POST" -H "Access-Control-Request-Headers: Content-Type,apikey" "https://eval.example.com/bank/v1/customers"
A política de CORS define os cabeçalhos de simulação na resposta e impede que a solicitação continue até o back-end.
Se você voltar à interface da Apigee e analisar a chamada OPTIONS na ferramenta de depuração, poderá confirmar que a política de CORS não permitiu que a chamada fosse transmitida ao serviço de back-end.
-
Digite exit para sair da sessão SSH da máquina virtual.
Tarefa 6: baixar e modificar uma especificação da OpenAPI
Nesta tarefa, você vai baixar e modificar uma especificação da OpenAPI que define a interface do seu proxy de API.
A especificação da OpenAPI será usada ao publicar o proxy de API no portal de desenvolvedores.
Baixar e editar a especificação da OpenAPI
-
No Cloud Shell, para fazer baixar a especificação da OpenAPI do seu proxy de API, execute este comando:
curl https://storage.googleapis.com/spls/shared/firestore-simplebank-data/dev-portal/simplebank-spec.yaml?$(date +%s) --output ~/simplebank-spec.yaml
Esse comando curl baixa um arquivo chamado simplebank-spec.yaml e o armazena em um arquivo com o mesmo nome no diretório principal.
Observação: "?$(date +%s)" adiciona um parâmetro de consulta ao URL, que é uma representação em string da data/hora atual. Essa variável, que muda dinamicamente, altera o URL e força o curl a recuperar a versão mais recente de um arquivo, mesmo que uma versão anterior esteja em cache.
-
No Cloud Shell, clique em Abrir editor e, se necessário, em Abrir em uma nova janela.

-
No editor, selecione o arquivo simplebank-spec.yaml.
Essa especificação da OpenAPI indica a interface do proxy de API que você criou durante este laboratório. A especificação será usada para fornecer documentação dinâmica no portal de desenvolvedores.
O portal de desenvolvedores acessa o proxy da Apigee na rede externa. O nome do host que você está usando, eval.example.com, só fica disponível na rede interna.
Um balanceador de carga foi provisionado para dar acesso externo ao proxy de API. O acesso externo usa um nome de host fornecido por nip.io, que é um provedor de DNS curinga.
O nome do host externo será semelhante a este:
eval.60.70.80.90.nip.io
Ele já foi especificado como um nome de host correspondente para o grupo de ambientes eval-group.
-
No Cloud Shell, para recuperar as configurações de eval-group, use o seguinte comando:
curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${GOOGLE_CLOUD_PROJECT}/envgroups/eval-group"
A matriz de nomes de host contém dois nomes de host: um sem endereço IP (eval.example.com) e outro com endereço IP (semelhante a eval.60.70.80.90.nip.io). Você vai usar o nome do host com o endereço IP na especificação da OpenAPI.
-
No editor, na linha 10, substitua o nome do host:
eval.<IPADDR>.nip.io
Após a substituição do nome do host no URL do servidor, a linha 10 vai ficar assim:
- url: "https://eval.60.70.80.90.nip.io/bank/v1"
-
Clique em Arquivo > Salvar.
-
Clique com o botão direito do mouse em simplebank-spec.yaml > Fazer o download.
O arquivo é salvo na máquina local. Você vai usar a especificação atualizada com o portal par desenvolvedores.
Tarefa 7: criar um portal de desenvolvedores e publicar uma API nele
Nesta tarefa, você vai criar um portal de desenvolvedores integrado e publicar sua API nele.
Criar um portal de desenvolvedores integrado
-
No menu de navegação da Apigee, selecione Distribuição > Portais e clique em + CRIAR.
-
Digite banco como nome e clique em Criar.
A criação pode levar um minuto. Depois a página de visão geral do portal será aberta.
-
Se uma mensagem "Inscrever-se na versão Beta dos recursos de gerenciamento de equipes e públicos-alvo" aparecer, clique em Inscrever-se.
Publicar a API no portal
-
No menu de navegação da Apigee, selecione Distribuição > Portais e clique em banco.
-
Clique em + API.
-
Selecione o banco (acesso total) como produto de API.
-
Personalize os detalhes da API:
| Propriedade |
Valor |
| Publicado (listado no catálogo) |
Selecionado |
| Exibir título |
SimpleBank |
| Exibir descrição |
API SimpleBank v1 |
| Visibilidade da API |
Selecione "Pública" (visível para qualquer pessoa)" |
Publicado torna a API visível no portal, e a visibilidade Pública permite que as APIs sejam vistas mesmo que o usuário não esteja conectado ao portal.
-
Clique em Selecionar em Imagem de exibição e depois em URL.
-
Defina o URL da imagem como:
https://storage.googleapis.com/spls/shared/firestore-simplebank-data/dev-portal/piggy-bank.png
Você verá a imagem de um cofrinho ao clicar em PRÉVIA.
-
Clique em Selecionar.
-
Na seção Documentação da API, selecione Documento da OpenAPI.
-
Clique em Selecionar em Selecionar arquivo.
-
Clique em Procurar e selecione o arquivo de especificação da OpenAPI que você baixou do Cloud Shell (simplebank-spec.yaml).
-
Clique em Selecionar.
-
Clique em Salvar.
-
Se quiser abrir o portal de desenvolvedores em uma nova guia, clique em VER PORTAL AO VIVO no canto superior direito.
Clique em Verificar meu progresso para conferir o objetivo.
Criar um portal de desenvolvedores e publicar uma API nele
Iniciar uma sessão de depuração
- Volte ao menu de navegação da Apigee, selecione Desenvolvimento de proxy > Proxies de API e clique em bank-v1.
- Clique na guia Depuração.
- No painel Iniciar uma sessão de depuração, no menu suspenso do ambiente, selecione avaliação.
- Clique em Iniciar.
Testar a API usando o portal de desenvolvedores
-
No Cloud Shell, para receber a chave de API de acesso total, execute o seguinte comando:
export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null)
echo "PROJECT_ID=${PROJECT_ID}"
export API_KEY=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${PROJECT_ID}/developers/joe@example.com/apps/fullaccess-app" | jq ".credentials[0].consumerKey" --raw-output)
echo "API_KEY=${API_KEY}"
Copie a chave de API para a área de transferência.
-
Volte para a guia "Portal ao vivo" e clique em APIs.
-
Clique no cofrinho.
A API SimpleBank é mostrada.
-
Clique em Autorizar.
-
Cole a chave de API como a chave.
-
Clique em Autorizar e em OK.
A chave de API passará a ser enviada com qualquer solicitação.
-
No menu à esquerda, clique em /customers POST.
-
Especifique o seguinte corpo da solicitação:
{
"email": "mina@example.com",
"lastName": "Yu",
"firstName": "Mina"
}
-
Clique em Executar.
Uma resposta 200 OK indica que o cliente foi criado.
-
No menu à esquerda, clique em /customers GET.
-
Clique em Executar.
O cliente que você acabou de criar é retornado com os outros no banco de dados.
Se você voltar para a interface da Apigee e à sessão Depuração, vai notar que uma solicitação OPTIONS (simulação) foi enviada automaticamente pelo navegador antes do envio dos dois comandos. Uma solicitação de simulação é necessária antes do comando GET, já que o navegador não sabe se o cabeçalho apikey deve ser permitido.
Tarefa 8: criar um desenvolvedor de apps no portal (opcional)
Nesta tarefa, você vai usar o portal de desenvolvedores na criação de um desenvolvedor de apps.
Observação: para esta tarefa, você precisa inserir seu endereço de e-mail para receber uma mensagem de registro. O e-mail contém um link que precisa ser clicado antes que a conta registrada possa fazer login no portal de desenvolvedores. O endereço de e-mail não será usado para nenhuma outra finalidade e será removido quando o projeto do Google Cloud for excluído automaticamente.
Registrar um desenvolvedor de apps no portal de desenvolvedores
-
Volte ao portal ao vivo e clique em Fazer login.
-
Clique em Criar uma conta
-
Insira um nome, um sobrenome, um endereço de e-mail e uma senha.
Você vai precisar usar a senha para fazer login no portal de desenvolvedores. Por isso, escolha algo fácil de lembrar.
-
Clique na caixa indicando que você concorda com os termos.
A página "Termos e Condições" seria especificada pela organização que fornece as APIs aos desenvolvedores de apps.
-
Clique em Criar conta.
Um e-mail é enviado para seu endereço. Ele inclui um link que precisa ser clicado para permitir que o usuário da conta faça login.
-
Clique no link enviado por e-mail.
Uma guia do navegador será aberta no portal de desenvolvedores.
-
Clique em Fazer login.
-
Digite o endereço de e-mail e a senha e clique em Fazer login.
Criar um app para o desenvolvedor de apps
-
Clique no endereço de e-mail no canto superior direito e em Apps.
-
Clique em + Novo app.
-
Especifique MyApp como o Nome do app.
-
Na seção "APIs", clique em Ativar para SimpleBank.
-
Clique em Salvar.
O app é registrado, e a chave de API é mostrada. Essa chave pode ser usada no portal de desenvolvedores. Para ver o desenvolvedor e o app, volte à interface da Apigee e acesse Publicar > Desenvolvedores e Publicar > Apps, respectivamente.
Parabéns!
Neste laboratório, você usou a verificação de chaves de API para restringir o acesso à API. Além disso, criou produtos de API para oferecer diferentes níveis de serviço aos desenvolvedores de apps internos e externos. Você usou uma política de cotas para limitar o número de chamadas de cada app e adicionou uma política de CORS para oferecer suporte ao compartilhamento de recursos entre origens na API. Por fim, criou um portal de desenvolvedores e publicou os produtos de API para consumo dos desenvolvedores de apps.
Próximas etapas / Saiba mais
Treinamento e certificação do Google Cloud
Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.
Manual atualizado em 5 de agosto de 2025
Laboratório testado em 5 de agosto de 2025
Copyright 2026 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.