API 제품 소개

이 페이지는 ApigeeApigee Hybrid에 적용됩니다.

Apigee Edge 문서 보기

다음 섹션에서는 API 제품과 할당량, API 키 등의 관련 개념을 소개합니다.

API 제품이란 무엇인가요?

API 제공업체는 API 제품을 만들어 API를 번들로 묶고 앱 개발자가 사용할 수 있도록 제공합니다. API 제품을 제품군으로 생각할 수 있습니다.

특히 API 제품은 하나 이상의 작업과 함께 번들로 제공합니다. 작업은 API 프록시와 해당 프록시에서 액세스할 수 있는 리소스 경로를 지정합니다. HTTP 메서드 및 할당량에 따라 액세스를 제한할 수도 있습니다.

API 제품은 API에 대한 액세스 제어를 위한 중앙 메커니즘입니다. 개발자 앱에서 하나 이상의 API 제품을 정의하면 API 키로 프록시에 대한 액세스를 제한할 수 있습니다. Apigee에서는 API 자체가 아닌 API 제품용 API 키가 프로비저닝됩니다. 즉, API 키는 제품 라인 또는 특정 서비스 요금제를 정의하는 작업 번들에 프로비저닝됩니다.

일반 사용 사례

특정 사용 사례를 해결하는 작업을 포함하는 여러 API 제품을 만들 수 있습니다. 예를 들어 매핑 리소스를 포함하는 다양한 작업을 번들로 제공하는 API 제품을 만들면 개발자가 지도를 애플리케이션에 쉽게 통합하도록 할 수 있습니다.

또한 API 제품을 사용하여 다음과 같은 기준을 기반으로 가격 책정 수준을 정의할 수 있습니다.

요청 수:

  • 프리미엄: 일일 요청 무제한
  • 기본: 일일 요청 최대 1,000회
  • 무료: 일일 요청 최대 100회

또는 액세스 수준:

  • 프리미엄: 읽기, 쓰기, 업데이트, 삭제
  • 기본: 읽기, 업데이트
  • 무료: 읽기 전용

또는 위의 모든 조합

  • 엑스트라 프리미엄: 일일 읽기 및 쓰기 횟수 무제한
  • 프리미엄: 일일 요청 최대 1,000회에 대한 읽기 및 쓰기 액세스
  • 기본: 일일 요청 최대 100회에 대한 읽기 및 쓰기 액세스
  • 무료: 일일 요청 최대 1,000회에 대한 읽기 액세스
  • 무료: 일일 요청 100회로 제한되는 읽기 전용 액세스

요구사항

사용한 만큼만 지불의 일부인 API 제품에는 다음이 포함되어야 합니다.

작업

작업은 리소스 경로, HTTP 메서드, 할당량과 같은 기준에 따라 하나 이상의 API 프록시에 대한 액세스를 제한하는 속성 그룹입니다. 작업에는 다음 속성이 포함됩니다.

속성 필수 여부 설명
API 프록시 필수 각 작업 그룹은 API 프록시를 지정해야 합니다. 작업 그룹당 하나의 프록시만 허용됩니다.
원격 서비스 조건부 Envoy용 Apigee 어댑터를 설치하고 사용할 계획인 경우에만 필요합니다.
리소스 경로 필수 각 작업 그룹은 하나 이상의 리소스 경로를 지정해야 합니다. 작업의 리소스 경로는 API 프록시의 특정 리소스에 대한 액세스를 제한합니다. 리소스 경로는 프록시 기본 경로 뒤에 오는 API 프록시 요청 URL의 일부입니다.
HTTP 메서드 선택사항 HTTP 메서드로 프록시에 대한 액세스를 제한할 수도 있습니다. 예를 들어 작업 그룹에 GETPOST 메서드를 지정하면 HTTP GETPOST 요청만 지정된 리소스 경로의 프록시에 액세스할 수 있습니다. 메서드를 지정하지 않으면 모든 메서드가 허용됩니다.
할당량 선택사항 작업 그룹의 할당량을 지정할 수 있습니다. 작업 그룹에 지정된 할당량이 API 제품 수준 할당량(지정된 경우)보다 우선 적용됩니다.
맞춤 속성 선택사항 맞춤 속성은 나중에 액세스하거나 검색할 수 있는 API 제품과 함께 추가 정보를 저장하려는 경우나 측정항목, 모니터링에 유용합니다. API 제품 수준의 맞춤 속성 외에 작업과 관련된 맞춤 속성이 존재하며 런타임에서 프리픽스 apiproduct.operation.attributes가 있는 흐름 변수로 액세스할 수 있습니다.

API 키

조직에 개발자 앱을 등록하면 앱이 하나 이상의 API 제품에 연결되어야 합니다. 앱을 하나 이상의 API 제품과 페어링하면 Apigee에서 앱에 고유한 고객 키를 할당합니다. 앱을 등록하여 API에 대한 액세스 제어하기도 참고하세요.

고객 키 또는 액세스 토큰은 요청 사용자 인증 정보 역할을 합니다. 앱 개발자가 고객 키를 앱에 삽입하면 앱이 Apigee에서 호스팅하는 API에 요청할 때 앱이 다음 방법 중 하나로 요청에 고객 키를 전달합니다.

  • API가 API 키 확인을 사용하는 경우 앱은 고객 키를 직접 전달해야 합니다.
  • API가 OAuth 토큰 확인을 사용하는 경우 앱은 고객 키에서 파생된 토큰을 전달해야 합니다.

