---
title: "gsutilを使用してGCSへアクセスする場合の環境設定 | grasys blog"
url: "https://blog.grasys.io/post/izumi/gcs-gsutil-env/"
description: "今回は、ローカルやオンプレミス、GCP以外からgsutilコマンドを使用してGCSへアクセスする場合の環境設定をいきたいと思います。 こんにちは、エンジニア泉水です。 冒頭で書いた通り今回は、gsutilコマンドでアクスする際の環境設定です。 1.GCSって？ 説明の必要はないと思いますが、、、 GCSはGCPが提供…"
---

# gsutilを使用してGCSへアクセスする場合の環境設定

-   ![](/_astro/noicon.CTHOhNiB_1HMs6A.webp)[izumi](/authors/izumi/)
-   公開日：2019年5月16日
-   カテゴリー：[Tech](/categories/tech/)
-   タグ：[#Cloud Storage](/tags/cloud-storage/)

![gsutilを使用してGCSへアクセスする場合の環境設定](/_astro/og-image.DDSiu2Ny_XHpDd.webp)

今回は、ローカルやオンプレミス、GCP以外からgsutilコマンドを使用してGCSへアクセスする場合の環境設定をいきたいと思います。

こんにちは、エンジニア泉水です。 冒頭で書いた通り今回は、gsutilコマンドでアクスする際の環境設定です。

## 1.GCSって？

説明の必要はないと思いますが、、、 GCSはGCPが提供しているオブジェクトストレージです。 [Google Cloud (GCP) Storage](https://cloud.google.com/storage/?hl=ja)

類似サービスとしてはAWSのS3があります。

## 2.やること

今回はそのS3は使ったことあるけど、GCSをこれから使ってみる使ってみたいという人向けにAWSと比較しながら

・gsutilコマンドを使用してアクセスするための設定

をやっていきます。 (初期設定はたまにしかしないから実は自分の備忘録なんて言えない)

## 3.TRY

### 1 前提

前提:google cloud sdkインストール済み  
もしまだの場合は、[こちら](https://cloud.google.com/sdk/docs/?hl=ja)

### 2 AWSだと？

以下のような感じでアクセキーとシークレットアクセスキーを環境変数に設定してあげればアクセスできますよね。

Plain textcontent\_copy

```
export AWS_ACCESS_KEY_ID=xxxxxxxxxx
export AWS_SECRET_ACCESS_KEY=xxxxxxxxxx
```

Plain textcontent\_copy

```
aws s3 ls s3://
...
...
...
```

### 3 GCPだと？

GCSもライブラリを使用したアクセスであればAWSと同様に環境変数へサービスアカウントのパスを環境変数へ設定することでアクセスできます。  
[サーバー間での本番環境アプリケーションの認証の設定](https://cloud.google.com/docs/authentication/production?hl=ja)

サービスアカウントに関しては[こちら](https://cloud.google.com/iam/docs/service-accounts?hl=ja)

が、gsutilコマンド使用してアクセスするためには環境変数への設定のみではダメなのです、、、

Plain textcontent\_copy

```
printenv | grep GOOGLE
GOOGLE_APPLICATION_CREDENTIALS=/path/service_account.json
```

Plain textcontent\_copy

```
$ gsutil ls gs://
ServiceException: 401 Anonymous caller does not have storage.buckets.list access to project xxxxxx.
```

この通りエラーに、、、

では、どうすればいいか？  
サービスアカウント認証情報を使用して認証する必要があります。

Plain textcontent\_copy

```
$ gcloud auth activate-service-account --key-file service_account.json
$ gcloud auth list
                    Credentialed Accounts
ACTIVE  ACCOUNT
*       xxxxx@xxxxx.iam.gserviceaccount.com
```

アカウント認証を行うと、、、

Plain textcontent\_copy

```
$ gsutil ls -p grasys-dev gs://
gs://xxx/
gs://yyy/
gs://zzz/
```

アクセスできました！

## 終わり

ちょっとGCPの方がめんどくさいかなーと思う反面、AWSと違って環境変数への設定する数は少ないのでそこは楽かなと、、、  
まぁ慣れの問題ですね！！！

## この記事を書いた人

[![](/_astro/noicon.CTHOhNiB_Z24aAgM.webp)](/authors/izumi/)

### [izumi](/authors/izumi/)

izumiのプロフィールと執筆記事をご覧いただけます。

[プロフィールと記事一覧](/authors/izumi/)