Google Cloud CLI でオブジェクト ストレージを検出する
このページでは、Google Cloud CLI を使用して Cloud Storage で基本的なタスクを実行する方法について説明します。
Cloud Storage で発生する費用は、使用するリソースによって異なります。このクイックスタートでは、ほとんどの場合、費用が $0.01 USD 未満の Cloud Storage リソースを使用します。
始める前に
- Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分も差し上げます。
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず フェデレーション ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
Google Cloud プロジェクトを作成または選択します。
プロジェクトの選択または作成に必要なロール
- プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
-
プロジェクトを作成する: プロジェクトを作成するには、
resourcemanager.projects.create権限を含むプロジェクト作成者のロール(roles/resourcemanager.projectCreator)が必要です。詳しくは、ロールを付与する方法をご覧ください。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_IDは、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_IDは、 Google Cloud プロジェクト名に置き換えます。
-
ユーザー アカウントにロールを付与します。次の IAM ロールごとに次のコマンドを 1 回実行します。
roles/storage.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
次のように置き換えます。
PROJECT_ID: プロジェクト ID。USER_IDENTIFIER: ユーザー アカウントの識別子。 例:myemail@example.comROLE: ユーザー アカウントに付与する IAM ロール。
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず フェデレーション ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
Google Cloud プロジェクトを作成または選択します。
プロジェクトの選択または作成に必要なロール
- プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
-
プロジェクトを作成する: プロジェクトを作成するには、
resourcemanager.projects.create権限を含むプロジェクト作成者のロール(roles/resourcemanager.projectCreator)が必要です。詳しくは、ロールを付与する方法をご覧ください。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_IDは、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_IDは、 Google Cloud プロジェクト名に置き換えます。
-
ユーザー アカウントにロールを付与します。次の IAM ロールごとに次のコマンドを 1 回実行します。
roles/storage.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
次のように置き換えます。
PROJECT_ID: プロジェクト ID。USER_IDENTIFIER: ユーザー アカウントの識別子。 例:myemail@example.comROLE: ユーザー アカウントに付与する IAM ロール。
バケットの作成
バケットは、Cloud Storage でデータを格納するための基本的なコンテナです。
バケットを作成するには:
- ターミナル ウィンドウを開きます。
gcloud storage buckets createコマンドとグローバルに一意の名前を使用して、バケットを作成します。gcloud storage buckets create gs://BUCKET_NAME/ --uniform-bucket-level-access
BUCKET_NAMEをバケットの名前に置き換えます。成功した場合、コマンドは次のようなレスポンスを返します。
Creating gs://my-awesome-bucket/...
選択したバケット名がすでに自分または他のユーザーによって使用されている場合は、コマンドから
ServiceException: 409 Bucket my-awesome-bucket already exists.別のバケット名でもう一度お試しください。のようなレスポンスが返されます。
これで、データを保存できるバケットが作成されました。
バケットにオブジェクトをアップロードする
次の画像をパソコンに保存します(デスクトップなど)。

