Google Cloud コンソールでは、Cloud Storage の簡単なストレージ管理作業を行うことができます。たとえば、Google Cloud コンソールでは次のような作業を行います。
- プロジェクトの Cloud Storage API の有効化
- バケットの作成と削除
- オブジェクトのアップロード、ダウンロード、削除
- Identity and Access Management(IAM)ポリシーの管理
このページでは、Google Cloud コンソールを使用してデータを管理する方法など、Google Cloud コンソールの概要について説明します。より高度なタスクを行うには、Google Cloud CLI または Cloud Storage をサポートするクライアント ライブラリを使用してください。
使ってみる
Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Cloud Storage のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
Cloud Storage を無料で試すGoogle Cloud コンソールへのアクセス
Google Cloud Console は、セットアップやインストールが不要であり、ブラウザから直接アクセスできます。Google Cloud Console へのアクセス方法は、ユースケースに応じて多少異なります。ユーザーの種類に応じて、以下のようになります。
- プロジェクトへのアクセス権が付与されているユーザー
https://console.cloud.google.com/
を使用してください。現在のプロジェクト オーナーは、プロジェクト全体へのアクセス権を付与できます。これは、プロジェクトで定義されているすべてのバケットとオブジェクトに等しく適用されます。
- バケットへのアクセス権が付与されているユーザー
https://console.cloud.google.com/storage/browser/BUCKET_NAME
を使用してください。この例では、プロジェクト オーナーがプロジェクト内の個々のバケットに対するアクセス権をユーザーに付与します。ユーザーは、このパケット名をオーナーから取得し、上記の URL で使用します。ユーザーが操作できるのは、指定されたバケット内のオブジェクトだけです。これは、プロジェクト全体へのアクセス権はないが、バケットにアクセスする必要があるユーザーに便利な方法です。ログインせずに URL にアクセスすると、認証を求めるメッセージが表示されます。
プロジェクト オーナーがバケット内のオブジェクトの読み取り権限をすべてのユーザーに付与する場合にも、この方法を使用します。これにより、公開されたコンテンツを含むバケットを作成できます。詳細については、権限とメタデータの設定をご覧ください。
- オブジェクトに対するアクセス権が付与されているユーザー
https://console.cloud.google.com/storage/browser/_details/BUCKET_NAME/OBJECT_NAME
を使用してください。この例では、プロジェクト オーナーがバケット内の 1 つのオブジェクトに対するアクセス権をユーザーに付与し、オブジェクトにアクセスするための URL をユーザーに送信します。ユーザー アカウントにログインせずに URL にアクセスすると、認証を求めるメッセージが表示されます。
上記の URL の形式は、一般公開されているオブジェクトの URL とは異なります。リンクを一般公開している場合、URL は
https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME
という形式になります。この公開 URL を使用する場合、Google の認証は必要ありません。このため、オブジェクトに対する非認証アクセスで使用されます。
Google Cloud Console で実行できるタスク
Google Cloud Console を使用すると、ブラウザを使ってデータの基本的なストレージ管理作業を行うことができます。Google Cloud Console を使用するには、Google による認証を受け、以下の作業を行うための適切な権限を持っている必要があります。プロジェクトを作成したアカウント オーナーであれば、以下の作業を行うのに必要なすべての権限がすでにあるはずです。そうでない場合は、プロジェクトへのアクセス権の付与または、バケットに対してアクションを行う権限の付与が行なわれます。
バケットの作成
Cloud Storage はフラットな名前空間を使用してデータを保管しますが、Google Cloud コンソールを使用すると、複数のフォルダを作成して疑似的なフォルダ階層を作成できます。この階層にデータが保存されることはありませんが、Google Cloud コンソールではこのような階層で表示されます。
バケット作成の詳しい手順については、バケットを作成するをご覧ください。
バケットへのデータのアップロード
データをバケットにアップロードするには、ファイルかファイルが含まれるフォルダをアップロードします。フォルダをアップロードすると、Google Cloud Console は、それに含まれているすべてのファイルとフォルダを含め、フォルダと同じ階層構造を維持します。アップロード進行状況ウィンドウを使って、Google Cloud Console へのアップロードの進行状況を追跡できます。進行状況ウィンドウを最小化し、バケットの操作を続けることができます。
Google Cloud コンソールでオブジェクトをバケットにアップロードする手順については、オブジェクトのアップロードをご覧ください。
Google Cloud コンソールにオブジェクトをアップロードすることもできます。この場合、Google Cloud コンソールでデスクトップやファイル管理ツールを使用し、ファイルまたはフォルダをドラッグしてバケットやサブフォルダにドロップします。
バケットからのデータのダウンロード
Google Cloud コンソールを使用してバケットからオブジェクトをダウンロードする手順については、オブジェクトのダウンロードをご覧ください。
また、オブジェクトをクリックして詳細を表示することもできます。オブジェクトを表示できる場合、詳細ページにはオブジェクト自体のプレビューが含まれます。
フォルダの作成と使用
Cloud Storage バケットはフラットな名前空間として存在しますが、Google Cloud コンソールを使用してフォルダを作成することによって、フォルダの利便性をシミュレートしてオブジェクトを整理することができます。Google Cloud コンソールでは、これらのシミュレートされたフォルダにはフォルダ アイコン画像が表示され、シミュレートされたフォルダに追加されたオブジェクトはそのフォルダ内に存在するように見えます。実際には、すべてのオブジェクトがバケットの階層に存在します。オブジェクトの名前全体の中にシミュレートされたフォルダ名が含まれていると、Google Cloud コンソールでは、オブジェクトがそのフォルダ内に含まれているように表示されます。
たとえば、pets
という名前のシミュレートされたフォルダを作成し、このフォルダにファイル cat.jpeg
を追加すると、Google Cloud コンソールではフォルダ内にファイルが表示されます。実際には、個別のフォルダ エンティティは存在しません。ファイルはバケット内に存在し、pets/cat.jpeg
という名前が設定されています。
Google Cloud コンソールで作成されたシミュレートされたフォルダは、バケット内に 0 バイトのオブジェクトとして存在します。Google Cloud コンソールを使用して、これらの 0 バイトのオブジェクトにメタデータやアクセス権限を設定することはできません。Cloud Storage にはマネージド フォルダという別の機能があることに注意してください。この機能では、接頭辞を共有するオブジェクトのグループへのアクセスを制御できます。
Google Cloud コンソールでシミュレートされたフォルダ間を移動するときに、ファイルリストの上にあるパンくずリストでフォルダ名またはバケット名をクリックすると、上位のディレクトリにアクセスできます。
他のツールを使ってバケットとデータを操作する場合、フォルダの表示方法は、Google Cloud コンソールでの表示方法と異なる可能性があります。gcloud CLI などのさまざまなツールで Cloud Storage のフォルダをシミュレートする方法については、シミュレートされたフォルダをご覧ください。
バケットとオブジェクトのリストのフィルタリングと並べ替え
Google Cloud コンソールのプロジェクトのバケットリストで、表示されるバケットをフィルタリングするには、[バケットをフィルタ] フィールドを使用します。バケットを並べ替えるには、並べ替える列の見出しをクリックします。
フィルタリングはバケット名の接頭辞で行われます。
バケット数が 1,000 個未満のプロジェクトの場合、バケットのロケーションなど、条件を追加してフィルタリングできます。また、いつでも列で並べ替えができます。
バケット数が 1,000 個を超えるプロジェクトの場合、フィルタリング フィールドの横に表示されるプルダウンを使用して、追加のフィルタリング条件と並べ替えを有効にする必要があります。ただし、バケット数が数千個あるプロジェクトでこれを有効にすると、フィルタリングと並べ替えのパフォーマンスが低下します。
Google Cloud コンソールのバケットのオブジェクト リストで、表示されるオブジェクトをフィルタリングするには、[オブジェクトとフォルダをフィルタ] フィールドに接頭辞を入力します。このフィルタを使用すると、入力した接頭辞で始まるオブジェクトとフォルダが表示されます。
フィルタリングと並べ替えは、表示されている現在のパス内のオブジェクトとフォルダにのみ適用されます。たとえば、バケットの最上位を表示している場合、フィルタリングと並べ替えでは、フォルダに含まれるオブジェクトは返されません。
並べ替えと追加のフィルタリング オプションを有効にするには、[名前の接頭辞のみでフィルタ] プルダウンをクリックして、[並べ替えとフィルタ] を選択します。
並べ替えを有効にしたら、並べ替える列の見出しをクリックしてオブジェクトを並べ替えます。
現在のパスに多数のオブジェクトとフォルダを含むバケットは、名前の接頭辞以外の条件で並べ替えまたはフィルタリングすると、パフォーマンスが低下します。
列の表示と非表示
バケットまたはオブジェクトのリストで列を表示または非表示にするには、[列を表示](
)をクリックして、表示または非表示にする列を選択します。オブジェクト メタデータの設定
Google Cloud Console オブジェクトのメタデータを構成できます。オブジェクトのメタデータは、データがどのコンテンツ タイプを表すかや、データのエンコード方法など、リクエストがどのように処理されるかを制御します。Google Cloud コンソールではオブジェクトのメタデータを 1 つずつ設定します。gcloud storage objects update
を使用して、複数のオブジェクトのメタデータを同時に設定します。
オブジェクトのメタデータを表示して編集する手順については、オブジェクトのメタデータの表示と編集をご覧ください。
オブジェクト、フォルダ、バケットの削除
Google Cloud Console でバケット、フォルダまたはオブジェクトを削除するには、削除対象の横にあるチェックボックスをオンにして [削除] ボタンをクリックします。操作の確認を行って処理を続行します。フォルダまたはバケットを削除すると、その中のすべてのオブジェクトも削除されます。[公開] と表示されているオブジェクトも削除されます。
Google Cloud コンソールでバケットからオブジェクトを削除する手順については、オブジェクトの削除をご覧ください。
Google Cloud コンソールでプロジェクトからバケットを削除する手順については、バケットの削除をご覧ください。
データの一般公開
オブジェクトを一般公開すると、オブジェクトの [公開アクセス] 列にリンクアイコンが表示されます。このリンクをクリックすると、オブジェクトにアクセスするための公開 URL が表示されます。
公開 URL のリンクは、オブジェクトを右クリックして表示されるリンクとは異なります。どちらのリンクからもオブジェクトにアクセスできますが、公開 URL のリンクは、ユーザー アカウントにログインしていない場合でも機能します。詳細については、リクエスト エンドポイントをご覧ください。
一般公開のオブジェクトにアクセスする方法については、一般公開データへのアクセスをご覧ください。
オブジェクトの公開を停止するには:
オブジェクトの一般公開を停止するには、プリンシパルとして allUsers か allAuthenticatedUsers を含む権限エントリを削除します。
特定のオブジェクトだけを一般公開しているバケットの場合は、個々のオブジェクトの ACL を編集します。
すべてのオブジェクトを一般公開しているバケットの場合は、allUsers に対する IAM アクセス権を削除します。
公開アクセス列の使用
Google Cloud コンソールではバケットとオブジェクトのどちらにも、リソースが一般公開されているかどうかを示す [公開アクセス] 列があります。
バケットレベルの [公開アクセス] 列
バケットの公開アクセス列には、[インターネットに公開]、[非公開]、[オブジェクトの ACL に準拠] のいずれかの値を指定できます。
次の条件を満たす IAM のロールがある場合、バケットは [インターネットに公開] になります。
- ロールはプリンシパルの allUsers または allAuthenticatedUsers に付与されます。
- 役割に
storage.buckets.create
とstorage.buckets.list
以外のストレージ権限が 1 つ以上含まれている。
これらの条件が true でない場合、バケットは [非公開] または [オブジェクトの ACL に準拠] のいずれかになります。
非公開: IAM のロールでバケット内のオブジェクトへの公開アクセスを付与するものはなく、バケットに対して均一なバケットレベルのアクセス権が有効になります。
オブジェクトの ACL に準拠: IAM のロールでバケット内のオブジェクトへの公開アクセスを付与するものはありませんが、アクセス制御リスト(ACL)によって、バケット内の個々のオブジェクトへの公開アクセスが付与されます。公開されているかどうかを確認するには、各オブジェクトの権限をチェックします。IAM のみを使用するには、均一なバケットレベルのアクセスを有効にします。
オブジェクト レベルの [公開アクセス] 列
次の条件のいずれかに該当する場合には、オブジェクトは公開されています。
オブジェクトのアクセス制御リスト(ACL)に allUsers または allAuthenticatedUsers のエントリが含まれている。
オブジェクトを含むバケットに、次の条件を満たす IAM のロールがある。
- ロールはプリンシパルの allUsers または allAuthenticatedUsers に付与されます。
- ロールに、ストレージ権限として、
storage.objects.get
、storage.objects.getIamPolicy
、storage.objects.setIamPolicy
、storage.objects.update
のうち 1 つ以上が設定されている。
上記の条件が満たされると、そのオブジェクトの [公開アクセス] 列には [インターネットに公開] と表示されます。
上記の条件が満たされない場合、そのオブジェクトの [公開アクセス] 列には [非公開] と表示されます。
バケットの権限の設定
IAM 権限を使用して Cloud Storage バケットへのアクセスを制御できます。たとえば、バケットの権限を設定し、ユーザーまたはグループなどのエンティティにバケット内のオブジェクトの表示や作成を許可できます。これは、ユーザーをプロジェクト レベルで追加するのが適切でない場合に行います。IAM 権限に指定されたエンティティは、バケットにアクセスするときに Google にログインし、認証を行う必要があります。https://console.cloud.google.com/storage/browser/BUCKET_NAME/
としてバケットの URL をユーザーと共有します。
オブジェクトの権限の設定
Google Cloud コンソールで IAM 権限を使用すると、バケット内のオブジェクトへのアクセスを簡単に均一に制御できます。バケット内のオブジェクトに対するアクセスを個別にカスタマイズするには、署名付き URL またはアクセス制御リスト(ACL)を使用します。
IAM 権限を表示して編集する手順については、IAM 権限の使用をご覧ください。
個々のオブジェクトの権限を表示または変更する方法については、ACL の変更をご覧ください。
プロジェクト レベルのロールをユーザーに設定する
プロジェクトを作成すると、ユーザーに IAM ロールのオーナーが設定されます。共同編集者などの他のエンティティが、このプロジェクトのバケットやオブジェクトを操作できるようにするには、エンティティに固有の役割を設定する必要があります。
このプロジェクトの役割が付与されると、プロジェクトのリストにプロジェクト名が表示されます。既存のプロジェクト オーナーの場合、プロジェクトにプリンシパルのアクセス権を付与できます。プロジェクト レベルでアクセス権を追加または削除する手順については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
オブジェクトのバージョニングの操作
オブジェクトのバージョニングを有効にすると、誤って削除または置換された場合に、オブジェクトの最新以外のバージョンを保持できます。ただし、オブジェクトのバージョニングを有効にすると、ストレージ コストが増加します。また、オブジェクトのバージョニングを有効にする際に、オブジェクトのライフサイクル管理の条件を追加することでコストを削減できます。これらの条件は、指定した設定に基づいて、古いオブジェクト バージョンを自動的に削除またはダウンクラスします。オブジェクト削除の構成例は、このユースケースに対して可能な条件の 1 つを示しています。
オブジェクトの非現行バージョンは、オブジェクトの [変更履歴] タブで一覧表示され、管理されます。
クロスプロダクト インテグレーション
バケットの [オブジェクト] タブでは、他の Google Cloud プロダクトとの次のインテグレーションを利用できます。
Storage Transfer Service を使用したバケットとの間での大規模なデータ転送。
Storage Transfer Service は、バケットと他のストレージ オプション(オンプレミス ファイル システム、他のバケット、他のクラウド プロバイダなど)の間で大量のデータを転送できるサービスです。
転送を開始するには、[オブジェクト] タブで [データを転送] プルダウンをクリックし、[データを転送] または [データを転送] を選択して、手順に沿って操作します。
Sensitive Data Protection を使用してバケットの機密データをスキャンする。
機密データの保護は、クレジット カード番号、IP アドレス、その他の個人情報(PII)など、バケット内の機密データを識別して保護できるサービスです。
Sensitive Data Protection で検出されるデータの種類の一覧については、infoType 検出器リファレンスをご覧ください。
バケットの Sensitive Data Protection スキャンを開始するには、[オブジェクト] タブの [その他のサービス] プルダウンをクリックし、[機密データの検査] を選択して手順に沿って操作します。Sensitive Data Protection でバケットのスキャンを行う方法については、Cloud Storage のロケーションの検査をご覧ください。
バケットから Pub/Sub へのデータのエクスポート。
Pub/Sub は、Google Cloud リソースで発生したイベントをサブスクライバーに通知できるメッセージング サービスです。Pub/Sub は、バケットにテキスト ファイルとして保存されているイベントレコードを受信し、Pub/Sub トピックにパブリッシュすることをサポートしています。
バケットのエクスポート ジョブを作成するには、[オブジェクト] タブの [その他のサービス] プルダウンをクリックし、[Pub/Sub にデータをエクスポートする] を選択して、手順に沿って操作します。詳細については、Cloud Storage Text to Pub/Sub(Batch)テンプレートをご覧ください。
Cloud Run 関数を使用してバケット内のデータの処理。
Cloud Run functions は、バケット内で特定のイベントが発生したときに実行するコードを指定できるサービスです。たとえば、バケット内のオブジェクトが削除されるたびに実行される Java 関数を作成できます。
バケットの関数を定義するには、[オブジェクト] タブの [その他のサービス] プルダウンをクリックし、[データを処理] を選択して手順に沿って操作します。