Cloud APIs を使用して、コードから Google Cloud のプロダクトおよびサービスにアクセスできます。これらの Cloud APIs では、クライアント ライブラリ経由で呼び出すことができる、シンプルな JSON REST インターフェースが公開されています。
このドキュメントでは、Cloud APIs を有効にし、Cloud クライアント ライブラリをプロジェクトに追加する方法について説明します。
Cloud APIs の閲覧
IDE 内で利用可能なすべての Google Cloud APIs を確認する手順は次のとおりです。
- [Tools] > [Cloud Code] > [Add Cloud libraries and Manage Cloud APIs] を選択します。
- Google Cloud APIs Explorer のツリーを展開して、使用可能なすべての API を表示します。Explorer はカテゴリ別に Cloud APIs をグループ化します。 Search API の検索バーを使用して特定の API を見つけ出すこともできます。
- [API] をクリックすると、ステータス、対応するクライアント ライブラリの言語に固有のインストール手順、関連ドキュメントなどの詳細が表示されます。

Cloud APIs の有効化
さらに、API の詳細を使用してプロジェクト用の Cloud APIs をすばやく有効にできます。手順は次のとおりです。
- Cloud API の詳細ビューで、Cloud API を有効にする Google Cloud プロジェクトを選択します。
- [Enable API] ボタンをクリックします。
API が有効になると、この変更を確認するメッセージが表示されます。
Cloud クライアント ライブラリの追加
IntelliJ でプロジェクトにライブラリを追加するには:
Java Maven プロジェクトの場合
- [Tools] > [Cloud Code] > [Add Cloud libraries and Manage Cloud APIs] を選択します。
- Google Cloud クライアント ライブラリ(推奨)または Java Spring GCP ライブラリからライブラリ タイプを選択します。
- [Module] プルダウン メニューで、ライブラリを追加するモジュールを選択します。
- [Add Maven Dependency] をクリックして、プロジェクトに BOM とクライアント ライブラリを追加します。
[Add Google Cloud Libraries] ダイアログが開き、サポートされるライブラリが表示されます。
![[Add Cloud Libraries] ダイアログのスクリーンショット。このダイアログのプルダウン メニューを使用して、ライブラリに追加するモジュールを選択します。追加可能な API の一覧を表示することもできます。このダイアログの作業領域には、API に関する情報が表示されます。](https://cloud.google.com/code/docs/intellij/images/add-maven-library.png?hl=ja)
その他のすべてのプロジェクトの場合
- [Tools] > [Cloud Code] > [Add Cloud libraries and Manage Cloud APIs] を選択します。
- 使用する言語に応じた API の詳細ページに記載されているインストール手順に従って、API をインストールします。
[Add Google Cloud Libraries] ダイアログが開き、サポートされるライブラリが表示されます。
![[Add Cloud Libraries] ダイアログのスクリーンショット。このダイアログは追加可能な API の一覧を表示することもできます。このダイアログの作業領域には、API に関する情報が表示されます。](https://cloud.google.com/code/docs/intellij/images/client-library-detail-enable.png?hl=ja)
認証の設定
必要な API を有効にして必要なクライアント ライブラリを追加したら、アプリケーションの認証を正常に完了するためにアプリケーションを構成する必要があります。構成は、開発の種類と実行するプラットフォームによって異なります。
関連する認証手順を完了すると、アプリケーションが認証され、デプロイの準備が整います。
ローカルでの開発
ローカルマシン
- IDE から Google Cloud にログインした場合は、Cloud Code には、アプリケーションのデフォルト認証情報(ADC)が確実に設定されています。
IDE の外部で Google Cloud に(gcloud コマンドライン ツールなどから)ログインした場合は、gcloud auth login --update-adc
を実行して ADC を設定する必要があります。これにより、Google Cloud クライアント ライブラリで、認証に使用する ADC を検出できるようにもなります。
minikube
- IDE から Google Cloud にログインした場合は、Cloud Code には、アプリケーションのデフォルト認証情報(ADC)が確実に設定されています。
IDE の外部で Google Cloud に(gcloud コマンドライン ツールなどから)ログインした場合は、gcloud auth login --update-adc
を実行して ADC を設定する必要があります。これにより、minikube で認証に使用する ADC を検出できます。 minikube start --addons gcp-auth
で minikube を起動します。これにより、ADC が Pod にマウントされます。Google Cloud 用の詳細な minikube 認証ガイドについては、minikube gcp-auth ドキュメントをご覧ください。
その他のローカル K8s クラスタ
- IDE から Google Cloud にログインした場合は、Cloud Code には、アプリケーションのデフォルト認証情報(ADC)が確実に設定されています。
IDE の外部で Google Cloud に(gcloud コマンドライン ツールなどから)ログインした場合は、gcloud auth login --update-adc
を実行して ADC を設定する必要があります。 - Pod またはデプロイのマニフェストで Pod の仕様を編集して、Google Cloud クライアント ライブラリで認証情報を検出できるように、ローカルの
gcloud
ディレクトリを Kubernetes Pod にマウントします。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
- IDE から Google Cloud にログインした場合は、Cloud Code には、アプリケーションのデフォルト認証情報(ADC)が確実に設定されています。
IDE の外部で Google Cloud に(gcloud コマンドライン ツールなどから)ログインした場合は、gcloud auth login --update-adc
を実行して ADC を設定する必要があります。これにより、Cloud Run のローカルでシミュレートされた環境で、認証に使用する ADC を検出できます。
リモート開発
Google Kubernetes Engine
プロジェクトのスコープに応じて、GKE での Google Cloud サービスの認証方法を選択できます。
- (開発のみ)
- 次の設定で GKE クラスタを作成します。
- GKE でデフォルトで使用されるサービス アカウント(Compute Engine のデフォルト サービス アカウント)を使用していること、および [アクセス スコープ] が [すべての Cloud APIs への完全アクセス権を許可] に設定されていることを確認してください(この 2 つの設定を行うには、[ノードプール] > [セキュリティ] と進んでください)。
Compute Engine サービス アカウントはノードにデプロイされているすべてのワークロードで共有されるので、この方法は権限をオーバープロビジョニングし、開発目的でのみ使用する必要があります。 - クラスタで Workload Identity が有効になっていないことを確認します([クラスタ] > [セキュリティ] セクションにて)。
- GKE でデフォルトで使用されるサービス アカウント(Compute Engine のデフォルト サービス アカウント)を使用していること、および [アクセス スコープ] が [すべての Cloud APIs への完全アクセス権を許可] に設定されていることを確認してください(この 2 つの設定を行うには、[ノードプール] > [セキュリティ] と進んでください)。
- 必要なロールを Compute Engine のデフォルト サービス アカウントに割り当てます。
- Secret にアクセスする場合は、Secret Manager 固有の手順に従って、サービス アカウントに必要なロールを設定します。
- Compute Engine のデフォルトのサービス アカウントが使用されている場合は、適切な IAM ロールがすでに適用されている可能性があります。
- ロールについてのガイドでは、IAM ロールのタイプと、ID に付与できる事前定義ロールの一覧について説明しています。
- 次の設定で GKE クラスタを作成します。
- (本番環境に推奨)
- Workload Identity を使用して GKE クラスタとアプリケーションを構成し、GKE で Google Cloud サービスを認証します。これにより、Kubernetes サービス アカウントが Google サービス アカウントに関連付けられます。
- Kubernetes Deployment YAML ファイル内の
.spec.serviceAccountName
フィールドを設定して、Kubernetes サービス アカウントを参照するように Kubernetes Deployment を構成します。
Cloud Code テンプレートから作成されたアプリの場合、このファイルは kubernetes-manifests フォルダにあります。 - アクセスしようとしている Google Cloud サービスに追加のロールが必要な場合は、アプリの開発に使用している Google サービス アカウントにそれらのロールを付与します。
- Secret にアクセスする場合は、Secret Manager 固有の手順に従って、サービス アカウントに必要なロールを設定します。
- ロールについてのガイドでは、IAM ロールのタイプと、ID に付与できる事前定義ロールの一覧について説明しています。
Cloud Run
- [サービス アカウント] ページから、Cloud Run アプリケーションをデプロイするための新しい一意のサービス アカウントを作成します。Secret が保存されているプロジェクトと同じプロジェクトを選択するようにしてください。
[サービス アカウント] ページに移動 - アクセスしようとしている Google Cloud サービスに追加のロールが必要な場合は、アプリの開発に使用している Google サービス アカウントにロールを付与します。
ロールについてのガイドには、IAM のロールのタイプと、ID に付与できる事前定義されたロールのリストが記載されています。 - デプロイ構成にサービス アカウントを追加します。これを行うには、[Cloud Run: Deploy] の実行構成に移動して、[Advanced revision settings] セクションを展開し、[Service Account] フィールドにサービス アカウントを入力します。
Cloud Run
プロジェクトのスコープに応じて、GKE での Google Cloud サービスの認証方法を選択できます。
- (開発のみ)
- 次の設定で GKE クラスタを作成します。
- GKE でデフォルトで使用されるサービス アカウント(Compute Engine のデフォルト サービス アカウント)を使用していること、および [アクセス スコープ] が [すべての Cloud APIs への完全アクセス権を許可] に設定されていることを確認してください(この 2 つの設定を行うには、[ノードプール] > [セキュリティ] と進んでください)。
Compute Engine サービス アカウントはノードにデプロイされているすべてのワークロードで共有されるので、この方法は権限をオーバープロビジョニングし、開発目的でのみ使用する必要があります。 - クラスタで Workload Identity が有効になっていないことを確認します([クラスタ] > [セキュリティ] セクションにて)。
- GKE でデフォルトで使用されるサービス アカウント(Compute Engine のデフォルト サービス アカウント)を使用していること、および [アクセス スコープ] が [すべての Cloud APIs への完全アクセス権を許可] に設定されていることを確認してください(この 2 つの設定を行うには、[ノードプール] > [セキュリティ] と進んでください)。
- 必要なロールを Compute Engine のデフォルト サービス アカウントに割り当てます。
- Secret にアクセスする場合は、Secret Manager 固有の手順に従って、サービス アカウントに必要なロールを設定します。
- Compute Engine のデフォルトのサービス アカウントが使用されている場合は、適切な IAM ロールがすでに適用されている可能性があります。
- ロールについてのガイドでは、IAM ロールのタイプと、ID に付与できる事前定義ロールの一覧について説明しています。
- 次の設定で GKE クラスタを作成します。
- (本番環境に推奨)
- Workload Identity を使用して GKE クラスタとアプリケーションを構成し、GKE で Google Cloud サービスを認証します。これにより、Kubernetes サービス アカウントが Google サービス アカウントに関連付けられます。
- Kubernetes サービス アカウントをデプロイ構成に追加します。これを行うには、[Cloud Run: Deploy] の実行構成に移動して、[Advanced revision settings] セクションを展開し、[Service Account] フィールドに Kubernetes サービス アカウントを入力します。
- アクセスしようとしている Google Cloud サービスに追加のロールが必要な場合は、アプリの開発に使用している Google サービス アカウントにそれらのロールを付与します。
- Secret にアクセスする場合は、Secret Manager 固有の手順に従って、サービス アカウントに必要なロールを設定します。
- ロールについてのガイドでは、IAM ロールのタイプと、ID に付与できる事前定義ロールの一覧について説明しています。
Secret Manager 権限を有効にしたリモート開発
認証にサービス アカウントを使用してリモートで開発しており、アプリケーションが Secret を使用している場合は、リモート開発の手順に追加していくつかの手順を行う必要があります。これらの手順では、Google サービス アカウントに特定の Secret Manager の Secret にアクセスに必要なロールを割り当てます。
[Secret Manager] パネルを開き、コード内でアクセスする Secret を選択します。
[権限] タブに切り替え、編集権限の鉛筆アイコンで Secret の権限を構成します。鉛筆アイコンをクリックすると、ウェブブラウザに作成した Secret の [Secret Manager] 構成ページが開きます。
Cloud Console の情報パネルで、[メンバーを追加] を選択します。
サービス アカウントに、Secret Manager Secret アクセサーのロールを割り当てます。
これで、サービス アカウントにこの特定の Secret にアクセスするための権限が付与されました。