Cloud Code for IntelliJ で Cloud API とライブラリを管理する

Cloud APIs を使用して、コードから Google Cloud プロダクトとサービスにアクセスできます。これらの Cloud APIs では、クライアント ライブラリ経由で呼び出すことができる、シンプルな JSON REST インターフェースが公開されています。

このドキュメントでは、利用可能な API のブラウジング、Cloud APIs の有効化、プロジェクトへの Cloud クライアント ライブラリの追加、開発のニーズに応じた認証の設定を行う方法について説明します。

Cloud APIs の閲覧

IDE 内で利用可能なすべての Google Cloud APIs を確認する手順は次のとおりです。

  1. [Tools] > [Cloud Code] > [Add Cloud libraries and Manage Cloud APIs] を選択します。
  2. Google Cloud APIs Explorer のツリーを展開して、使用可能なすべての API を表示します。Explorer はカテゴリ別に Cloud APIs をグループ化します。Search API の検索バーを使用して特定の API を見つけ出すこともできます。
  3. ツリービュー エクスプローラに表示される Cloud APIs の一覧を示すスクリーンショット。
  4. [API] をクリックすると、ステータス、対応するクライアント ライブラリの言語に固有のインストール手順、関連ドキュメントなどの詳細が表示されます。

Cloud APIs の有効化

API の詳細を使用してプロジェクトの Cloud API をすばやく有効にするには、次の手順に従います。

  1. Cloud APIs の詳細ビューで、Cloud APIs を有効にするプロジェクトを選択します。
  2. [API を有効にする] ボタンをクリックします。

    API が有効になると、この変更を確認するメッセージが表示されます。

Cloud クライアント ライブラリの追加

IntelliJ でプロジェクトにライブラリを追加する手順は次のとおりです。

Java Maven プロジェクトの場合

  1. [Tools] > [Cloud Code] > [Cloud APIs] を選択します。
  2. [Manage Google Cloud APIs] ダイアログにが開き、サポートされるライブラリが表示されます。

    [Manage Cloud APIs] ダイアログを示すスクリーンショット。このダイアログのプルダウン メニューを使用して、ライブラリに追加するモジュールを選択します。追加可能な API の一覧を表示することもできます。このダイアログの作業領域には、API に関する情報が表示されます。
  3. Google Cloud クライアント ライブラリ(推奨)または Java Spring Google Cloudライブラリからライブラリ タイプを選択します。
  4. [Module] プルダウン メニューで、ライブラリを追加するモジュールを選択します。
  5. [Add Maven Dependency] をクリックして、プロジェクトに BOM とクライアント ライブラリを追加します。

その他のすべてのプロジェクトの場合

  1. [Tools] > [Cloud Code] > [Add Cloud libraries and Manage Cloud APIs] を選択します。
  2. [Add Google Cloud Libraries] ダイアログが開き、サポートされるライブラリが表示されます。

    [Add Cloud Libraries] ダイアログのスクリーンショット。このダイアログは追加可能な API の一覧を表示することもできます。このダイアログの作業領域には、API に関する情報が表示されます。
  3. 使用する言語に応じた API の詳細ページに記載されているインストール手順に従って、API をインストールします。

認証の設定

必要な API を有効にして必要なクライアント ライブラリを追加したら、アプリケーションの認証を正常に完了するためにアプリケーションを構成する必要があります。構成は、開発の種類と実行するプラットフォームによって異なります。

関連する認証手順を完了すると、アプリケーションが認証され、デプロイの準備が整います。

ローカルでの開発

minikube

  1. gcloud auth application-default login を実行して、アプリケーションのデフォルト認証情報(ADC)が設定されていることを確認します。これにより、minikube で認証に使用する ADC を検出できます。

minikube

  1. gcloud auth application-default login を実行して、アプリケーションのデフォルト認証情報(ADC)が設定されていることを確認します。これにより、minikube で認証に使用する ADC を検出できます。
  2. minikube start --addons gcp-auth で minikube を起動します。これにより、ADC が Pod にマウントされます。Google Cloud 用の詳細な minikube 認証ガイドについては、minikube gcp-auth ドキュメントをご覧ください。

ローカル Kubernetes クラスタ

  1. gcloud auth application-default login を実行して、アプリケーションのデフォルト認証情報(ADC)が設定されていることを確認します。
  2. デプロイ マニフェストを編集して Kubernetes Pod にローカルの gcloud ディレクトリをマウントします。これにより、Google Cloud クライアント ライブラリで認証情報を検出できるようになります。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 application-default login を実行して、アプリケーションのデフォルト認証情報(ADC)が設定されていることを確認します。これにより、Cloud Run のローカルでシミュレートされた環境で、認証に使用する ADC を検出できます。

