구독해서 새 게시물에 대한 알림을 받으세요.

Cloudflare API Gateway 발표

2022-03-16

7분 읽기
이 게시물은 English, 繁體中文, Français, Deutsch, Italiano, 日本語, Español简体中文로도 이용할 수 있습니다.

지난 10년간 인터넷은 구조적인 변화를 겪었습니다. 인터넷은 텍스트, 이미지, 간헐적으로 삽입된 동영상이 포함되었던 정적 웹 사이트로 구성되어 있었습니다. 하지만 인터넷은 엄청나게 성장했습니다. 우리는 이제 삶의 거의 모든 측면에서 도움을 받기 위해 API 기반 응용 프로그램에 의존합니다. 단순히 파일을 다운로드하는 대신 우리는 많은 양의 데이터를 교환하여 앱과 연결될 수 있습니다. 운동 진행 상황을 추적하고 결과를 클라우드로 전송합니다. 스마트 잠금과 모든 종류의 IoT 장치를 사용합니다. 또한 온라인에서 친구와 상호 작용합니다.

Announcing the Cloudflare API Gateway

모두 좋은 일이지만, 백엔드에서는 복잡성이 폭증했습니다. 왜 그랬을까요? 개발자는 이러한 기능을 지원하기 위해 API를 관리해야 합니다. 개발자는 모든 요청을 모니터링하고 인증해야 합니다. 또한 이러한 작업은 매우 어려우므로 보통 API 게이트웨이 공급자에게 아웃소싱됩니다.

애석하게도 오늘날 게이트웨이에는 아쉬운 점이 많습니다. 우선 가격이 저렴하지 않습니다. 성능 영향도 있습니다. 마지막으로 데이터 및 개인정보 보호 위험이 있습니다. 트래픽의 50% 이상이 API에 도달하기 때문입니다(또한 짐작하건대 타사 게이트웨이를 통해 전송됩니다). 정말 복잡합니다.

오늘 우리는 Cloudflare API Gateway를 발표합니다. 여러분의 기존 게이트웨이를 몇 분의 일의 비용으로 우리가 완벽하게 대체하게 됩니다. 또한 Cloudflare 솔루션은 Workers, 봇 관리, Access변환 규칙에 사용되는 기술을 사용하여 시중에서 최첨단인 API 도구 세트를 제공합니다.

API Gateway는 무엇일까요?

간단히 말하자면 이는 API를 위한 모든 작업을 수행하는 주요 기능 패키지입니다. 이를 3가지 범주로 나누어 살펴보겠습니다.

보안우리가 이미 블로그에서 다룬 제품입니다. 탐색, 스키마 유효성 검사, 남용 감지 등의 도구입니다. 우리는 API 세계에 Cloudflare의 보안 전문 지식을 적용하기 위해 많은 시간을 투자했습니다.

관리 및 모니터링이는 API를 정비하는 기본 도구입니다. 몇 가지 예로는 분석, 라우팅, 인증이 있습니다. 우리는 이미 이러한 작업을 Cloudflare Access와 같은 기존 제품으로 수행할 수 있으며 더 많은 주요 기능을 출시할 예정입니다.

다른 모든 것이는 모든 것이 실행되도록 해주는, 사소하지만 중요한 항목입니다. Cloudflare는 이미 기본적으로 실행할 수 있는 SSL/TLS 종료, 부하 분산, 프록시 서비스를 제공합니다.

오늘 블로그 포스트에서는 각 주요 기능을 자세하게 설명합니다. 이제 일반적으로 사용할 수 있는 모든 보안 기능을 발표할 수 있어 기쁘게 생각합니다. 이러한 기능을 다루며 시작해 보겠습니다.

탐색

Cloudflare 고객은 자신의 API를 보호하고 싶어 합니다. 애석하게도 이러한 엔드포인트가 항상 기록되어 있지는 않거나, 더 심각하게는 모든 것이 기록되어 있다고 생각하지만 알아채지 못하는 사이에 분실되거나 엔드포인트가 수정되어 있습니다. 이러한 숨겨진 엔드포인트는 종종 섀도우 API라고 부릅니다. 완전하며 정확한 API 표면 영역의 이미지에서부터 우리의 여정을 시작하겠습니다.

