Cloud Storage サービス アカウントの取得

このページでは、プロジェクトの Cloud Storage サービス アカウントのメールアドレスを確認する方法について説明します。作成日時や使用方法といった Cloud Storage サービス アカウントの概要については、Cloud Storage のサービス アカウントをご覧ください。Google Cloud でのサービス アカウントの一般的な概要については、サービス アカウントをご覧ください。

プロジェクトの Cloud Storage サービス アカウントのメールアドレスを取得するには:

Console

  1. Google Cloud Console で Cloud Storage ブラウザを開きます。
    Cloud Storage ブラウザを開く
  2. [設定] をクリックします。

  3. [プロジェクト アクセス] タブの [Cloud Storage サービス アカウント] セクションにメールアドレスが表示されます。

コードサンプル

C++

詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。

namespace gcs = google::cloud::storage;
using ::google::cloud::StatusOr;
[](gcs::Client client) {
  StatusOr<gcs::ServiceAccount> account = client.GetServiceAccount();
  if (!account) throw std::runtime_error(account.status().message());

  std::cout << "The service account details are " << *account << "\n";
}

Go

詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。

import (
	"context"
	"fmt"
	"io"
	"time"

	"cloud.google.com/go/storage"
)

// getServiceAccount gets the default Cloud Storage service account email address.
func getServiceAccount(w io.Writer, projectID string) error {
	ctx := context.Background()
	client, err := storage.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("storage.NewClient: %v", err)
	}
	defer client.Close()

	ctx, cancel := context.WithTimeout(ctx, time.Second*10)
	defer cancel()

	serviceAccount, err := client.ServiceAccount(ctx, projectID)
	if err != nil {
		return fmt.Errorf("ServiceAccount: %v", err)
	}

	fmt.Fprintf(w, "The GCS service account for project %v is: %v\n", projectID, serviceAccount)
	return nil
}

Java

詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。

import com.google.cloud.storage.ServiceAccount;
import com.google.cloud.storage.Storage;
import com.google.cloud.storage.StorageOptions;

public class GetServiceAccount {
  public static void getServiceAccount(String projectId) {
    // The ID of your GCP project
    // String projectId = "your-project-id";

    Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService();
    ServiceAccount serviceAccount = storage.getServiceAccount(projectId);
    System.out.println(
        "The GCS service account for project " + projectId + " is: " + serviceAccount.getEmail());
  }
}

Python

詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。

from google.cloud import storage

def get_service_account():
    """Get the service account email"""
    storage_client = storage.Client()

    email = storage_client.get_service_account_email()
    print(
        "The GCS service account for project {} is: {} ".format(
            storage_client.project, email
        )
    )

JSON API

  1. OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。
  2. cURL を使用して、GET serviceAccount リクエストで JSON API を呼び出します。

    curl -X GET -H "Authorization: Bearer OAUTH2_TOKEN" \
    "https://storage.googleapis.com/storage/v1/projects/PROJECT_ID/serviceAccount"

    ここで

    • OAUTH2_TOKEN は、手順 1 で生成したアクセス トークンの名前です。
    • PROJECT_ID は、リストするバケットを含むプロジェクトの ID です。例: my-project