API 키 적용은 자동으로 수행되지 않습니다. 고객 키 또는 OAuth 토큰을 요청 사용자 인증 정보로 사용하는지와 관계없이 API 프록시는 적절한 흐름에 VerifyAPIKey 정책 또는 VerifyAccessToken 정책 구성(OAuthv2 정책 참조)을 포함하여 API 프록시에서 요청 사용자 인증 정보의 유효성을 검사합니다. API 프록시에 사용자 인증 정보 적용 정책을 포함하지 않으면 어떤 호출자든 API를 호출할 수 있습니다.

요청에서 전달한 사용자 인증 정보를 확인하기 위해 Apigee는 다음 단계를 수행합니다.

  1. 요청과 함께 전달된 사용자 인증 정보를 가져옵니다. OAuth 토큰 확인의 경우 Apigee가 토큰이 만료되지 않았는지 확인한 후 토큰을 생성하는 데 사용된 고객 키를 조회합니다.
  2. 고객 키와 연결된 API 제품의 목록을 가져옵니다.
  3. 현재 API 프록시가 API 제품에 포함되어 있는지, 현재 리소스 경로(URL 경로)가 API 제품에서 사용 설정되어 있는지, 제품에 포함된 경우 요청이 지정된 HTTP 동사를 사용하는지 확인합니다.
  4. 지정된 할당량이 초과되지 않았는지 확인합니다.
  5. 고객 키가 만료되거나 취소되지 않았는지, 앱이 취소되지 않았는지 확인하고 앱 개발자가 활성 상태인지 확인합니다.

위의 모든 확인 결과가 통과되면 사용자 인증 정보 확인이 성공한 것입니다.

결론적으로 Apigee는 고객 키를 자동으로 생성하지만, API 게시자는 적절한 정책을 사용하여 API 프록시에 키 확인을 적용해야 합니다.

키 승인

기본적으로 앱에서 API 제품에 액세스하기 위한 키를 가져오는 모든 요청은 자동으로 승인됩니다. 또는 키를 수동으로 승인하도록 API 제품을 구성할 수 있습니다. 관련 설정은 API 제품 관리에 설명되어 있습니다. 이 경우 API 제품을 추가하는 모든 앱의 키 요청을 승인해야 합니다. 자세한 내용은 앱을 등록하여 API에 대한 액세스 제어를 참조하세요.

할당량

할당량은 트래픽 변화가 큰 백엔드 서버를 보호하고 제품 라인을 차별화할 수 있습니다. 예를 들어 할당량이 높은 리소스를 프리미엄 제품으로 묶고, 할당량이 적은 동일한 번들을 기본 제품으로 사용할 수 있습니다. 할당량은 제품이 널리 사용되고 단기간에 대량의 요청을 받는 경우 서버에 과부하가 걸리지 않도록 보호할 수 있습니다.

API 제품에 포함된 모든 API 프록시에 적용되는 할당량을 지정하거나 작업 수준 할당량을 지정할 수 있습니다. 작업에 지정된 할당량은 API 제품 수준에서 설정된 할당량보다 우선 적용됩니다.

API 제품에 대한 할당량 한도를 설정해도 할당량이 자동으로 적용되지는 않습니다. 이는 할당량 정책에서 참조할 수 있는 기본 한도일 뿐입니다. 다음은 할당량 정책이 참조하는 제품에 할당량을 설정할 때의 몇 가지 장점입니다.

  • 할당량 정책을 사용하여 API 제품의 모든 API 프록시에 동일한 설정을 적용합니다.
  • 런타임 시 API 제품의 할당량 설정을 변경하면 할당량 정책이 자동으로 업데이트된 할당량 설정을 참조합니다.

자세한 내용은 다음을 참조하세요.

OAuth 범위

제품과 관련된 액세스 토큰에 있어야 하는 쉼표로 구분된 목록으로 OAuth 범위를 정의할 수 있습니다. Apigee OAuth 정책에서 범위 사용에 대한 자세한 내용은 OAuth2 범위 작업을 참조하세요.

액세스 수준

API 제품을 정의할 때 다음과 같은 액세스 수준을 설정할 수 있습니다.

액세스 수준 설명
Public 모든 개발자가 사용할 수 있는 API 제품입니다. 통합 또는 Drupal 기반 개발자 포털을 추가할 수 있습니다.
Private 또는 Internal only 비공개 또는 내부용으로 설계된 API 제품입니다.

통합 포털의 경우 Private 또는 Internal only API 제품을 추가하고 필요에 따라 앱 개발자에게 제공할 수 있습니다.

Drupal 기반 개발자 포털의 경우 다음 섹션에 설명된 대로 개발자 포털에서 Private 또는 Internal only API 제품에 대한 액세스를 관리할 수 있습니다.

  • Drupal 10 개발자 포털의 경우 API 제품에 대한 액세스 권한 구성의 설명대로 개발자 포털에서 Private 또는 Internal only API 제품에 대한 액세스 권한을 구성할 수 있습니다.
  • Drupal 7 개발자 포털의 경우 개발자 포털에 Private 또는 Internal only API 제품을 추가할 수 없습니다.

    앱 개발자가 Private 또는 Internal only API 제품을 앱사용할 수 있게 하려면 앱을 등록하여 API에 대한 액세스 제어에 설명된 대로 pigee UI 또는 API에서 등록된 앱에 수동으로 추가해야 합니다.

    추가되면 앱에서 API 제품 관리에 설명된 대로 개발자는 포털에서 앱과 연결된 API 제품을 볼 수 있습니다. 앱 개발자가 Private 또는 Internal onlyAPI 제품에 대한 액세스를 사용 중지하면 API 제품이 앱에서 삭제되며 포털 관리자가 수동으로 다시 추가해야 합니다.