gcloud storage cpコマンドを使用して、画像を保存した場所から作成したバケットにコピーします。gcloud storage cp OBJECT_LOCATION gs://BUCKET_NAME
OBJECT_LOCATIONは、イメージを保存したロケーション(Desktop/kitten.pngなど)に置き換えます。成功した場合、コマンドは次のようなレスポンスを返します。
Copying file://Desktop/kitten.png to gs://my-awesome-bucket/kitten.png Completed files 1/1 | 8.6kiB/8.6kiB
これで、オブジェクトをバケットに保存できました。
バケットからのオブジェクトのダウンロード
gcloud storage cpコマンドを使用して、バケットに保存した画像をパソコンのデスクトップなどの場所にダウンロードします。gcloud storage cp gs://BUCKET_NAME/kitten.png Desktop/kitten2.png
成功した場合、コマンドは次のようなレスポンスを返します。
Copying gs://my-awesome-bucket/kitten.png to file://Desktop/kitten2.png Completed files 1/1 | 8.6kiB/8.6kiB
これで、バケットからオブジェクトをダウンロードできました。
バケット内のシミュレートされたフォルダにオブジェクトをコピーする
gcloud storage cpコマンドを使用して、シミュレートされたフォルダを作成し、画像をそこにコピーします。gcloud storage cp gs://BUCKET_NAME/kitten.png gs://BUCKET_NAME/quickstart-folder/kitten3.png
成功した場合、コマンドは次のようなレスポンスを返します。
Copying gs://my-awesome-bucket/kitten.png to gs://my-awesome-bucket/quickstart-folder/kitten3.png Completed files 1/1 | 8.6kiB/8.6kiB
これで、バケット内の新しいシミュレートされたフォルダに画像がコピーされました。
バケットの内容の一覧表示
gcloud storage lsコマンドを使用して、トップレベルのバケットの内容を一覧表示します。gcloud storage ls gs://BUCKET_NAME
成功した場合、コマンドは次のようなレスポンスを返します。
gs://my-awesome-bucket/kitten.png gs://my-awesome-bucket/quickstart-folder/
これで、トップレベルのバケットの内容を表示できました。
オブジェクトの詳細を表示する
gcloud storage lsコマンドに--longフラグを指定して、画像の 1 つに関するいくつかの詳細を取得します。gcloud storage ls gs://BUCKET_NAME/kitten.png --long
成功した場合、コマンドは次のようなレスポンスを返します。
8775 2026-01-21T01:22:17Z gs://srs-bucketcli/kitten.png TOTAL: 1 objects, 8775 bytes (8.57kiB)
これで、画像のサイズと作成日に関する情報が取得されました。
オブジェクトの一般公開
gcloud storage buckets add-iam-policy-bindingコマンドを使用して、バケットに保存されているイメージの読み取り権限をすべてのユーザーに付与します。gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=allUsers --role=roles/storage.objectViewer
レスポンスに次のものが含まれている場合、コマンドは成功です。
bindings: - members: - allUsers role: roles/storage.objectViewerこれで、誰でも画像を取得できるようになりました。
このアクセス権を削除するには、次のコマンドを使用します。
gcloud storage buckets remove-iam-policy-binding gs://BUCKET_NAME --member=allUsers --role=roles/storage.objectViewer
エラーが返されなければ、コマンドは成功です。
バケット内の画像への公開アクセス権が削除されました。
バケットへのアクセス権の付与
gcloud storage buckets add-iam-policy-bindingコマンドを使用して、特定のメールアドレスにバケットへのオブジェクトを追加する権限を付与します。gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=user:jeffersonloveshiking@gmail.com --role=roles/storage.objectCreator
レスポンスに次のものが含まれている場合、コマンドは成功です。
bindings: - members: - user:jeffersonloveshiking@gmail.com role: roles/storage.objectCreatorこれで、このユーザーがバケットにアイテムを追加できるようになりました。
この権限を削除するには、次のコマンドを使用します。
gcloud storage buckets remove-iam-policy-binding gs://BUCKET_NAME --member=user:jeffersonloveshiking@gmail.com --role=roles/storage.objectCreator
エラーが返されなければ、コマンドは成功です。
このバケットへのユーザーのアクセス権を削除しました。
オブジェクトを削除する
画像のいずれかを削除するには、
gcloud storage rmコマンドを使用します。gcloud storage rm gs://BUCKET_NAME/kitten.png
成功した場合、コマンドは次のようなレスポンスを返します。
Removing gs://my-awesome-bucket/kitten.png...
画像のコピーは Cloud Storage に保存されなくなりました(ただし、シミュレートされたフォルダ
quickstart-folder/に作成したコピーはまだ存在します)。
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、リソースを含む Google Cloud プロジェクトを削除します。
gcloud storage rmコマンドで--recursiveフラグを指定して、バケットとその中のすべてのものを削除します。gcloud storage rm gs://BUCKET_NAME --recursive
成功した場合、コマンドは次のようなレスポンスを返します。
Removing objects: Removing gs://my-awesome-bucket/quickstart-folder/kitten3.png#1768960201129254 Completed 1/1 Removing buckets: Removing gs://my-awesome-bucket/... Completed 1/1
バケットとその内容が削除されました。
次のステップ
- Google Cloud コンソールで Cloud Storage クイックスタートを始める。
- Cloud Storage プロダクトの概要を確認する。
- Cloud Storage の料金について学習する。
- gcloud CLI コマンドのリファレンス ページをご覧ください。例: