OAuth (Automotive) 사용

annotatePaths에 대한 요청을 승인하려면 연결된 Google Cloud 프로젝트의 허용 목록에 서비스 계정이 있어야 합니다. 그런 다음 서비스 계정을 가장하여 요청에서 헤더로 전달되는 OAuth 토큰을 생성할 수 있습니다.

서비스 계정 설정

허용 목록에 있는 서비스 계정annotatePaths를 호출할 수 있으므로 서비스 계정 가장 기능을 통해 서비스 계정 역할을 해야 합니다.

  1. 서비스 계정 만들기의 안내를 따릅니다. 서비스 계정 이메일의 일반적인 형식은 다음과 같습니다.

    SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    
  2. Google 비즈니스 담당자에게 서비스 계정 이메일을 보냅니다. 담당자가 이 서비스 계정을 annotatePaths 호출이 승인된 허용 목록에 추가합니다.

서비스 계정을 가장할 수 있는 사용자 추가

서비스 계정을 가장할 권한이 있는 사용자를 추가합니다.

gcloud iam service-accounts add-iam-policy-binding \
    SERVICE_ACCOUNT \
    --member=user:USER_EMAIL \
    --role=roles/iam.serviceAccountTokenCreator \
    --project=PROJECT_ID

Cloud 콘솔을 통해 서비스 계정을 가장하도록 승인된 사용자를 추가할 수도 있습니다. 서비스 계정 만들기를 참조하세요.

명령어 실패 시 문제 해결

이 명령어가 실패하면 프로젝트 소유자에게 명령어를 자동으로 실행하거나 다음을 실행하여 서비스 계정에 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시간 후에 만료됩니다. 자세한 내용은 서비스 계정의 단기 사용자 인증 정보 만들기를 참조하세요. 다음 단계는 이 안내를 요약한 것입니다.

  1. gcloud에 로그인합니다.

    gcloud auth login
    

    gcloud가 브라우저 창을 열고 권한을 요청하는 메시지를 표시합니다.

  2. 프로젝트를 설정합니다.

    gcloud config set project PROJECT_ID
    
  3. 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 토큰 권한 확인

승인 문제가 발생하면 다음 URL에 토큰을 삽입하고 OAUTH_TOKEN을 맞춤설정하여 OAuth 토큰 권한을 확인할 수 있습니다. 주소 표시줄에 붙여넣습니다.

https://oauth2.googleapis.com/tokeninfo?access_token=OAUTH_TOKEN

응답에는 https://www.googleapis.com/auth/cloud-platform 범위가 포함되어야 합니다. 그렇지 않은 경우 이전 섹션에 표시된 대로 범위를 올바르게 설정해야 합니다.

프로덕션 환경에서 OAuth 사용

프로덕션 환경에서 OAuth를 사용하는 방법은 Google에서의 인증을 참조하세요.

문제 해결

요청에서 최종 사용자 인증 정보가 이 API에서 지원되지 않는다는 오류 메시지를 반환하는 경우 사용자 인증 정보가 작동하지 않음을 참조하세요.