API へのアクセス

Secret Manager は、REST APIgRPC API を公開し、直接またはアプリケーション内でシークレットを使用、管理します。このトピックでは、Secret Manager API を有効にする方法について説明します。

Secret Manager API を有効にすると、次のツールを使用して Secret Manager をアプリケーションやプロセスに統合できます。

  • クライアントからシークレットを管理するためのコマンドライン インターフェースを提供する Cloud SDK

  • アプリケーション ソースコード内からシークレットにアクセスして管理できる、便利で汎用的な Secret Manager クライアント ライブラリ。クライアント ライブラリは、C#(.NET)、Go、Java、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. Cloud SDK をインストールして初期化します。
  6. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  7. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  8. 必要な API を有効にします。

    API を有効にする

  9. Cloud SDK をインストールして初期化します。

認証中

Secret Manager API へのリクエストには認証が必要です。Cloud SDK またはクライアント ライブラリを使用すると、通常は認証情報が自動的にリクエストに挿入されます。たとえば、gcloud コマンドライン ツールを使用して認証を行うと、今後のリクエストでは認証が自動的に挿入されます。

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 アクセス トークンです。Authorization ヘッダーとして指定され、接頭辞の値は Bearer になります。

Cloud SDK がインストールされている場合は、次のコマンドを実行することで、一時的な 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 サービスに必要な権限を付与する必要があります。

次のステップ