削除(復元可能)バケットを使用する

削除(復元可能)機能の概要

このページでは、削除済み(復元可能)バケットを一覧表示して復元する方法について説明します。

概要

バケットが削除(復元可能)されると、削除(復元可能)の保持期間中は Cloud Storage によって保持されます。削除(復元可能)状態になっている間は変更できません。削除(復元可能)の保持期間が終了すると、Cloud Storage はバケットとそのオブジェクトを完全に削除します。削除時に削除(復元可能)機能が有効になっているバケットは、削除(復元可能)の保持期間内に復元できます。削除(復元可能)バケットを復元すると、バケットはライブ状態に戻り、削除時にバケット内にあったオブジェクトも復元できます。

考慮事項

  • 削除済み(復元可能)バケットを復元するには、バケットの生成番号が必要です。削除済み(復元可能)バケットの世代番号を取得するには、削除済み(復元可能)バケットを一覧表示するをご覧ください。

  • バケット復元オペレーションでは、削除時にバケット内にあった削除済み(復元可能)オブジェクトは復元されません。削除済み(復元可能)バケットの復元後に削除済み(復元可能)オブジェクトを復元するには、オブジェクトの復元オペレーションを実行する必要があります。

  • 悪意のある削除から保護するため、削除(復元可能)状態のバケットは、バケットが削除(復元可能)の保持期間全体を保持するまで完全に削除できません。

  • バケットを削除(復元可能)にすると、バケット内の削除済み(復元可能)オブジェクトを一覧表示または復元するには、バケットを復元する必要があります。

  • 削除済み(復元可能)バケットは、同じ名前のアクティブなバケットがない場合にのみ復元できます。ユーザーまたは他のユーザーが、削除(復元可能)状態のバケットと同じ名前のバケットを作成した場合、新しいバケットが削除されるまで、削除(復元可能)状態のバケットを復元することはできません。

  • 階層型名前空間が有効になっている削除(復元可能)バケットは復元できません。

  • タグ付きの削除(復元可能)バケットを復元すると、タグ バインディングが復元されない場合があります。データが失われないように、タグ バインディングを使用して削除済み(復元可能)バケットを復元する場合は、バケットのタグ バインディングが復元されていることを確認することをおすすめします。バケットのタグ バインディングが復元されなかった場合は、復元されなかったタグをバケットに手動でバインドする必要があります。

必要な権限

削除済み(復元可能)バケットを復元するために必要な権限を取得するには、Cloud Storage プロジェクトに対するストレージ管理者 roles/storage.admin)IAM ロールを付与するよう管理者に依頼してください。

この事前定義ロールには、削除済み(復元可能)バケットの復元に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

削除済み(復元可能)バケットを復元するには、次の権限が必要です。

  • storage.buckets.list
  • storage.buckets.restore

削除(復元可能)バケットを一覧表示する

list オペレーションを実行して、削除されたバケットのメタデータを取得できます。

次の手順で、プロジェクト内の削除(復元可能)されたすべてのバケットを一覧表示します。

コマンドライン

削除済み(復元可能)のバケットをすべて一覧表示するには、gcloud storage ls コマンドを使用します。

gcloud storage ls --buckets --soft-deleted --full

REST API

JSON API

  1. gcloud CLI のインストールと初期化を行います。これにより、Authorization ヘッダーのアクセス トークンを生成できます。

  2. cURL使用して、GET Bucket リクエストで JSON API を呼び出します。

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://storage.googleapis.com/storage/v1/b?softDeleted=true"

削除済み(復元可能)バケットを復元する

ソフト削除されたバケットを復元する手順は次のとおりです。

コマンドライン

削除(復元可能)されたバケットを復元するには、gcloud storage restore コマンドを使用します。

     gcloud storage restore gs://BUCKET_NAME#GENERATION_NUMBER
   

次のように置き換えます。

REST API

JSON API

  1. gcloud CLI のインストールと初期化を行います。これにより、Authorization ヘッダーのアクセス トークンを生成できます。

  2. cURL使用して、POST Bucket リクエストで JSON API を呼び出します。

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/restore?generation=GENERATION_NUMBER

    ここで

    • BUCKET_NAME は、復元するバケットの名前です。例: my-bucket

    • GENERATION_NUMBER は、復元する削除済み(復元可能)バケットの一意の永続的な世代番号です。バケットの生成番号を取得するには、削除(復元可能)されたバケットを一覧表示するをご覧ください。

Cloud Storage は、削除済み(復元可能)バケットをライブ状態に復元します。バケットを復元しても、削除(復元可能)時のバケット内のオブジェクトは復元されません。削除時にバケット内にあった削除済み(復元可能)オブジェクトを復元するには、削除済み(復元可能)オブジェクトを復元するをご覧ください。

次のステップ