Cloud API 및 라이브러리 관리

Cloud API를 사용하여 코드에서 Google Cloud 제품 및 서비스에 액세스할 수 있습니다. 이러한 Cloud API는 클라이언트 라이브러리를 통해 호출할 수 있는 간단한 JSON REST 인터페이스를 노출합니다.

이 문서에서는 사용 가능한 API를 탐색하고, Cloud API를 사용 설정하고, Cloud 클라이언트 라이브러리를 프로젝트에 추가하고, 개발 요구 사항에 따라 인증을 설정하는 방법을 설명합니다.

Cloud API 탐색

IDE 내에서 사용 가능한 모든 Google Cloud API를 탐색하려면 다음 단계를 따르세요.

  1. 도구 > Cloud Code > Cloud 라이브러리 추가 및 Cloud API 관리를 선택합니다.
  2. 사용 가능한 모든 API를 보려면 Google Cloud API 탐색기 트리를 펼칩니다. 탐색기는 Cloud API를 카테고리별로 그룹화합니다. Search API 검색창을 사용하여 특정 API를 찾을 수도 있습니다.
  3. 트리 뷰 탐색기에 표시된 Cloud API 목록을 보여주는 스크린샷.
  4. API를 클릭하면 상태, 해당 클라이언트 라이브러리의 언어별 설치 안내, 관련 문서 등의 추가 세부정보를 볼 수 있습니다.

Cloud API 사용 설정

API 세부정보를 사용하여 프로젝트에 대해 Cloud API를 빠르게 사용 설정하려면 다음 단계를 따르세요.

  1. Cloud API 세부정보 보기에서 Cloud API를 사용 설정하려는 Google Cloud 프로젝트를 선택합니다.
  2. API 사용 설정 버튼을 클릭합니다.

    API가 사용 설정되면 이 변경사항을 확인하는 메시지가 표시됩니다.

Cloud 클라이언트 라이브러리 추가

IntelliJ에서 프로젝트에 라이브러리를 추가하려면 다음 단계를 따르세요.

자바 Maven 프로젝트의 경우

  1. 도구 > Cloud Code > Cloud 라이브러리 추가 및 Cloud API 관리를 선택합니다.
  2. Google Cloud 라이브러리 추가 대화상자에 지원되는 라이브러리가 표시됩니다.

    Cloud 라이브러리 추가 대화상자를 보여주는 스크린샷. 이 대화상자는 라이브러리를 추가할 모듈을 선택하는 드롭다운 메뉴를 제공하고, 추가할 수 있는 API 목록을 표시하며, API에 대한 정보를 표시하는 작업 영역을 제공합니다.
  3. Google Cloud 클라이언트 라이브러리(권장) 또는 자바 Spring GCP 라이브러리 중에 원하는 라이브러리 유형을 선택합니다.
  4. 모듈 드롭다운 메뉴에서 라이브러리를 추가할 모듈을 선택합니다.
  5. Add Maven Dependency(Maven 종속 항목 추가)를 클릭하여 프로젝트에 BOM과 클라이언트 라이브러리를 추가합니다.

다른 모든 프로젝트의 경우

  1. 도구 > Cloud Code > Cloud 라이브러리 추가 및 Cloud API 관리를 선택합니다.
  2. Google Cloud 라이브러리 추가 대화상자에 지원되는 라이브러리가 표시됩니다.

    Cloud 라이브러리 추가 대화상자를 보여주는 스크린샷. 이 대화상자는 추가할 수 있는 API의 목록을 보여주고 API에 대한 정보를 표시하는 작업 영역을 제공합니다.
  3. API 세부정보 페이지에 나열된 설치 안내에 따라 원하는 언어로 API를 설치합니다.

인증 설정

필요한 API를 사용 설정하고 필요한 클라이언트 라이브러리를 추가한 다음에는 성공적으로 인증할 수 있도록 애플리케이션을 구성해야 합니다. 구성은 개발 유형 및 실행 중인 플랫폼에 따라 달라집니다.

관련 인증 단계를 완료하면 애플리케이션에서 인증할 수 있고 애플리케이션 배포 준비가 완료됩니다.

로컬 개발

minikube

  1. gcloud auth login --update-adc를 실행하여 애플리케이션 기본 사용자 인증 정보(ADC)가 설정되었는지 확인합니다. 설정되어야 minikube에서 인증할 ADC를 찾을 수 있습니다.

minikube

  1. gcloud auth login --update-adc를 실행하여 애플리케이션 기본 사용자 인증 정보(ADC)가 설정되었는지 확인합니다. 설정되어야 minikube에서 인증할 ADC를 찾을 수 있습니다.
  2. minikube start --addons gcp-auth로 minikube를 시작합니다. 그러면 pod에 ADC가 마운트됩니다. Google Cloud에 대한 자세한 minikube 인증 가이드는 minikube gcp-auth 문서를 참조하세요.

로컬 Kubernetes 클러스터

  1. gcloud auth login --update-adc를 실행하여 애플리케이션 기본 사용자 인증 정보(ADC)가 설정되었는지 확인합니다.
  2. Google Cloud 클라이언트 라이브러리가 사용자 인증 정보를 찾을 수 있도록 배포 매니페스트를 수정하여 Kubernetes pod에 로컬 gcloud 디렉터리를 마운트합니다. Kubernetes pod 구성 예시:
    apiVersion: v1
    kind: Pod
    metadata:
      name: my-app
      labels:
        name: my-app
    spec:
      containers:
      - name: my-app
        image: gcr.io/google-containers/busybox
        ports:
          - containerPort: 8080
        volumeMounts:
          - mountPath: /root/.config/gcloud
            name: gcloud-volume
      volumes:
        - name: gcloud-volume
          hostPath:
            path: /path/to/home/.config/gcloud

