이 페이지는 Apigee 및 Apigee Hybrid에 적용됩니다.
Apigee Edge 문서를 보세요.
API 키(Apigee에서 고객 키라고 함)는 클라이언트 앱이 API 프록시에 전달하는 문자열 값입니다. 이 키는 클라이언트 앱을 고유하게 식별합니다.
API 키 유효성 검사는 API에 구성할 수 있는 가장 간단한 앱 기반 보안 양식입니다. 클라이언트 앱은 단순히 API 키를 요청과 함께 표시합니다. 그러면 Apigee는 API 상태가 요청 대상 리소스에 승인된 상태인지 확인합니다. 내부적으로 프록시는 정책을 사용하여 API 키 신뢰성을 확인합니다.
이러한 단순성을 지원하려면 약간의 설정이 필요합니다. API 키를 지원하려면 다음을 수행해야 합니다.
- API 키를 사용하여 보호할 API 프록시를 번들로 제공하는 Apigee API 제품을 만듭니다.
-
인증할 앱의 클라이언트 앱 개발자를 나타내는 Apigee 개발자 앱을 만듭니다.
개발자 앱을 만들 때 개발자 앱에서 액세스할 수 있는 API 제품을 지정하고 API 키를 제공해야 합니다.
- 프록시(API 제품에 포함된 프록시)에 정책을 추가하여 수신 API 키가 유효한지 확인합니다.
API 키를 요구하여 API 보호 튜토리얼에서 API 키를 사용하여 API 프록시에 대한 액세스를 제어하는 방법을 빠르게 알아볼 수 있습니다.
API 키 작동 방식
Apigee에서는 API 키를 고객 키라고 합니다. 개발자 앱을 등록하면 Apigee는 고객 키와 보안 비밀을 생성합니다. Apigee는 향후 유효성 검사를 위해 고객 키를 저장합니다. 각 고객 키는 조직에서 고유합니다. 앱 개발자가 고객 키를 클라이언트 앱에 삽입합니다. 클라이언트 앱은 요청마다 소비자 키를 전달해야 합니다. API 서비스는 앱 요청을 허용하기 전에 고객 키를 확인합니다.
대략적인 단계
다음 단계에서는 Apigee에서 API 키를 사용하는 방법을 설명합니다. 이러한 단계는 종종 API 키와 함께 사용되므로 OAuth 보안도 표시될 수 있습니다.
- API 키로 보호해야 하는 API 프록시가 포함된 API 제품을 만듭니다.
- 조직에 개발자 앱을 등록합니다. Apigee를 수행하면 고객 키와 고객 보안 비밀번호가 생성됩니다.
- 개발자 앱을 API 제품 최소 한 개 이상과 연결합니다. 이 제품은 키 승인을 통해 리소스 경로와 API 프록시를 연결하는 제품입니다.
- 런타임 시 클라이언트 앱에서 API에 요청을 실행하면 클라이언트 앱은 요청을 수행할 때 고객 키를 전송합니다. 실제로 고객 키는 명시적으로 전달되거나 OAuth 토큰을 통해 암시적으로 참조될 수 있습니다.
- API가 API 키 확인을 사용하는 경우(예: VerifyAPIKey 정책 구현) 클라이언트 앱은 고객 키를 명시적으로 전달해야 합니다.
- API가 OAuth 토큰 확인을 사용하는 경우(예: OAuthV2 정책 구현) 클라이언트 앱이 고객 키에서 파생된 토큰을 전달해야 합니다.
- VerifyAccessToken 작업으로 VerifyAPIKey 정책이나 OAuthV2 정책을 통해 API 프록시가 요청 사용자 인증 정보의 유효성을 검사합니다. API 프록시에 사용자 인증 정보 적용 정책을 포함하지 않으면 호출자가 성공적으로 API를 호출할 수 있습니다. 자세한 내용은 API 키 정책 확인을 참조하세요.
요청 사용자 인증 정보 확인
이 설명은 개요입니다. 자세한 내용과 코드 예시는 API 키 유효성 검사 설정을 참조하세요.
- OAuth 토큰 확인을 사용하는 경우 확인할 OAuth 정책을 구현했으며 클라이언트 앱이 OAuth 토큰을 전달했습니다.
- Apigee는 토큰이 만료되지 않았는지 확인한 후 토큰을 생성하는 데 사용된 고객 키를 찾습니다.
- API 키를 사용하는 경우 VerifyAPIKey 정책을 구현했으며 클라이언트 앱이 고객 키를 전달했습니다.
- Apigee는 고객 키가 연결된 API 제품 목록을 확인합니다.
- Apigee는 각 API 제품을 확인하여 현재 API 프록시가 API 제품에 포함되어 있는지와 현재 리소스 경로(URL 경로)가 API 제품에 사용 설정되어 있는지 확인합니다.
- 또한 Apigee는 고객 키가 만료 또는 취소되지 않는지 확인하고, 앱이 취소되지 않았는지 확인하고, 개발자가 비활성 상태가 아닌지 확인합니다.
- 모든 사항이 true이면 즉, 토큰이 만료되지 않았고(해당되는 경우), 고객 키가 유효하고 승인되었고, 앱이 승인되었고, 개발자가 활성 상태이고, 제품에서 프록시가 제공되고, 제품에서 리소스를 사용할 수 있으면 사용자 인증 정보 확인이 성공한 것입니다.