이러한 부분에서 탐색이 사용됩니다. Cloudflare dashboard로 이동하여 보안 탭을 선택한 다음 ‘API Shield’를 선택합니다. 주요 기능을 활성화하고 여러분의 API 트래픽을 어떻게 식별하고 싶은지 우리에게 알려주세요. 대부분의 사용자는 헤더(현재 이용 가능)를 제공하지만 우리는 요청 본문 또는 쿠키(곧 이용 가능)도 사용할 수 있습니다.

우리는 여러분의 API 엔드포인트의 완전한 목록을 제공합니다. Cloudflare에는 여러분이 표면 영역을 이해할 수 있도록 각 메서드, 경로, 추가 메타데이터가 나열됩니다. 우리는 변수(예: /account/217)를 포함하는 엔드포인트를 일반적으로 적용할 수 있도록(예: /account/{var1}) 축약하기도 합니다.

The Cloudflare API Shield tab, showing various endpoints that have been discovered and a set of recommended rate limiting thresholds.

탐색은 강력한 엔트로피 대책입니다. Cloudflare 고객은 종종 30개의 엔드포인트를 찾기를 기대하지만, _100_개 이상의 활성 엔드포인트를 보유하고 있음에 놀라곤 합니다.

스키마 유효성 검사

어쩌면 여러분은 이미 여러분의 API 엔드포인트를 위한 스키마를 보유하고 있을 수도 있습니다. 스키마는 템플릿과 비슷해서 여러분이 API 요청에 포함되리라 기대하는 경로, 메서드, 추가 데이터를 제공합니다. 많은 개발자는 OpenAPI 표준에 따라 스키마를 생성 및 유지합니다.

여러분의 보안을 강화하기 위해 우리는 이러한 스키마에 대해 유입되는 트래픽을 _검증_할 수 있습니다. 이는 기본 공격을 차단하는 훌륭한 방법입니다. Cloudflare는 관행에 따르지 않는 요청을 반환하여 드레스코드를 무시한 터무니없는 트래픽을 폐기합니다. 여러분은 스키마를 단순히 대시보드에 업로드하고 원하는 작업을 선택한 다음 배포만 하면 됩니다.

스키마 유효성 검사는 이미 세계에서 가장 큰 가상화폐 사이트, 배송 서비스, 결제 플랫폼 중 일부를 점검했습니다. 이 검사는 이제 이용 가능하며, Cloudflare는 본문 유효성 검사를 곧 추가할 예정입니다.

A step in the schema upload process, after a schema has already been provided. Cloudflare lists out each endpoint with path, query, header, cookies, and body provided as metadata.

남용 감지

강력한 보안 접근 방식은 스키마 유효성 검사 탐색을 함께 사용하여 트래픽이 예상 형식과 일치할 수 있도록 합니다. 그러나 이를 통과하는 남용되는 트래픽은 어떨까요?

Cloudflare가 새로운 API 엔드포인트를 파악함에 따라 우리는 사실 각각의 엔드포인트를 위한 속도 제한을 권장합니다. 이는 남용을 감지하는 역할이며 보다 정교한 유형의 보안을 제공합니다.

날씨 업데이트를 반환하는 API 엔드포인트를 고려해 보겠습니다. 구체적으로 이 엔드포인트는 1시간 이내에 눈이 내릴 가능성이 크다면 ‘예’를 반환하고 그렇지 않다면 ‘아니요’를 반환합니다. Cloudflare 알고리즘은 평균적인 사용자가 이러한 데이터를 10분에 한 번 꼴로 요청한다는 것을 감지할 수 있습니다. 그러나 소규모 스크래퍼 그룹은 10분당 37개의 요청을 전송합니다. Cloudflare는 일반 사용자에게 여유 공간을 제공하기 위해 자동으로 이 사이에 있는 임계값을 권장합니다. 따라서 남용되는 스크래핑 서비스가 날씨 데이터를 너무 자주 가져가는 것이 방지됩니다.

