2부: API 키 생성 및 테스트

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

리팩터링 및 API 키를 요구하여 API 보호로 리디렉션되었습니다.

개발자가 백엔드 서비스에 액세스하기 위해 API에 요청하는 을 빌드합니다. API에 대한 액세스를 제어하려면 개발자에게 모든 요청에 API 키를 전달하도록 요구할 수 있습니다. 키가 누락되거나 유효하지 않으면 요청이 실패합니다.

게시는 API를 앱 개발자가 사용할 수 있도록 하는 프로세스입니다. API 게시는 다음과 같은 작업으로 넓게 정의할 수 있습니다.

  1. Apigee Edge에서 API를 번들로 제공하는 API 제품을 만드세요.
  2. Edge에 앱 개발자를 등록합니다. 등록된 앱 개발자만 앱을 등록할 수 있습니다.
  3. 개발자는 Edge에 앱을 등록하여 API 제품에 액세스합니다. 이에 대한 응답으로 개발자는 API 키를 받습니다. 이제 개발자가 API 키를 가지고 있으므로 API에 요청할 수 있습니다.

자세한 내용은 게시 소개를 참고하세요.

다음 표에는 앱을 등록하고 키를 생성하는 데 사용되는 몇 가지 용어가 정의되어 있습니다.

용어 정의
API 제품 해당 API에 대한 액세스 한도를 설정하는 서비스 요금제와 결합된 API 프록시 번들입니다. API 제품은 Apigee Edge가 API에 대한 승인 및 액세스 제어를 위해 사용하는 중심 메커니즘입니다.
개발자 API 소비자 개발자는 API에 요청을 보내는 앱을 작성합니다.
개발자가 API 제품에 액세스하기 위해 등록하는 클라이언트 측 앱입니다. API 제품에 앱을 등록하면 해당 제품의 API에 액세스하기 위한 API 키가 생성됩니다.
API 키 클라이언트 측 앱이 API 제품에 의해 노출된 리소스에 액세스하는 데 사용하는 승인 정보가 포함된 문자열입니다. API 키는 등록된 앱이 API 제품과 연결될 때 생성됩니다.

이 튜토리얼의 기본 요건

이 가이드에서는 Yahoo weather API에 액세스하기 위해 API 프록시를 만드는 첫 번째 튜토리얼을 완료했다고 가정합니다. 첫 번째 튜토리얼을 아직 완료하지 않았다면 API 키를 요구하여 API 보호를 참조하세요.

1단계: API 제품 만들기

  1. 관리 UI에서 게시 탭을 클릭한 다음 제품을 클릭합니다.
  2. 제품(+)을 클릭합니다.
  3. 제품 추가 대화상자 필드에 다음을 입력하거나 선택합니다.
    필드
    이름 무료 API 제품
    표시 이름 무료 API 제품
    설명 무료 API 제품
    환경 테스트
    액세스 내부 전용
    키 승인 유형 자동
    (API 키가 생성된 후 자동으로 승인됨)
    할당량 1시간당 요청 10개
    (요청 수를 시간당 10개로 제한)
    허용된 OAuth 범위 비워두기

    채워진 대화상자는 다음과 같이 표시됩니다.

  4. 리소스 섹션에서 다음을 선택합니다.
    • API 프록시: weatherapikey
    • 버전: 1
    • 리소스 경로: /forecastrss**

      리소스 경로는 제품에서 앱의 액세스를 허용하는 리소스 URI를 지정합니다. 이 예에서 앱은 이 API 제품을 통해서만 weatherapikey 프록시의 /forecastrss 리소스에 액세스할 수 있습니다. 이 API 제품을 사용하여 weatherapiproxy 프록시 또는 다른 프록시에서 다른 리소스에 액세스하려고 시도하는 것은 금지되어 있습니다.

      리소스 경로에는 와일드 카드 문자를 사용할 수 있습니다. 와일드 카드 '/**는 모든 하위 URI가 포함되었음을 나타냅니다. 즉, /forecastrss/foo/bar 형식의 리소스를 의미합니다. 와일드 카드 '/'는 한 단계 아래의 URI만 포함되었음을 나타냅니다. 자세한 내용은 API 제품 만들기를 참고하세요.

      리소스 경로 드롭다운 목록에는 지정된 API 프록시에 정의된 모든 조건부 흐름이 표시됩니다. API 프록시의 조건부 흐름은 리소스 경로와 연결된 로직 또는 처리 단계를 정의합니다. API 제품은 이러한 리소스 경로에 대한 액세스를 제어합니다.
  5. 리소스 가져오기를 클릭합니다. 리소스 경로가 추가되고 weatherapikey API 프록시가 제품용 API 프록시 섹션에 자동으로 추가됩니다.
  6. 저장을 클릭합니다. 새 제품이 제품 페이지에 나열됩니다.

