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 obedecer a uma alteração de legislação ou resolver uma nova ameaça de segurança.

O exemplo de API de censo expõe detalhes sobre a URL da qual a API está sendo chamada. Essa informação pode permitir que um usuário mal-intencionado tente acessar os dados do censo ignorando o gateway do Gerenciamento de API e expondo um ponto de extremidade menos seguro. Como desenvolvedor líder, você deseja mascarar essas URLs no corpo da resposta da API.

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

Por que transformar uma resposta?

O corpo da resposta de uma chamada à API contém os dados que estão sendo solicitados. Na API de Censo, por exemplo, o corpo da resposta contém os dados JSON dos entrevistados. Você também pode ver que o corpo contém links de URL para exibir pessoas individuais:

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

Esses links são baseados nos pontos de extremidade da API de Censo e precisam ser mascarados para mostrar URLs do Gerenciamento de API em vez disso.

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

Observação

É uma prática recomendada proteger a API de back-end usando um dos mecanismos disponíveis no Gerenciamento de API. Por exemplo, configure-a para exigir um certificado de cliente e configure o Gerenciamento de API para fornecer esse certificado. Nessa configuração, ninguém pode chamar a API de back-end diretamente e ignorar o gateway do Gerenciamento de API, porque a pessoa não tem um certificado reconhecido pelo back-end.

Política de transformação

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

Transformação Descrição
Converter JSON para XML Converte o corpo da solicitação ou da resposta de JSON para XML.
Converter XML para JSON Converte o corpo da solicitação ou da resposta de XML para JSON.
Localizar e substituir cadeia no corpo Encontra uma subcadeia de caracteres de uma solicitação ou resposta e a substitui por outra subcadeia de caracteres.
Mascarar URLs no conteúdo Reescreve os links no corpo da resposta para que eles apontem para o link equivalente por meio do gateway.
Definir o serviço de back-end Altera o serviço de back-end para uma solicitação de entrada.
Definir corpo Define o corpo da mensagem para uma solicitação ou resposta.
Definir cabeçalho HTTP Atribui um valor a uma resposta ou cabeçalho de resposta existente, ou adiciona uma nova resposta ou cabeçalho de resposta.
Definir parâmetro de cadeia de consulta Adiciona, substitui o valor ou exclui parâmetros de cadeias de consulta de solicitação.
Reescrever URL Converte a URL de uma solicitação de sua forma pública em sua forma esperada pelo serviço Web.
Transformar XML usando um XSLT Aplica uma transformação XSL ao XML no corpo da solicitação ou da resposta.

No exercício a seguir, você usará a transformação Mascarar URLs no conteúdo para alterar os links.