annotatePaths
에 대한 요청을 승인하려면 연결된 Google Cloud 프로젝트의 허용 목록에 있는 서비스 계정이 필요합니다. 그런 다음 서비스 계정을 가장하여 요청에서 헤더로 전달되는 OAuth 토큰을 생성할 수 있습니다.
서비스 계정 설정
허용 목록에 있는 서비스 계정만 annotatePaths
를 호출할 수 있으므로 서비스 계정 가장을 통해 서비스 계정 역할을 해야 합니다.
서비스 계정 만들기의 안내를 따릅니다. 서비스 계정 이메일의 일반적인 형식은 다음과 같습니다.
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Google 비즈니스 담당자에게 서비스 계정 이메일을 보냅니다. 담당자는 이 서비스 계정을
annotatePaths
호출 권한이 있는 허용 목록에 추가합니다.
서비스 계정을 가장할 수 있는 사용자 추가
서비스 계정을 가장할 권한이 있는 사용자를 추가합니다.
gcloud iam service-accounts add-iam-policy-binding \
SERVICE_ACCOUNT \
--member=user:USER_EMAIL \
--role=roles/iam.serviceAccountTokenCreator \
--project=PROJECT_ID
Cloud Console을 통해 서비스 계정을 가장하도록 승인된 사용자를 추가할 수도 있습니다. 서비스 계정 만들기를 참조하세요.
명령어 실패 시 문제 해결
이 명령어가 실패하면 프로젝트 소유자에게 명령어를 대신 실행하거나 다음을 실행하여 서비스 계정에 대한 roles/iam.serviceAccountAdmin
역할을 부여해 달라고 요청합니다.
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT \ --member=USER_EMAIL \ --role=roles/iam.serviceAccountAdmin \ --project=PROJECT_ID
수명이 짧은 OAuth 토큰 생성
OAuth 토큰을 사용하여 annotatePaths
를 설정하려고 하지만 토큰을 생성하기 위한 환경 설정이 없는 경우 이 섹션의 절차에 따라 gcloud CLI를 사용하여 수명이 짧은 OAuth 토큰을 가져옵니다. 토큰은 1시간 후에 만료됩니다. 자세한 내용은 서비스 계정에 단기 사용자 인증 정보 만들기를 참조하세요. 다음 단계는 이 안내를 간략하게 보여줍니다.
gcloud에 로그인합니다.
gcloud auth login
gcloud가 브라우저 창을 열고 권한을 요청하는 메시지를 표시합니다.
프로젝트를 설정합니다.
gcloud config set project PROJECT_ID
print-access-token을 사용해 수명이 짧은 액세스 토큰을 가져옵니다.
gcloud auth print-access-token
이 명령어는 토큰을 반환합니다. 토큰을 복사하고 다음 명령어의 YOUR_ACCESS_TOKEN에 삽입합니다.
curl -X POST \ https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT:generateAccessToken \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{"scope": ["https://www.googleapis.com/auth/cloud-platform"],"lifetime": "3600s"}'
CLI가 이제
annotatePaths
에 요청할 때 사용할 수 있는 단기 OAuth 액세스 토큰을 반환합니다.
(선택사항) OAuth 토큰 권한 확인
승인 문제가 발생하면 OAUTH_TOKEN을 맞춤설정하여 다음 URL에 토큰을 삽입하여 OAuth 토큰 권한을 확인할 수 있습니다. (주소 표시줄에 붙여넣습니다.)
https://oauth2.googleapis.com/tokeninfo?access_token=OAUTH_TOKEN
응답에는 https://www.googleapis.com/auth/cloud-platform
의 범위가 포함되어야 합니다. 그렇지 않은 경우 이전 섹션에 표시된 대로 범위를 올바르게 설정해야 합니다.
프로덕션 환경에서 OAuth 사용
프로덕션 환경에서 OAuth를 사용하는 방법은 Google의 인증을 참조하세요.
문제 해결
이 API에서 지원하지 않는 최종 사용자 인증 정보에 대한 오류 메시지가 요청에서 반환되는 경우 사용자 인증 정보가 작동하지 않음을 참조하세요.