Exercício – remover informações de cabeçalhos
As empresas que publicam APIs Web com frequência precisam de controlar cuidadosamente os cabeçalhos HTTP devolvidos pelas APIs, de preferência sem ter de reescrever o código fonte da API.
O governo decidiu compartilhar dados do censo com suas agências por meio de APIs RESTful. Os requisitos essenciais determinam que os dados são partilhados com segurança e podem ser facilmente corrigidos para facilitar a sua rápida integração. Como programador principal, tem de criar um gateway de API. Você usa o gateway para publicar uma API RESTful Census que expõe um ponto de extremidade OpenAPI usando padrões de segurança modernos.
Neste exercício, irá:
- Publicar uma API de Censo RESTful.
- Implementar um gateway de Gestão de API.
- Expor a API de Censo através do ponto final do gateway.
- Remova um cabeçalho da resposta.
Importante
Precisa da sua própria subscrição do Azure para executar este exercício e poderá incorrer em custos. Se ainda não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Implantar a API da Web do Censo
Você desenvolveu um aplicativo .NET Core que retorna informações confidenciais do censo. A aplicação inclui o Swashbuckle para gerar a documentação do OpenAPI.
Para poupar tempo, vamos começar por executar um script para alojar a nossa API RESTful no Azure. O script realiza os passos seguintes:
- Cria um plano do Serviço de Aplicações do Azure no escalão gratuito.
- Ele cria uma API Web dentro de um Serviço de Aplicativo do Azure, que é configurado para implantação do Git a partir de um repositório local.
- Define as credenciais de implementação de nível de conta para a nossa aplicação.
- Configura o Git localmente.
- Ele implanta nossa API da Web em nossa instância do Serviço de Aplicativo.
Inicie sessão no portal do Azure.
Na barra de tarefas do Azure, selecione o ícone do Cloud Shell para abrir o Azure Cloud Shell.
Para clonar o repositório que contém a origem do nosso aplicativo, execute o seguinte
git clone
comando no Cloud Shell:git clone https://github.com/MicrosoftDocs/mslearn-protect-apis-on-api-management.git
Para navegar para a pasta do repositório localmente, execute o seguinte comando:
cd mslearn-protect-apis-on-api-management
Como o próprio nome sugere, setup.sh é o script que você executa para criar nossa API de teste. Este script irá gerar uma aplicação Web pública que expõe uma interface de OpenAPI:
bash setup.sh
A execução do script demora cerca de um minuto. Quando o script estiver concluído, apresenta dois URLs que pode utilizar para testar a implementação da aplicação. Repare que, durante a implementação, todas as dependências necessárias para a nossa aplicação ser executada são automaticamente instaladas no Serviço de Aplicações remoto.
Para testar se nosso aplicativo foi implantado corretamente, copie e cole o primeiro URL da saída do Cloud Shell em seu navegador. O browser deverá apresentar a IU do Swagger da nossa aplicação e declarar os seguintes pontos finais RESTful:
- api/census, que devolve um censo e as pessoas associadas
- api/census/{censusYear}, que devolve um censo e as pessoas associadas para o ano especificado
- api/people/{reference}, que devolve informações detalhadas sobre uma pessoa específica
Por fim, copie o último URL da saída do Cloud Shell. Este URL é o URL JSON swagger, que você precisa mais adiante neste exercício.
Implementar um gateway de API
O passo seguinte neste exercício é criar um gateway de API no portal do Azure. Na próxima secção, irá utilizar este gateway para publicar a sua API:
Inicie sessão no portal do Azure.
No menu do portal do Azure ou a partir da Home Page, selecione Criar um recurso. O painel Criar um recurso é exibido.
No painel de menu esquerdo, selecione Integração e insira Gerenciamento de API na caixa de pesquisa Serviços de pesquisa e marketplace. Selecione o cartão de Gerenciamento de API nos resultados e selecione Criar para abrir o painel de serviço Criar Gerenciamento de API.
Na guia Noções básicas, insira os seguintes valores para cada configuração.
Definição valor Detalhes do projeto Subscrição Selecione a sua subscrição Grupo de recursos Selecione um grupo de recursos novo ou existente. Um grupo de recursos é um contêiner lógico que contém recursos relacionados para uma solução do Azure. Detalhes da instância Região Selecione uma região disponível. Nome do recurso Digite apim-CensusData<random number>
, substituindorandom number
por sua própria série de números para garantir que o nome seja globalmente exclusivo.Nome da organização Introduzir Government-Census
. O nome da sua organização para uso no portal do desenvolvedor e notificações por e-mail. (O portal do desenvolvedor e as notificações não estão disponíveis em todas as camadas de serviço.)E-mail do administrador O endereço de e-mail para receber todas as notificações do sistema. Escalão de preço Escalão de preço Selecione Consumption (99.95% SLA)
na lista suspensa.Nota
A camada Consumo fornece implantação rápida para testes e tem um modelo de preços de pagamento por uso. A experiência geral de gerenciamento de API é semelhante aos outros níveis de preços.
Selecione Rever + criar. Depois que a validação for aprovada, selecione Criar. A implementação poderá demorar vários minutos. Quando a implantação for concluída, você verá a instância de Gerenciamento de API listada nos recursos do Azure. Selecione Ir para recurso para visualizar o painel do seu serviço de Gerenciamento de API.
Importar a API
Agora, importe a API do Census para o gateway de Gerenciamento de API:
No painel de menu esquerdo da sua instância de Gerenciamento de API, em APIs, seleciona APIs e + Adicionar API.
Em Criar a partir da definição, selecione OpenAPI. A caixa de diálogo Criar a partir da especificação OpenAPI é exibida.
No campo de especificação OpenAPI, cole o URL JSON swagger que você salvou anteriormente no exercício.
Nota
Você notará que, quando você tabular fora da caixa, alguns dos outros campos são preenchidos para você. Isso ocorre porque você usou OpenAPI, que especifica a maioria dos detalhes de conexão necessários.
Deixe as outras configurações em seus padrões e selecione Criar.
Testar a API
Vejamos os dados que são devolvidos por predefinição pela API:
No menu do portal do Azure ou na página inicial, selecione Todos os Recursos e selecione sua instância de Gerenciamento de API.
No painel de menu esquerdo, em APIs, selecione APIs e, no painel central, selecione Dados do censo.
Na barra de menu superior, selecione a guia Teste e, em seguida, selecione a operação GetLatestCensus.
Selecione Enviar.
Observe que x-powered-by aparece na resposta e mostra que a estrutura está ASP.NET.
Remover os cabeçalhos
Agora adicionamos uma política para remover o cabeçalho x-powered-by das respostas enviadas pela API:
Selecione Dados do censo novamente e, na barra de menu superior, selecione a guia Design .
Selecione Todas as operações e, na seção Processamento de saída, selecione o <ícone /> . O editor XML de política é exibido.
Substitua a etiqueta predefinida
<outbound>
por este código:<outbound> <set-header name="x-powered-by" exists-action="delete" /> <base /> </outbound>
Selecione Guardar.
Testar a remoção de cabeçalhos
Agora deverá conseguir executar um teste para demonstrar que os cabeçalhos foram removidos:
Selecione Dados do censo novamente e, na barra de menu superior, selecione a guia Teste .
Selecione a operação GetLatestCensus e, em seguida, selecione Enviar.
O cabeçalho x-powered-by não deve estar na resposta HTTP.