변환 정책을 사용하여 URL 마스킹

완료됨

조직은 API가 촉박하게 게시하는 정보를 조정해야 할 수 있습니다. 예를 들어 변경된 법률을 준수하거나 새로운 보안 위협에 대처하기 위해서입니다.

Census API 예제는 API가 호출되는 URL에 대한 세부 정보를 표시합니다. 이 정보를 통해 악의적인 사용자는 API Management 게이트웨이를 우회하고 보안 수준이 낮은 엔드포인트를 노출하여 인구 조사 데이터에 액세스하려고 시도할 수 있습니다. 선임 개발자는 API의 응답 본문 내에서 이러한 URL을 마스킹하고자 할 수 있습니다.

이제 API 응답 헤더와 본문의 콘텐츠를 조작하는 API Management 정책을 사용하는 방법에 대해 알아보겠습니다.

응답을 변환하는 이유

API 호출의 응답 본문에는 요청되는 데이터가 포함됩니다. 예를 들어 Census API에서는 응답 본문에 응답자에 대한 JSON 데이터가 포함됩니다. 또한 개별 사용자를 볼 수 있는 URL 링크가 본문에 어떻게 포함되어 있는지 확인할 수 있습니다.

마스크 해제된 URL 링크를 보여 주는 href 값이 강조 표시된 기본 HTTP 응답의 스크린샷

Census API 엔드포인트를 기반으로 하는 이러한 링크는 대신 API Management URL을 표시하도록 마스킹해야 합니다.

이 구성을 위해 변환 정책을 만들어보겠습니다.

참고 항목

API Management에서 사용 가능한 메커니즘 중 하나를 사용하여 백 엔드 API를 보호하는 것이 가장 좋습니다. 예를 들어 클라이언트 인증서를 요구하도록 구성한 다음 해당 인증서를 제공하도록 API Management를 구성합니다. 이 구성을 사용하면 백 엔드에서 인식할 수 있는 인증서가 없기 때문에 아무도 백엔드 API를 직접 호출하고 API Management 게이트웨이를 우회할 수 없습니다.

변환 정책

변환 정책은 API 호출의 콘텐츠를 수정합니다. 일부 변환 정책은 헤더에 적용되고 나머지는 본문에 적용됩니다. 다음 변환을 사용할 수 있습니다.

변환 Description
JSON을 XML로 변환 요청 또는 응답 본문을 JSON에서 XML로 변환합니다.
XML을 JSON으로 변환 요청 또는 응답 본문을 XML에서 JSON으로 변환합니다.
본문 문자열 찾기 및 바꾸기 요청 또는 응답 하위 문자열을 찾고 다른 하위 문자열로 바꿉니다.
콘텐츠의 URL 마스킹 게이트웨이를 통해 동등한 링크를 가리키도록 응답 본문에서 링크를 다시 작성합니다.
백엔드 서비스 설정 들어오는 요청의 백엔드 서비스를 변경합니다.
본문 설정 요청 또는 응답의 메시지 본문을 설정합니다.
HTTP 헤더 설정 기존 응답 또는 요청 헤더에 값을 할당하거나 새 응답 또는 요청 헤더를 추가합니다.
쿼리 문자열 매개 변수 설정 요청 쿼리 문자열 매개 변수를 추가 또는 삭제하거나 값을 바꿉니다.
URL 다시 작성 요청 URL을 공용 양식에서 웹 서비스에 필요한 양식으로 변환합니다.
XSLT를 사용하여 XML 변환 요청 또는 응답 본문의 XML에 XSL 변환을 적용합니다.

다음 연습에서는 콘텐츠의 URL 마스크 변환을 사용하여 링크를 변경합니다.