인증 방식 선택

API 게이트웨이는 서로 다른 애플리케이션과 사용 사례에 적합한 여러 가지 인증 방법을 지원합니다. API 게이트웨이는 서비스 구성에 지정된 인증 방법으로 들어오는 요청을 검증한 후 API 백엔드로 전달합니다. 이 페이지에서는 API 게이트웨이에서 지원되는 각 인증 방법에 대한 개요를 제공합니다.

API 키

API 키는 할당량, 청구, 모니터링 목적으로 Google Cloud 프로젝트를 식별하는 간단한 문자열입니다. 개발자는 Cloud Console에서 프로젝트에 API 키를 생성하고 API에 대한 모든 호출에 이 키를 쿼리 매개변수로 또는 요청 헤더에 포함합니다.

API 구성에 API 키 요구사항을 지정하는 경우 API 게이트웨이는 API 키를 사용하여 API 키가 연결된 Google Cloud 프로젝트를 조회합니다. API 키가 Google Cloud 프로젝트에서 또는 API가 사용 설정된 다른 Google Cloud 프로젝트 내에서 생성되지 않았으면 API 게이트웨이가 요청을 거부합니다.

짧게 사용되는 토큰 또는 서명된 요청을 사용하는 사용자 인증 정보와 달리 API 키는 요청의 일부이므로 중간자 공격에 취약하고 보안성이 낮은 것으로 간주됩니다. 아래 설명된 인증 방법 중 하나와 함께 API 키를 사용할 수 있습니다. 보안을 강화하려면 API 호출에 민감한 정보가 포함된 경우에는 API 키만 단독으로 사용하지 마세요.

사용 사례

할당량과 같은 API 게이트웨이 기능을 사용하려면 클라이언트 애플리케이션이 연결된 Google Cloud 프로젝트를 API 게이트웨이가 식별할 수 있도록 API 키를 전달할 수 있습니다.

API 게이트웨이의 API 키 인증 정보

인증을 위해 API 키를 사용하는 경우 먼저 서비스에 대해 API 키 지원을 사용 설정해야 합니다. 다음 명령어를 입력합니다. 각 항목의 의미는 다음과 같습니다.

  • MANAGED_SERVICE_NAME은 API를 배포할 때 만든 관리형 서비스의 이름을 지정합니다. 이 이름은 Console의 API 방문 페이지에서 API에 대한 관리형 서비스 열에서 찾을 수 있습니다. 또는 gcloud api-gateway apis describe 명령어를 사용할 때 Managed service 속성에서 이 이름을 찾을 수 있습니다.
  • PROJECT_ID은 Google Cloud 프로젝트 이름을 지정합니다.
gcloud services enable .apigateway.PROJECT_ID.cloud.goog

예를 들면 다음과 같습니다.

gcloud services enable my-api-a12bcd345e67f89g0h.apigateway.my-project.cloud.goog

서비스 계정

API에 요청을 보내는 서비스를 식별하려면 서비스 계정을 사용합니다. 호출하는 서비스는 서비스 계정의 비공개 키를 사용하여 보안 JSON 웹 토큰(JWT)에 서명하고, 서명된 JWT를 요청에 포함하여 API에 보냅니다.

사용 사례

JWT와 서비스 계정은 마이크로 서비스에 적합합니다. 자세한 내용은 서비스 간 인증을 참조하세요.