リモート開発

Google Kubernetes Engine

  1. Workload Identity を使用して GKE クラスタとアプリケーションを構成し、GKE で Google Cloud サービスを認証します。これにより、Kubernetes サービス アカウントが Google サービス アカウントに関連付けられます。
  2. アクセスしようとしている Google Cloud サービスに追加のロールが必要な場合は、アプリの開発に使用している Google サービス アカウントにそれらのロールを付与します。
    ID に付与できる IAM ロールの種類と事前定義ロールのリストについては、ロールについてのガイドをご覧ください。ロールを付与する手順については、リソースへのアクセス権の付与、変更、取り消しをご覧ください。
  3. Kubernetes Deployment YAML ファイル内の .spec.serviceAccountName フィールドを設定して、Kubernetes サービス アカウントを参照するように Kubernetes Deployment を構成します。
    Cloud Code テンプレートから作成されたアプリの場合、このファイルは kubernetes-manifests フォルダにあります。

Cloud Run

  1. Cloud Run アプリケーションをデプロイするための新しい専用のサービス アカウントを作成するには、[サービス アカウント] ページで、Secret が保存されているプロジェクトを選択します。

    [サービス アカウント] ページに移動

  2. [サービス アカウントを作成] をクリックします。
  3. [サービス アカウントの作成] ダイアログで、わかりやすいサービス アカウント名を指定します。
  4. [サービス アカウント ID] を一意のわかりやすい値に変更してから、[作成] をクリックします。
  5. アクセスしようとしている Google Cloud サービスに追加のロールが必要な場合は、付与し、[続行] をクリックして、[完了] をクリックします。
  6. デプロイ構成にサービス アカウントを追加するには、[Cloud Run: Deploy] 実行構成に移動し、[詳細なリビジョン設定] セクションを展開して、[サービス アカウント] フィールドにサービス アカウントを入力します。
    Cloud Run で展開された詳細なリビジョン設定セクション: service-account-name@project-name.iam.gserviceaccount.comという形式のサービス アカウント名が入力されている [Deploy and Service Account] フィールド

Cloud Run

  1. Workload Identity を使用して GKE クラスタとアプリケーションを構成し、GKE で Google Cloud サービスを認証します。これにより、Kubernetes サービス アカウントが Google サービス アカウントに関連付けられます。
  2. アクセスしようとしている Google Cloud サービスに追加のロールが必要な場合は、アプリの開発に使用している Google サービス アカウントにロールを付与します。
    ロールについてのガイドには、IAM のロールのタイプと、ID に付与できる事前定義されたロールのリストが記載されています。
  3. デプロイ構成に Kubernetes サービス アカウントを追加するには、[Cloud Run: Deploy] 実行構成に移動し、[詳細なリビジョン設定] セクションを展開して、[サービス アカウント] フィールドに Kubernetes サービス アカウントを入力します。
    Cloud Run で展開された [Advanced revision settings] セクション: Kubernetes サービス アカウント名が入力された [Deploy and Service Account] フィールド

Secret Manager を有効にしたリモート開発

認証にサービス アカウントを使用してリモートで開発しており、アプリケーションが Secret を使用している場合は、Google サービス アカウントに特定の Secret Manager の Secret にアクセスする際に必要なロールを割り当てるために追加の手順を行う必要があります。

  1. [Secret Manager] パネルを開き、コード内でアクセスする Secret を選択します。

    右側のサイドバーでハイライト表示されている Cloud Code の Secret Manager と [Secret Manager] パネルが開き、3 つの Secret が一覧表示され、下部のパネルに「テスト」という名前の Secret のバージョンに関する詳細情報が表示される

  2. [権限] タブに切り替え、編集 [権限を編集] をクリックして Secret の権限を構成します。シークレットの Secret Manager 構成ページがウェブブラウザで開きます。

    Secret Manager で選択された [権限] タブとハイライト表示された [権限編集] アイコン

  3. Google Cloud Console で、[情報パネルを表示] をクリックし、[プリンシパルを追加] をクリックします。

  4. サービス アカウントに、Secret Manager Secret アクセサーのロールを割り当てます。

    サービス アカウントには、このシークレットにアクセスする権限があります。

サポートを受ける

IntelliJ IDE でフィードバックを送信するか、問題を報告するには、[Tools] > [Cloud Code] > [Help / About] > [Submit feedback or report an issue] を選択して、GitHub で問題を報告します。