Google Cloud CLI でオブジェクト ストレージを検出する
このページでは、Google Cloud CLI を使用して Cloud Storage で基本的なタスクを実行する方法について説明します。
Cloud Storage で発生する費用は、使用するリソースによって異なります。このクイックスタートでは、ほとんどの場合、費用が $0.01 USD 未満の Cloud Storage リソースを使用します。
始める前に
-
Google Cloud CLI をインストールします。
-
フェデレーション ID(連携 ID)を使用するように gcloud CLI を構成します。
詳細については、 フェデレーション ID を使用して gcloud CLI にログインするをご覧ください。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
Cloud de Confiance プロジェクトを作成または選択します。
プロジェクトの選択または作成に必要なロール
- プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
-
プロジェクトを作成する: プロジェクトを作成するには、
resourcemanager.projects.create権限を含むプロジェクト作成者のロール(roles/resourcemanager.projectCreator)が必要です。詳しくは、ロールを付与する方法をご覧ください。
-
Cloud de Confiance プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_IDは、作成する Cloud de Confiance プロジェクトの名前に置き換えます。 -
作成した Cloud de Confiance プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_IDは、 Cloud de Confiance プロジェクト名に置き換えます。
-
ユーザー アカウントにロールを付与します。次の IAM ロールごとに次のコマンドを 1 回実行します。
roles/storage.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
次のように置き換えます。
PROJECT_ID: プロジェクト ID。USER_IDENTIFIER: ユーザー アカウントの識別子。 アカウント。例については、 IAM ポリシーで Workforce プールユーザーを表すをご覧ください。ROLE: ユーザー アカウントに付与する IAM ロール。
バケットの作成
バケットは、Cloud Storage でデータを格納するための基本的なコンテナです。
バケットを作成するには:
- ターミナル ウィンドウを開きます。
gcloud storage buckets createコマンドとグローバルに一意の名前を使用して、バケットを作成します。gcloud storage buckets create gs://BUCKET_NAME/ --uniform-bucket-level-access --location=LOCATION_NAME
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:example-service-account@example-project.s3ns.iam.gserviceaccount.com --role=roles/storage.objectCreator
レスポンスに次のものが含まれている場合、コマンドは成功です。
bindings: - members: - user:example-service-account@example-project.s3ns.iam.gserviceaccount.com role: roles/storage.objectCreatorこれで、このユーザーがバケットにアイテムを追加できるようになりました。
この権限を削除するには、次のコマンドを使用します。
gcloud storage buckets remove-iam-policy-binding gs://BUCKET_NAME --member=user:example-service-account@example-project.s3ns.iam.gserviceaccount.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/に作成したコピーはまだ存在します)。
クリーンアップ
このページで使用したリソースについて、 Cloud de Confiance アカウントに課金されないようにするには、リソースを含む Cloud de Confiance プロジェクトを削除します。
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
バケットとその内容が削除されました。