Cloudflare는 당사의 새로운 고급 속도 제한 엔진을 사용하여 규칙을 생성하는 옵션을 제공합니다. 여러분은 쿠키, 헤더 등을 사용하여 임계값을 조정할 수 있습니다. Cloudflare는 몇 달 동안 남용 감지를 사용하여 api.cloudflare.com을 보호해왔습니다.

이러한 주요 기능에서 우리가 가장 좋아하는 부분은 우리가 봇 관리를 위해 사용하는 기계 학습 접근 방식에 의존한다는 사실입니다. Cloudflare의 여러 제품이 서로에게 반영되고 도움이 되는 또 다른 방식입니다.

남용 감지를 이제 이용할 수 있습니다. 비정상적인 요청 흐름을 표시하기 위해 사용하는 순차 남용 감지에 관심이 있으시면 우리의 이전 블로그 게시물을 확인하세요. 순차적인 부분은 초기 액세스에 있으며 공식 출시 전에 저희는 이를 지속해서 조정하고 있습니다.

mTLS

상호 TLS는 보안을 새로운 수준으로 높입니다. 여러분은 인증서를 사용하여 유입되는 트래픽이 여러분의 API에 도달함에 따라 이를 검증할 수 있습니다. 이는 모바일 및 IoT 장치에 특히 유용합니다. 또한 이는 대부분의 장치 생태계에서 채택할 수 있으며 채택되어야 하는 훌륭한 적극적인 보안 모델입니다.

예를 들기 위해 날씨 API로 되돌아가겠습니다. 어쩌면 이 서비스에는 온도계로부터 현재 온도를 수신하는 두 번째 엔드포인트가 포함될 수 있습니다. 이것이 문제입니다. 누구든지 가짜 요청을 전송하여 엔드포인트에 부정확한 판독값을 제공할 수 있습니다. 이를 방지하기 위해 mTLS를 사용하여 정상적인 온도계에 클라이언트 인증서를 설치한 다음 Cloudflare가 인증서를 검증하도록 합니다. 다른 모든 요청은 반환됩니다. 문제가 해결되었습니다!

Cloudflare는 이미 모든 Cloudflare 고객에게 무료 인증서 세트를 제공하고 있습니다. 이는 계속될 것입니다. 그러나 오늘부터 API Gateway 고객은 무제한 인증서를 기본적으로 받습니다.

인증

많은 수의 최신 API가 인증을 요구합니다. 사실상 인증은 세션(로그인 포함), 개인 데이터 익스체인지 및 인프라 효율성을 가능케 하는 모든 기능을 제공합니다. 당연히 Cloudflare는 인증된 트래픽이 당사 네트워크를 통과할 때 이를 보호합니다.

그러나 API Gateway를 사용하면 Cloudflare 사용자는 트래픽 인증 시 더욱 활발한 역할을 수행합니다. 이는 다음을 발급하고 인증하는 데 도움이 됩니다.

  • API 키

  • JSON 웹 토큰(JWT)

  • OAuth 2.0 토큰

액세스 제어 목록을 사용하여 Cloudflare는 여러분이 다양한 권한을 가진 여러 사용자 그룹을 관리할 수 있도록 돕습니다. 이는 여러분의 현재 공급자가 대기 시간을 크게 늘리고 불필요한 데이터 익스체인지를 도입하기 때문에 중요합니다. 요청이 Cloudflare 생태계 _외부_로 전송되어야 한다면 이는 필요 이상으로 더 멀리 이동하는 것입니다.

Cloudflare는 짧은 시간 내에 요청을 자체적인 전역 네트워크에서 인증하고 처리할 수 있습니다. 이러한 유형의 기술은 구현하기 어렵지만, 우리는 이 기술이 무시하기에는 너무 중요하다고 생각했습니다. Cloudflare는 어떻게 이를 빠르게 구축했을까요? Cloudflare Access 덕분입니다. 우리는 ID 공급자와의 협업 경험을 살려 다시 한 번 이를 API 세계로 이식했습니다. Cloudflare 게이트웨이에는 무제한 인증 및 토큰 익스체인지가 포함됩니다. 이러한 주요 기능은 곧 제공될 예정입니다.

