API 액세스

Secret Manager에서는 직접 또는 애플리케이션에서 보안 비밀을 사용 및 관리할 수 있도록 REST APIgRPC API를 노출합니다. 이 주제에서는 Secret Manager API를 사용 설정하는 방법을 설명합니다.

Secret Manager API를 사용 설정하면 다음 도구를 사용하여 Secret Manager를 애플리케이션과 프로세스에 통합할 수 있습니다.

  • 클라이언트에서 보안 비밀을 관리하기 위해 명령줄 인터페이스를 제공하는 Google Cloud CLI

  • 애플리케이션 소스 코드 내에서 보안 비밀에 액세스하고 관리할 수 있는 편리한 관용적인 Secret Manager 클라이언트 라이브러리 클라이언트 라이브러리는 C#(.NET), Go, 자바, Node.js, PHP, Python, Ruby를 비롯한 여러 언어로 제공됩니다.

API 액세스 사용 설정

Secret Manager를 사용하기 전에 API 액세스를 사용 설정해야 합니다.

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

  4. 필요한 API를 사용 설정합니다.

    API 사용 설정

  5. Google Cloud CLI를 설치하고 초기화합니다.
  6. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  7. Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

  8. 필요한 API를 사용 설정합니다.

    API 사용 설정

  9. Google Cloud CLI를 설치하고 초기화합니다.

인증하는 중

Secret Manager API에 대한 요청에는 인증이 필요합니다. Google Cloud CLI 또는 클라이언트 라이브러리를 사용할 때 인증 정보는 일반적으로 요청에 자동으로 삽입됩니다. 예를 들어 Google Cloud CLI를 사용하여 인증하면 이후 요청이 자동으로 인증을 삽입합니다.

gcloud

gcloud auth login --update-adc

API를 직접 사용할 때는 요청으로 인증 정보를 헤더로 전달해야 합니다. 이 예시에서는 curl을 사용하여 Secret Manager API에 인증하는 방법을 보여줍니다.

API

curl "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets" \
    --header "Authorization: Bearer ACCESS_TOKEN"
  • PROJECT_ID는 Secret Manager를 사용할 Google Cloud 프로젝트 ID입니다.

  • ACCESS_TOKEN은 OAuth 액세스 토큰입니다. 이는 프리픽스가 BearerAuthorization 헤더로 지정됩니다.

Google Cloud CLI가 설치되어 있으면 다음을 실행하여 임시 OAuth 액세스 토큰을 생성할 수 있습니다.

gcloud

gcloud auth print-access-token

임시 OAuth 액세스 토큰을 생성하는 다른 방법을 알아보려면 단기 사용자 인증 정보 만들기를 참조하세요. Google Cloud에 인증하는 방법에 대한 자세한 내용은 Google Cloud 인증 개요를 참조하세요.

OAuth 범위

Compute Engine 또는 GKE에서 실행되는 워크로드에 Secret Manager를 사용하려면 기본 인스턴스 또는 노드에 cloud-platform OAuth 범위가 있어야 합니다. 다음 메시지와 함께 오류가 발생하면 인스턴스 또는 노드가 올바른 OAuth 범위로 프로비저닝되지 않은 것입니다.

Request had insufficient authentication scopes

Secret Manager를 사용하는 데 필요한 OAuth 범위는 다음과 같습니다.

https://www.googleapis.com/auth/cloud-platform

새 인스턴스, 인스턴스 그룹 또는 노드 풀을 만들 때 cloud-platform 범위를 지정합니다.

gcloud

gcloud compute instances create "INSTANCE_ID" \
    --scopes "https://www.googleapis.com/auth/cloud-platform"

기존 인스턴스, 인스턴스 그룹 또는 노드 풀의 경우 액세스 범위를 업데이트합니다.

gcloud

gcloud compute instances set-service-account "INSTANCE_ID" \
    --service-account "SERVICE_ACCOUNT_EMAIL" \
    --scopes "https://www.googleapis.com/auth/cloud-platform"

자세한 내용은 Compute Engine 서비스 계정 권한을 참조하세요.

App Engine

App Engine에서 실행되는 워크로드에 Secret Manager를 사용하려면 App Engine 서비스에 필요한 권한을 부여해야 합니다.

다음 단계