Google Cloud Console では、Cloud Storage の簡単なストレージ管理作業を行うことができます。たとえば、Cloud Console では次のような作業を行います。
- プロジェクトの Cloud Storage API の有効化
- バケットの作成と削除
- オブジェクトのアップロード、ダウンロード、削除
- Identity and Access Management(IAM)ポリシーの管理
このページでは、Cloud Console を使用してデータを管理する方法など、Cloud Console の概要について説明します。gsutil コマンドライン ツールや Cloud Storage をサポートするクライアント ライブラリを使用すると、より複雑な作業を行うことができます。
Cloud Console へのアクセス
Cloud Console は、セットアップやインストールが不要であり、ブラウザから直接アクセスできます。Cloud Console へのアクセス方法は、ユースケースに応じて多少異なります。ユーザーの種類に応じて、以下のようになります。
- プロジェクトへのアクセス権が付与されているユーザー
使用:
https://console.cloud.google.com/
。Google Cloud Console をプロジェクト メンバーとして使用するには、プロジェクトのメンバーリストに自分が追加されている必要があります。現在のプロジェクト オーナーは、プロジェクトで定義されているすべてのバケットとオブジェクトに適用される権限を付与できます。詳細については、プロジェクトへのメンバーの追加をご覧ください。
- バケットへのアクセス権が付与されているユーザー
https://console.cloud.google.com/storage/browser/BUCKET_NAME
を使用してください。この例では、プロジェクト オーナーがプロジェクト内の個々のバケットに対するアクセス権をユーザーに付与します。ユーザーは、このパケット名をオーナーから取得し、上記の URL で使用します。ユーザーが操作できるのは、指定されたバケット内のオブジェクトだけです。これは、プロジェクト メンバーでないユーザーがバケットにアクセスする場合に便利な方法です。Google アカウントにログインせずに URL にアクセスすると、認証を求めるメッセージが表示されます。
プロジェクト オーナーがバケット内のオブジェクトの読み取り権限をすべてのユーザーに付与する場合にも、この方法を使用します。これにより、公開されたコンテンツを含むバケットを作成できます。詳細については、以下の権限とメタデータの設定をご覧ください。
- オブジェクトに対するアクセス権が付与されているユーザー
https://console.cloud.google.com/storage/browser/_details/BUCKET_NAME/OBJECT_NAME
を使用してください。この例では、プロジェクト オーナーがバケット内の 1 つのオブジェクトに対するアクセス権をユーザーに付与し、オブジェクトにアクセスするための URL をユーザーに送信します。Google アカウントにログインせずに URL にアクセスすると、認証を求めるメッセージが表示されます。
上記の URL の形式は、一般公開されているオブジェクトの URL とは異なります。リンクを一般公開している場合、URL は
https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME
という形式になります。この公開 URL を使用する場合、Google の認証は必要ありません。このため、オブジェクトに対する非認証アクセスで使用されます。
Google Cloud Console で実行できるタスク
Cloud Console を使用すると、ブラウザを使ってデータの基本的なストレージ管理作業を行うことができます。Cloud Console を使用するには、Google による認証を受け、以下の作業を行うための適切な権限を持っている必要があります。プロジェクトを作成したアカウント オーナーであれば、以下の作業を行うのに必要なすべての権限がすでにあるはずです。権限がない場合は、プロジェクト メンバーとして追加してもらうか(プロジェクトへのメンバーの追加)、バケットに対する操作を行うための権限を付与してもらいます(バケットの権限の設定)。
バケットの作成
Cloud Storage はフラットな名前空間を使用してデータを保管しますが、Cloud Console を使用すると、複数のフォルダを作成して疑似的なフォルダ階層を作成できます。データが物理的に階層構造で保存されるわけではありませんが、Cloud Console では階層構造のように表示されます。
Cloud Storage システムにはフォルダの概念がないため、ユーザーが gsutil や、Cloud Storage に対応している他のコマンドライン ツールを使用してフォルダを表示すると、フォルダ サフィックスとオブジェクト名の区切り文字が表示されます。
Cloud Console を使用してバケットを作成する手順については、ストレージ バケットの作成をご覧ください。
バケットへのデータのアップロード
データをバケットにアップロードするには、ファイルかファイルが含まれるフォルダをアップロードします。フォルダをアップロードすると、Cloud Console は、それに含まれているすべてのファイルとフォルダを含め、フォルダと同じ階層構造を維持します。アップロード進行状況ウィンドウを使って、Cloud Console へのアップロードの進行状況を追跡できます。進行状況ウィンドウを最小化し、バケットの操作を続けることができます。
Cloud Console でオブジェクトをバケットにアップロードする手順については、オブジェクトのアップロードをご覧ください。
デスクトップまたはファイル管理ツールから、ファイルやフォルダをバケットやサブフォルダにドラッグ&ドロップすることで、Cloud Console にオブジェクトをアップロードすることもできます。
バケットからのデータのダウンロード
Cloud Console を使用してバケットからオブジェクトをダウンロードする手順については、オブジェクトのダウンロードをご覧ください。
また、オブジェクトをクリックして詳細を表示することもできます。オブジェクトを表示できる場合、詳細ページにはオブジェクト自体のプレビューが含まれます。
フォルダの作成と使用
Cloud Storage にはフォルダという概念はありません。したがって、Cloud Console でフォルダを作成すると、バケット内のオブジェクトを整理できます。Cloud Console では、フォルダとオブジェクトを区別できるように、フォルダはフォルダ アイコン画像で表示されます。
[フォルダを作成] ボタンをクリックすると、バケット(またはバケット内のフォルダ)に新しいフォルダを作成できます。バケットと異なり、フォルダ名は全体で固有のものはありません。バケットは、同じ名前のパケットが存在しない場合のみ作成できますが、バケットまたはサブフォルダから移動しない限り、フォルダ名を繰り返し使用できます。
Cloud Console では、フォルダに追加されたオブジェクトがそのフォルダ内に配置されたように表示されます。実際には、バケットレベルにすべてのオブジェクトが存在するため、名前の中にディレクトリ構造が含まれす。たとえば、pets
という名前のフォルダを作成し、このフォルダにファイル cat.jpeg
を追加すると、Cloud Console ではフォルダ内にファイルが表示されます。実際には、個別のフォルダ エンティティは存在しません。ファイルはバケット内に存在し、pets/cat.jpeg
という名前が設定されます。
Cloud Console で、ファイルリストの上にあるパンくずリストで必要なフォルダ名またはバケット名をクリックすると、上位のディレクトリにアクセスできます。
gsutil でのフォルダの使用
他のツールを使ってバケットとデータを操作する場合、フォルダの表示方法は、Cloud Console での表示方法と異なる可能性があります。gsutil でのフォルダの扱いについては、サブディレクトリの仕組みをご覧ください。
表示するバケットまたはオブジェクトのフィルタリング
Cloud Console で [バケットをフィルタ] テキスト ボックスを使用すると、プロジェクトのバケットリストに表示されるバケットを絞り込むことができます。
フィルタリングはバケット名の接頭辞で行われます。
バケット数が 1,000 個未満のプロジェクトの場合、バケットのロケーションなど、条件を追加してフィルタリングできます。
バケット数が 1,000 個を超えるプロジェクトの場合、フィルタリング テキスト ボックスの横に表示されるプルダウンを使用して、追加のフィルタリング条件を有効にする必要があります。ただし、バケット数が 1,000 個以上のプロジェクトで追加のフィルタリング条件を有効にすると、フィルタリングのパフォーマンスが低下します。
Cloud Console で、バケットのオブジェクト リストの上にある [オブジェクト名またはフォルダ名の接頭辞でフィルタ...] テキスト ボックスに接頭辞を指定すると、表示されるオブジェクトを絞り込むことができます。このフィルタを使用すると、指定した接頭辞で始まるオブジェクトが表示されます。接頭辞でフィルタリングされるのは、現在のバケット表示に表示されているオブジェクトだけです。フォルダに含まれるオブジェクトは選択されません。
オブジェクト メタデータの設定
Cloud Console オブジェクトのメタデータを構成できます。オブジェクトのメタデータは、データがどのコンテンツ タイプを表すかや、データのエンコード方法など、リクエストがどのように処理されるかを制御します。Cloud Console ではオブジェクトのメタデータを 1 つずつ設定します。複数のオブジェクトのメタデータを同時に設定するには、gsutil setmeta を使用します。
オブジェクトのメタデータを表示して編集する手順については、オブジェクトのメタデータの表示と編集をご覧ください。
オブジェクト、フォルダ、バケットの削除
Google Cloud Console でバケット、フォルダまたはオブジェクトを削除するには、削除対象の横にあるチェックボックスをオンにして [削除] ボタンをクリックします。操作の確認を行って処理を続行します。フォルダまたはバケットを削除すると、その中のすべてのオブジェクトも削除されます。[公開] と表示されているオブジェクトも削除されます。
Cloud Console でバケットからオブジェクトを削除する手順については、オブジェクトの削除をご覧ください。
Cloud Console でプロジェクトからバケットを削除する手順については、バケットの削除をご覧ください。
データの一般公開
オブジェクトを一般公開すると、オブジェクトの [公開アクセス] 列にリンクアイコンが表示されます。このリンクをクリックすると、オブジェクトにアクセスするための公開 URL が表示されます。
オブジェクトを公開して他のユーザーと共有する手順については、データの一般公開をご覧ください。
一般公開のオブジェクトにアクセスする方法については、一般公開データへのアクセスをご覧ください。
オブジェクトの公開を停止するには:
オブジェクトの一般公開を停止するには、メンバーとして allUsers か allAuthenticatedUsers を含む権限エントリを削除します。
特定のオブジェクトだけを一般公開しているバケットの場合は、個々のオブジェクトの ACL を編集します。
すべてのオブジェクトを一般公開しているバケットの場合は、allUsers に対する IAM アクセス権を削除します。
公開アクセス列の使用
Cloud Console ではバケットとオブジェクトのどちらにも、リソースが一般公開されているかどうかを示す [公開アクセス] 列があります。
バケットレベルの [公開アクセス] 列
バケットの公開アクセス列には、[インターネットに公開]、[非公開]、[オブジェクトの 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 をユーザーと共有します。
オブジェクトの権限の設定
Cloud Console で IAM 権限を使用すると、バケット内のオブジェクトへのアクセスを簡単に均一に制御できます。バケット内のオブジェクトに対するアクセスを個別にカスタマイズするには、署名付き URL またはアクセス制御リスト(ACL)を使用します。
IAM 権限を表示して編集する手順については、IAM 権限の使用をご覧ください。
個々のオブジェクトの権限を表示または変更する方法については、ACL の変更をご覧ください。
プロジェクト レベルの役割をユーザーに設定する
プロジェクトを作成すると、ユーザーにオーナー IAM ロールが設定されます。共同編集者などの他のエンティティが、このプロジェクトのバケットやオブジェクトを操作できるようにするには、エンティティに固有の役割を設定する必要があります。
このプロジェクトの役割が付与されると、プロジェクトのリストにプロジェクト名が表示されます。すでにプロジェクト オーナーになっている場合には、プロジェクトにメンバーを追加できます。プロジェクト レベルでアクセス権の追加または削除を行う手順については、プロジェクトでの IAM の使用をご覧ください。
Cloud Data Loss Prevention でのバケットのスキャン
Cloud Data Loss Prevention(Cloud DLP)はバケット内の機密データを特定して保護するサービスです。Cloud DLP は、次のような情報を検索、削除して、コンプライアンス要件を満たすのに役立ちます。
- クレジット カード番号
- IP アドレス
- 個人情報(PII)のその他の形式
Cloud DLP で検出されるデータの種類の一覧については、infoType 検出器リファレンスをご覧ください。
バケットのその他メニューをクリックし、[Cloud Data Loss Prevention でスキャン] を選択すると、バケットの Cloud DLP スキャンを開始できます。バケットで Cloud DLP スキャンを行う方法については、Cloud Storage のロケーションの検査をご覧ください。