Additional latency incurred by sending requests out of the Cloudflare network for authentication.

라우팅 및 관리

마이크로서비스를 잠깐 다루겠습니다. 최신 응용 프로그램은 거대합니다. 따라서 개발자는 이를 보다 작은 단위인 ‘마이크로서비스’로 분할했습니다.

호텔 객실을 예약하는 데 도움을 주는 응용 프로그램을 살펴보겠습니다. 이 프로그램에서는 마이크로서비스를 사용하여 이용 가능한 날짜를, 다른 마이크로서비스를 사용하여 가격을, 또 다른 마이크로서비스로 객실 유형을 가져올 수 있습니다. 각기 다른 팀이 각 마이크로서비스를 관리할지도 모르지만, 모두 단일 공용 진입점에서 사용 가능해야 합니다.

이러한 단일 진입점(기존에는 API 게이트웨이에서 관리함)에서는 각 요청을 적절한 마이크로서비스로 _라우팅_하는 것을 담당합니다. 많은 Cloudflare 고객은 이를 위해 몇 년간 독립형 서비스에 비용을 지불해 왔습니다. 우리는 에지에서 동적으로 재작성하고 재라우팅하기 위해 변환 규칙 제품을 기반으로 구축했습니다. 이는 구성이 쉽고 배포가 빠르며 API Gateway에 기본적으로 구축되어 있습니다. Cloudflare는 이제 여러분의 API 단일 진입점이 될 수 있습니다.

Various steps in an architecture that relies on microservices. A visitor makes a request to a hotel API, which is then routed towards available dates, prices, or room types.

이는 빙산의 일각에 불과합니다. API Gateway는 실제로 Workers 제품과의 통합을 통해 여러분의 마이크로서비스를 대체할 수 있습니다. 어떻게요? 동일한 작업을 수행하는 Worker 작성을 살펴 보겠습니다. 어쩌면 호텔 가격을 반환할 수도 있습니다. 이는 Cloudflare 네트워크의 Durable Objects에 저장됩니다. API Gateway를 통해 Cloudflare 네트워크에 도달한 요청은 변환 규칙을 통해 올바른 마이크로서비스로 라우팅됩니다. 그런 다음 Workers(여전히 Cloudflare 네트워크에 있음!)를 완벽하게 제공합니다. 이러한 Workers는 필요한 경우 추가 정보를 위해 여러분의 원점에 접촉할 수도 있습니다.

Workers는 마이크로서비스 대안보다 더 빠르고, 저렴하며, 간단합니다. 이 통합은 곧 제공될 예정입니다.

Cloudflare’s simplified API architecture. With authentication, routing, management, and storage handled at the edge, several hops are eliminated.

API Analytics

고객은 우리에게 API 트래픽을 보는 것이 실행하는 것보다 더 중요하다고 종종 말하곤 합니다. 사실상 이러한 동향은 API에서만 나타나는 것이 아닙니다. 우리는 오늘 위협에 대한 정보를 수동적으로 기록하기 위해 한 명의 고객이 어떻게 Cloudflare 봇 인텔리전스를 사용하는지를 알아보는 또 다른 블로그 포스트를 게시했습니다.

API Analytics를 통해 우리는 실시간으로 유용한 데이터를 선보이기 위해 당사의 다른 제품을 이용했습니다. 여러분은 인기 있는 엔드포인트를 보고, ML 기반 인사이트로 필터링하며, 남용 임계값의 히스토그램을 보고, 동향을 캡처할 수 있습니다.

API Analytics는 곧 제공될 예정입니다. 제공되면 여러분은 사용자 지정 보고서를 내보내고 조직 내에서 인사이트를 공유할 수 있습니다.

로깅, 할당량 관리 등

