Mascarar URLs com uma política de transformação

Concluído

As organizações podem precisar ajustar as informações que uma API publica em curto prazo. Por exemplo, para cumprir uma mudança de legislação ou lidar com uma nova ameaça à segurança.

O exemplo da API do Census expõe detalhes sobre a URL da qual a API está sendo chamada. Estas informações podem permitir que um utilizador malicioso tente aceder aos dados do censo ao omitir o gateway de Gestão de API e expor um ponto final menos seguro. Enquanto programador principal, quer mascarar estes URLs no corpo da resposta da API.

Aqui, você aprenderá a usar políticas de Gerenciamento de API que manipulam o conteúdo de cabeçalhos e corpos de resposta de API.

Qual é o objetivo de transformar uma resposta?

O corpo de resposta de uma chamada à API contém os dados que estão a ser pedidos. Na API de Censo, por exemplo, o corpo da resposta contém os dados JSON dos autores das respostas. Também pode ver que o corpo contém ligações de URL para ver pessoas individuais:

Captura de tela de uma resposta HTTP padrão com o valor href realçado, mostrando um link de URL desmascarado.

Estas ligações baseiam-se nos pontos finais da API de Censo e têm de ser mascaradas para mostrar os URLs de Gestão de API.

Para obter essa configuração, crie uma política de transformação.

Nota

É uma prática recomendada proteger a API de back-end usando um dos mecanismos disponíveis no Gerenciamento de API. Por exemplo, configure-o para exigir um certificado de cliente e, em seguida, configure o Gerenciamento de API para fornecer esse certificado. Nesta configuração, ninguém pode chamar a API de back-end diretamente e contornar o gateway de Gestão de API, pois é necessário um certificado que seja reconhecido pelo back-end.

Política de transformação

Uma política de transformação modifica os conteúdos de uma chamada à API. Algumas políticas de transformação aplicam-se ao cabeçalho e outras aplicam-se ao corpo. Estão disponíveis as seguintes transformações:

Transformação Description
Converter JSON em XML Converte o corpo de uma resposta ou pedido de JSON em XML.
Converter XML em JSON Converte o corpo de uma resposta ou pedido de XML em JSON.
Localizar e substituir uma cadeia no corpo Localiza a subcadeia de uma resposta ou pedido e substitui-a por uma subcadeia diferente.
Mascarar URLs em conteúdos Reescreve ligações no corpo da resposta para que apontem para a ligação equivalente através do gateway.
Definir serviço de back-end Altera o serviço de back-end de um pedido recebido.
Definir corpo Define o corpo da mensagem para uma solicitação ou resposta.
Definir cabeçalho HTTP Atribui um valor ao cabeçalho de uma resposta ou pedido existente, ou adiciona um novo cabeçalho de resposta ou pedido.
Definir parâmetro de cadeia de consulta Adiciona, elimina ou substitui o valor do parâmetro da cadeia de consulta de um pedido.
Reescrever URL Converte o URL de um pedido em formato público no formato esperado pelo serviço Web.
Transformar XML através de um XSLT Aplica uma transformação XSL ao XML no corpo da resposta ou pedido.

No exercício a seguir, use a transformação Mascarar URLs na transformação de conteúdo para alterar os links.