Cloud Run

  1. gcloud auth login --update-adc를 실행하여 애플리케이션 기본 사용자 인증 정보(ADC)가 설정되었는지 확인합니다. 설정되어야 Cloud Run 로컬 시뮬레이션 환경에서 인증할 ADC를 찾을 수 있습니다.

원격 개발

Google Kubernetes Engine

  1. GKE에서 Google Cloud 서비스를 인증하도록 워크로드 아이덴티티로 GKE 클러스터 및 애플리케이션을 구성합니다. 그러면 Kubernetes 서비스 계정이 Google 서비스 계정과 연결됩니다.
  2. 액세스하려는 Google Cloud 서비스에 추가 역할이 필요하면 앱 개발을 위해 사용 중인 Google 서비스 계정에 역할을 부여합니다.
    ID에 부여할 수 있는 IAM 역할 유형 및 미리 정의된 역할 목록은 역할 가이드 이해를 참조하세요. 역할을 부여하는 단계는 리소스에 대한 액세스 권한 부여, 변경, 취소를 참조하세요.
  3. Kubernetes 배포 YAML 파일에서 .spec.serviceAccountName 필드를 설정하여 Kubernetes 서비스 계정을 참조하도록 Kubernetes 배포를 구성합니다.
    Cloud Code 템플릿으로 만든 앱에서 작업하는 경우 이 파일은 kubernetes-manifests 폴더 아래에 있습니다.

Cloud Run

  1. Cloud Run 애플리케이션 배포를 위해 새로운 고유 서비스 계정을 만들려면 서비스 계정 페이지에서 보안 비밀이 저장된 프로젝트를 선택합니다.

    서비스 계정 페이지로 이동

  2. 서비스 계정 만들기를 클릭합니다.
  3. 서비스 계정 만들기 대화상자에 서비스 계정을 설명하는 이름을 입력합니다.
  4. 서비스 계정 ID를 고유하고 쉽게 알아볼 수 있는 값으로 변경한 후 만들기를 클릭합니다.
  5. 액세스하려는 Google Cloud 서비스에 추가 역할이 필요하면 역할을 부여하고 계속을 클릭한 후 완료를 클릭합니다.
  6. Kubernetes 서비스 계정을 배포 구성에 추가하려면 Cloud Run: Deploy 실행 구성으로 이동하여 고급 버전 설정 섹션을 펼친 다음 서비스 계정 필드에 Kubernetes 서비스 계정을 지정합니다.
    Cloud Run에서 펼쳐진 고급 버전 설정 섹션: service-account-name@project-name.iam.gserviceaccount.com 형식의 서비스 계정 이름이 입력된 배포 및 서비스 계정 필드

Cloud Run

  1. GKE에서 Google Cloud 서비스를 인증하도록 워크로드 아이덴티티로 GKE 클러스터 및 애플리케이션을 구성합니다. 그러면 Kubernetes 서비스 계정이 Google 서비스 계정과 연결됩니다.
  2. 액세스하려는 Google Cloud 서비스에 추가 역할이 필요한 경우 앱 개발에 사용 중인 Google 서비스 계정에 역할을 부여합니다.
    역할 이해 가이드는 IAM 역할 유형을 설명하고 ID에 부여할 수 있는 사전 정의된 역할을 보여줍니다.
  3. Kubernetes 서비스 계정을 배포 구성에 추가하려면 Cloud Run: Deploy 실행 구성으로 이동하여 고급 버전 설정 섹션을 펼친 다음 서비스 계정 필드에 Kubernetes 서비스 계정을 지정합니다.
    Cloud Run에서 펼쳐진 고급 버전 설정 섹션: Kubernetes 서비스 계정 이름으로 채워진 배포 및 서비스 계정 필드

Secret Manager가 사용 설정된 원격 개발

인증에 서비스 계정을 사용하여 원격으로 개발하거나 애플리케이션에서 보안 비밀을 사용하는 경우 Google 서비스 계정에 특정 Secret Manager 보안 비밀에 액세스하는 데 필요한 역할을 부여하기 위해 몇 가지 추가 단계를 완료해야 합니다.

  1. Secret Manager 패널을 열고 코드에서 액세스하려는 보안 비밀을 선택합니다.

    오른쪽 사이드바에 강조표시된 Cloud Code의 Secret Manager와 세 개의 보안 비밀과 보안 비밀 'test'의 버전 세부정보가 하부 창에 표시된 Secret Manager 패널

  2. 권한 탭으로 전환하고 권한 수정 연필 아이콘을 사용하여 보안 비밀의 권한을 구성합니다. 연필 아이콘을 클릭하면 웹브라우저에서 해당 보안 비밀에 대한 Secret Manager 구성 페이지가 열립니다.

    Secret Manager에서 선택된 권한 탭 및 강조표시된 권한 수정 아이콘

  3. Cloud Console에서 정보 패널 표시를 클릭한 후 구성원 추가를 클릭합니다.

    브라우저의 콘솔 보안 비밀 페이지에 나열된 보안 비밀 세부정보. 펼쳐진 정보 패널에 구성원 추가 버튼이 강조 표시됨

  4. 서비스 계정에 Secret Manager 보안 비밀 접근자 역할을 부여합니다.

    테스트에 구성원 추가 패널에서 새 구성원 필드에 service-account-name@project-name.iam.gservicesaccount.comin 형식의 서비스 계정이 나열되고 역할 선택 드롭다운에서 Secret Manager 카테고리의 'Secret Manager 접근자' 역할이 선택됩니다.

    이제 서비스 계정에 이 특정 보안 비밀에 대한 액세스 권한이 있습니다.

지원 받기

의견을 보내려면 GitHub에서 문제를 보고하거나 Stack Overflow에서 질문합니다.