개요
Cloud Support API를 사용하려는 이유와 용도에 대한 자세한 내용은 Cloud Support API 개요를 참조하세요. 이 페이지에서는 Cloud Support API 버전 2를 시작하는 방법을 설명합니다. v2beta 버전도 있지만 두 버전 간에는 몇 가지 차이점이 있습니다. v2 이전의 v2beta에서 일부 변경사항 및 기능을 사용할 수 있지만 v2 API가 대부분의 사용 사례에 더 적합할 수 있습니다.
이제 v2 API를 설정하는 방법에 대해 알아보겠습니다.
Getting Started
Cloud Support API를 사용하려면 먼저 다음을 수행합니다.
Google Cloud 콘솔에서 Cloud Support API 페이지로 이동하고 사용 설정을 클릭하여 Cloud Support API를 사용 설정합니다.
서비스 계정 만들기의 안내에 따라 서비스 계정을 프로비저닝합니다. 서비스 계정에 대한 자세한 내용은 서비스 계정 개요를 참조하세요.
Google Cloud 콘솔의 IAM 탭을 사용하여 서비스 계정에
Organization Viewer
역할 또는resourcemanager.organizations.get
권한을 부여하는 다른 역할을 부여합니다.gcloud organizations add-iam-policy-binding
명령어를 사용해도 됩니다.gcloud organizations add-iam-policy-binding \\ organizations/ORG_ID \\ --role roles/resourcemanager.organizationViewer \\ --member SERVICE_ACCOUNT
'ORG_ID'의 올바른 값을 찾는 방법은 조직 ID 검색을 참조하세요.
서비스 계정에 기술 지원 편집자 또는 기술 지원 뷰어 역할을 부여합니다. 이 작업을 수행하려면 다음을 실행합니다.
gcloud organizations add-iam-policy-binding \\ organizations/ORG_ID \\ --role roles/cloudsupport.techSupportEditor \\ --member SERVICE_ACCOUNT
JIRA와 같은 타사 통합을 사용하는 경우 타사 애플리케이션에 서비스 계정에 대한 액세스 권한을 부여합니다. 인증에 대한 자세한 내용은 인증 개요를 참조하세요.
인증에 OAuth 2.0을 사용하려면 다음 안내를 따르세요.
Google 인증에 아직 OAuth2를 사용하지 않는 경우 OAuth 2.0을 사용하여 Google API에 액세스하기에 따라 설정합니다. 증분 승인 섹션을 주의 깊게 살펴보세요.
애플리케이션에서 사용하는 OAuth2 클라이언트 ID에 다음 두 범위가 추가되어 있는지 확인합니다.
- Google Cloud 일반 액세스:
https://www.googleapis.com/auth/cloud-platform
또는https://www.googleapis.com/auth/cloud-platform.read-only
- 지원 케이스 및 기타 지원 관련 데이터를 검색하거나 생성할 수 있는 권한:
https://www.googleapis.com/auth/cloudsupport
- Google Cloud 일반 액세스:
액세스 제어 및 IAM 역할
Customer Care는 다음 IAM 역할을 사용하여 케이스에 대한 액세스를 제어합니다. 이러한 권한을 사용하거나 원하는 권한을 포함한 고유한 커스텀 역할을 만들 수 있습니다. IAM에 대한 자세한 내용은 IAM으로 액세스 제어를 참조하세요.
역할 | 권한 |
Tech Support Viewer
|
cloudsupport.techCases.get cloudsupport.techCases.list cloudsupport.techCaseAttachments.list cloudsupport.techCaseAttachments.download cloudsupport.techCaseComments.list cloudsupport.techCaseUpdates.list |
Tech Support Editor
|
기술 지원 뷰어 권한 cloudsupport.techCases.create cloudsupport.techCases.update cloudsupport.techCases.escalate cloudsupport.techCases.close cloudsupport.techCaseAttachments.create cloudsupport.techCaseComments.create |
Cloud Support API를 호출하는 데 사용할 라이브러리 결정
API를 호출하는 일반적인 경로는 3가지입니다.
사용할 언어에 Cloud Support API Cloud 클라이언트 라이브러리를 사용합니다. 다양한 언어로 사용할 수 있지만 첨부파일 업로드 또는 다운로드를 지원하지 않습니다. 이 유형의 라이브러리에 대한 자세한 내용은 Cloud 클라이언트 라이브러리를 참조하세요.
Python Google API 라이브러리를 사용하여 Cloud Support API를 호출하는 스텁을 빌드합니다. API에 대한 기존 접근 방식입니다. 첨부파일을 업로드하거나 다운로드할 수 있습니다. 이 라이브러리 유형에 대해 자세히 알아보려면 Google API 클라이언트 라이브러리를 참조하세요.
cURL을 사용하거나 API를 직접 호출합니다. 이렇게 하면 완전히 맞춤설정이 가능하다는 장점이 있지만 모든 것을 직접 구성해야 합니다.
첨부파일을 사용할 필요가 없으면 Cloud 클라이언트 라이브러리를 사용하는 것이 좋습니다. 그렇지 않으면 Python Google API 라이브러리를 사용하는 것이 좋습니다.
Cloud 클라이언트 라이브러리 사용
Cloud Support API에는 다음과 같은 Cloud 클라이언트 라이브러리가 제공됩니다.
시작하려면 아래의 페이지로 이동하여 안내를 따르세요.
Python Google API 라이브러리 사용
Python Google API 라이브러리를 시작하려면 다음 단계를 따르세요.
pip를 사용하여 Google 검색 패키지를 설치합니다.
pip install google-api-python-client
코드에서 스텁을 빌드합니다.
import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", )
관심 있는 엔드포인트를 호출합니다. Cloud Support API의 각 엔드포인트를 호출하는 예시를 제공합니다. cases.list를 참조하세요.
Python Google API 라이브러리로 API를 호출하면 프로그램이 실행되는 환경의 기본 사용자 인증 정보를 사용합니다. 해당 환경의 서비스 계정에 시작하기 섹션에 언급된 권한이 있는지 확인합니다.
curl 사용
cURL 호출을 인증하는 방법에는 두 가지가 있습니다. 서비스 계정을 사용하거나 애플리케이션 기본 사용자 인증 정보를 사용할 수 있습니다. 애플리케이션 기본 사용자 인증 정보에 대한 자세한 내용은 애플리케이션 기본 사용자 인증 정보의 작동 방식을 참조하세요.
서비스 계정을 사용하여 인증
Google Cloud CLI를 사용하여 인증합니다.
gcloud auth activate-service-account SERVICE_ACCOUNT_EMAIL \ --key-file=/path/key.json \ --project=PROJECT_ID
요청을 전송합니다.
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://cloudsupport.googleapis.com/v2/organizations/ORGANIZATION_ID/cases
애플리케이션 기본 사용자 인증 정보로 인증
Google Cloud CLI를 사용하여 인증합니다.
gcloud auth application-default login
요청을 전송합니다. 애플리케이션 기본 사용자 인증 정보로 Cloud Support API를 호출할 때 필요한
x-goog-user-project
헤더를 포함해야 합니다.curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: $(gcloud config get-value project)" \ https://cloudsupport.googleapis.com/v2/organizations/ORGANIZATION_ID/cases