Mascarar URLs com uma política de transformação
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:
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.