자세히 알아보기:

2단계: 개발자 등록하기

API 키를 생성하려면 앱을 등록하고 API 제품과 연결해야 합니다. 하지만 먼저 앱 개발자를 등록해야 앱을 등록할 수 있습니다.

  1. 관리 UI에서 게시 탭을 클릭한 다음 개발자를 클릭합니다.
  2. 개발자(+)를 클릭합니다.
  3. 새 개발자 대화상자에 다음 값을 입력합니다.
    • 이름: 제인
    • : 튜토리얼
    • 이메일 주소: janetutorial@example.com
    • 사용자 이름: jtutorial
  4. 저장을 클릭합니다. 새 개발자가 개발자 페이지의 개발자 목록에 표시됩니다.

자세히 알아보기:

3단계: 앱 등록하기

이제 API 제품과 개발자가 있으므로 API 제품에 앱을 등록할 수 있습니다. 앱을 등록하면 앱과 연결된 API 제품의 API 키가 생성됩니다. 그런 다음 앱 개발자에게 키를 배포하여 앱에서 API 제품의 기능에 액세스할 수 있습니다.

  1. API 플랫폼 UI에서 게시 탭을 클릭한 다음 개발자 앱을 클릭합니다.
  2. (+) 개발자 앱을 클릭합니다.
  3. 앱 추가 대화상자에서 다음 값을 입력합니다.
    • 표시 이름: Weather API Key App
    • 개발자: 제인 튜토리얼(janetutorial@example.com)
    • 콜백 URL: 비워 둠
  4. 앱을 제품에 연결합니다.
    1. 제품 섹션에서 + 제품을 클릭합니다.
    2. 무료 API 제품을 선택합니다.
    3. 체크표시 아이콘을 클릭하여 변경사항을 수락합니다.
  5. 저장을 클릭합니다. 새 앱이 개발자 앱 페이지의 앱 목록에 표시됩니다.
  6. 앱 목록에서 Weather API Key App을 선택합니다. 그러면 앱의 세부정보 페이지가 열립니다.
  7. API 제품을 만들 때 키 승인 유형: 자동을 선택했으므로 API 키가 자동으로 승인되며 즉시 확인할 수 있습니다. 승인 유형: 수동을 선택한 경우 무료 API 제품의 작업 열에서 승인을 클릭하여 API 키를 승인해야 합니다.
  8. 제품 섹션에서 무료 API 제품 항목 옆에 있는 소비자 키고객 비밀번호 열에서 표시를 클릭하여 생성된 키를 표시합니다.

    고객 키는 API 키의 또 다른 이름이며 앱이 API 프록시를 통해 예측 리소스에 액세스하는 데 필요한 유일한 키입니다 . OAuth 2.0을 통해 API를 보호하려면 고객 키와 함께 고객 비밀번호가 필요합니다. 예를 들어 OAuth 2.0: 새 API 프록시 구성을 참조하세요.

자세히 알아보기:

4단계: 요청에 API 키 사용하기

VerifyAPIKey 정책이 올바르게 작동하는지 확인하려면 유효한 API 키로 API 프록시를 호출하여 테스트해야 합니다. 브라우저, API 프록시의 트레이스 페이지, Apigee 콘솔 또는 cURL을 사용하여 API 프록시를 요청할 수 있습니다. 요청할 URL의 형식은 다음과 같습니다.

http://{org-name}-test.apigee.net/v1/weatherapikey/forecastrss?w=12797282&apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVls

{org-name} 및 올바른 apikey을 Apigee 조직 이름으로 대체합니다.

응답에서 다음 내용을 찾아보세요.

<rss xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0"> 
<channel> <title>Yahoo! Weather - Palo Alto, CA</title> 
<link>http://us.rd.yahoo.com/dailynews/rss/weather/Palo_Alto__CA/*http://weather.yahoo.com/forecast/USCA1093_f.html</link> 
<description>Yahoo! Weather for Palo Alto, CA</description> <language>en-us</language>

요청에서 API 키를 생략하거나 잘못된 키 값을 지정하면 다음과 같은 형식의 오류 응답이 수신됩니다.

{"fault":{"faultstring":"Failed to resolve API Key variable null","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}

5단계: 다음 단계

이제 쿼리 매개변수를 사용하여 API 키를 전달하는 방식으로 API에 요청했으므로 키를 헤더로 전달하도록 API를 수정합니다.

계속해서 API 키를 요구하여 API 보호를 진행합니다.