확립된 모든 주요 기능(예: 캐싱, 부하 분산, 로그 통합)은 기본적으로 API Gateway와 함께 작동합니다. 이를 원시적인 게이트웨이 주요 기능이라고 간과해서는 안 됩니다. 모두 중요합니다. 또한 Cloudflare가 이러한 모든 기능을 한 장소에서 수행하므로 여러분은 어떠한 조치를 취하지 않더라도 대기 시간 이점을 누릴 수 있습니다.

우리는 또한 실시간 로깅을 수행하기 위해 엔터프라이즈 로그 기능을 확장하고 있습니다. Cloudflare 네트워크에서 인증하기로 선택하면 API에 액세스한 각 사용자의 세부적인 로그를 열람할 수 있습니다. 비슷하게, 우리는 각 요청을 수신하고, 검증하며, 라우팅하고, 응답함에 따라 각 요청의 수명을 기록합니다. 모든 것이 기록됩니다.

마지막으로 우리는 할당량 관리를 구축하고 있습니다. 이 기능으로 더 오랜 기간 동안(예: 한 달) API 요청을 계산합니다. 또한 여러분이 사용자를 위한 임계값을 관리할 수 있도록 합니다. 우리는 또한 보다 정교한 사례(GraphQL을 위한 본문 검사 포함)에 도움을 드리기 위해 고급 속도 제한을 출시했습니다.

결론

Cloudflare의 모든 보안 기능(탐색, 스키마 유효성 검사, 남용 감지, mTLS)이 이제 이용 가능합니다! 우리는 이러한 주요 기능을 API Shield라고 부릅니다. 나머지 게이트웨이 기능을 보호하는 차단막을 형성하기 때문입니다. Enterprise 고객은 오늘 자신의 계정 팀에 이에 대한 액세스를 요청할 수 있습니다.

API Gateway의 다른 많은 부분이 이제 초기 액세스 상태에 있습니다. Gartner®에 따르면, “2025년까지 기업 API의 50% 미만이 API의 폭발적인 성장이 API 관리 도구의 기능을 능가함에 따라 관리될 것입니다.” Cloudflare의 목표는 이러한 동향에 대응할 합리적인 가격의 게이트웨이를 제공하는 것입니다. 테스트하고 싶은 특정 기능이 있으시면 우리가 여러분을 가능한 한 빨리 온보딩할 수 있도록 여러분의 계정 팀에 알려주세요.

출처: Gartner, “2022년 예측: API 수요에 따라 보안 및 관리가 개선되다”, Shameen Pillai, Jeremy D'Hoinne, John Santoro, Mark O'Neill, Sham Gill, 2021년 12월 6일. GARTNER는 Gartner, Inc. 및/또는 미국 내 계열사의 등록 상표 및 서비스 마크이며 허가를 받고 본 문서에 사용하였습니다. 모든 권리는 저작권자에게 있습니다.

Cloudflare에서는 전체 기업 네트워크를 보호하고, 고객이 인터넷 규모의 애플리케이션을 효과적으로 구축하도록 지원하며, 웹 사이트와 인터넷 애플리케이션을 가속화하고, DDoS 공격을 막으며, 해커를 막고, Zero Trust로 향하는 고객의 여정을 지원합니다.

어떤 장치로든 1.1.1.1에 방문해 인터넷을 더 빠르고 안전하게 만들어 주는 Cloudflare의 무료 앱을 사용해 보세요.

더 나은 인터넷을 만들기 위한 Cloudflare의 사명을 자세히 알아보려면 여기에서 시작하세요. 새로운 커리어 경로를 찾고 있다면 채용 공고를 확인해 보세요.
Security Week (KO)API Gateway (KO)제품 뉴스API (KO)보안

X에서 팔로우하기

Ben Solomon|@bensol
Cloudflare|@cloudflare

관련 게시물

2024년 10월 24일 오후 1:00

Durable Objects aren't just durable, they're fast: a 10x speedup for Cloudflare Queues

Learn how we built Cloudflare Queues using our own Developer Platform and how it evolved to a geographically-distributed, horizontally-scalable architecture built on Durable Objects. Our new architecture supports over 10x more throughput and over 3x lower latency compared to the previous version....