Admin API 액세스

사용자 또는 애플리케이션이 Google App Engine Admin API를 사용하려면 먼저 Google Cloud Platform 프로젝트 소유자가 프로젝트에서 해당 API를 사용 설정한 다음 사용자 또는 애플리케이션이 HTTP 요청을 승인하는 데 사용할 수 있는 사용자 인증 정보를 만들어야 합니다.

예를 들어 소유자가 먼저 초기 GCP 프로젝트를 만든 다음 해당 프로젝트에서 사용자 인증 정보를 만들고 나면 모든 사용자가 Admin API로 HTTP 요청을 보낼 수 있습니다. 소유자가 초기 프로젝트를 설정하고 구성한 후에는 해당 프로젝트를 관리 목적으로 사용하여 프로그래매틱 방식으로 다른 리소스를 만들고 관리할 수 있습니다. 예를 들어 다음과 같은 작업이 가능합니다.

  • 다른 GCP 프로젝트 만들기
  • 새로 만든 모든 프로젝트를 위한 App Engine 애플리케이션 만들기
  • 새로 만든 App Engine 애플리케이션에 앱 버전 배포
  • 배포한 모든 버전의 리소스 관리

시작하기 전에

다음 작업을 완료하려면 사용자 및 애플리케이션이 액세스할 수 있도록 Admin API를 사용 설정하려는 GCP 프로젝트의 소유자여야 합니다.

프로젝트 구성 및 사용자 인증 정보 만들기

GCP 프로젝트를 구성하고 사용자 인증 정보를 만들려면 다음 안내를 따르세요.

  1. GCP 프로젝트에서 Google App Engine Admin API와 Cloud Storage API를 모두 사용 설정합니다.

    두 API 사용 설정

  2. 해당 프로젝트에서 사용자와 애플리케이션이 Admin API에 액세스하는 데 사용할 사용자 인증 정보를 만듭니다.

    사용자 인증 정보를 만들려면 Google Cloud Platform 인증 가이드를 검토한 다음 앱의 요구사항에 맞는 OAuth 2.0 승인 과정을 선택합니다.

아래 예에서는 인증 과정을 보여주기 위해 클라이언트 측 OAuth 2.0 과정을 사용하여 토큰을 얻습니다. 이 토큰은 cURL 명령줄 도구를 사용하여 예시 앱을 [MY_PROJECT_ID] 프로젝트의 App Engine 애플리케이션에 배포하기 위해 Admin API로 수신되는 요청을 승인하는 데 사용됩니다.

인증 예

이 예에서 Implicit Grant Flow(암시적 권한 부여 과정)라고 하는 클라이언트 측 승인 과정을 진행하려면 사용자가 클라이언트 애플리케이션에 사용자 대신 Admin API에 액세스할 수 있는 권한을 승인해야 합니다. 반환되는 액세스 토큰은 일반적으로 해당 사용자가 애플리케이션에서 활성 상태인 동안 또는 약 60분 동안 유효합니다.

팁: Implicit Grant Flow(암시적 권한 부여 과정)와 아래 URL의 구성 방식에 대한 자세한 내용은 클라이언트 측 웹 애플리케이션용 OAuth 2.0 사용을 참조하세요.

HTTP 요청

다음 URL은 Google Cloud Platform Console에서 생성된 클라이언트 ID를 사용하여 액세스 토큰을 요청한 다음 앱이 토큰을 받은 승인된 URI로 사용자를 리디렉션합니다.

https://accounts.google.com/o/oauth2/v2/auth?
  response_type=token&
  client_id=[MY_CLIENT_ID].apps.googleusercontent.com&
  scope=https://www.googleapis.com/auth/cloud-platform&
  redirect_uri=[MY_REDIRECT_URI]

각 항목의 의미는 다음과 같습니다.

  • [MY_CLIENT_ID] - GCP Console에서 사용되는 사용자 인증 정보 중 하나의 클라이언트 ID입니다.
  • [MY_REDIRECT_URI] - GCP Console에서 사용되는 동일한 사용자 인증 정보에 해당하는 승인된 리디렉션 URI입니다. 리디렉션 URI가 지정되지 않은 경우에는 https://www.google.com과 같이 신뢰할 수 있는 URI를 지정해야 합니다. 리디렉션 URI는 HTTP 응답이 전송되는 위치를 정의합니다. 프로덕션 환경에서는 OAuth 2.0 서버에서 보낸 응답을 처리하는 애플리케이션 인증 엔드포인트를 지정해야 합니다. 자세한 내용은 웹 서버 애플리케이션용 OAuth 2.0 사용을 참조하세요.

HTTP 응답

애플리케이션이 URL을 사용하여 승인을 요청하면 응답으로 액세스 토큰이 반환됩니다. 예를 들면 다음과 같습니다.

https://www.google.com/#access_token=[MY_ACCESS_TOKEN]&
  token_type=Bearer&
  expires_in=3600

여기서 [MY_ACCESS_TOKEN]은 요청에 따라 반환된 액세스 토큰입니다.

액세스 토큰을 얻은 후에는 이를 사용하여 Admin API에 액세스할 수 있습니다. 예를 들어 애플리케이션의 인증 엔드포인트는 프로그래매틱 방식으로 응답에서 액세스 토큰을 추출할 수 있습니다. cURL 명령어에서 수동으로 토큰을 사용하는 방법은 다음 예를 참조하세요.

cURL을 사용한 HTTP 요청 예

다음 cURL 명령어는 [MY_ACCESS_TOKEN] 액세스 토큰을 사용한 HTTP POST 요청 방법을 보여줍니다. 이 cURL 명령어는 app.json 구성 파일에 정의된 리소스를 MY_PROJECT_ID 프로젝트의 애플리케이션에 포함된 default 서비스 버전 v1에 배포합니다.

curl -X POST -T "app.json" -H "Content-Type: application/json" -H "Authorization: Bearer [MY_ACCESS_TOKEN]" https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]/services/default/versions

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

App Engine Admin API