削除(復元可能)を使用する

概要 用途

このページでは、バケットの削除(復元可能)ポリシーの有効化、無効化、更新、ステータスの確認を行う方法について説明します。削除済み(復元可能)オブジェクトを一覧表示して復元する方法については、削除済み(復元可能)オブジェクトを使用するをご覧ください。

始める前に

バケットに削除(復元可能)ポリシーを作成して管理するには、バケットまたはバケットを含むプロジェクトに対するストレージ管理者(roles/storage.admin)の IAM ロールが必要です。この事前定義ロールには、バケットで削除(復元可能)を作成して管理するために必要な権限が含まれています。

必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

  • storage.buckets.get
  • storage.buckets.update
  • storage.buckets.list
    • この権限は、このページで説明する操作を Google Cloud コンソールで行う場合に必要です。

バケットに対するロールの付与については、バケットで IAM を使用するをご覧ください。プロジェクトに対するロールの付与については、プロジェクトへのアクセス権を管理するをご覧ください。

バケットの削除(復元可能)ポリシーを管理する

バケットの削除(復元可能)ポリシーを追加、削除、変更するには:

コンソール

  1. Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。

    [バケット] に移動

  2. バケットのリストで、削除(復元可能)ポリシーを管理するバケットの名前をクリックします。

  3. [保護] タブをクリックします。

  4. [削除(復元可能)ポリシー] セクションで、次のいずれかの操作を行います。

    • バケットに削除(復元可能)ポリシーがない場合は、[削除(復元可能)ポリシーを設定] をクリックして、保持期間の単位と保持期間を選択し、[保存] をクリックします。

    • バケットに削除(復元可能)ポリシーがある場合は、[編集] をクリックして保持期間を変更するか、[削除] をクリックしてバケットの削除(復元可能)ポリシーを削除します。

失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。

コマンドライン

バケットで削除(復元可能)ポリシーを追加または変更するには、--soft-delete-duration フラグを指定して gcloud storage buckets update コマンドを使用します。

  gcloud storage buckets update gs://BUCKET_NAME --soft-delete-duration=SOFT_DELETE_DURATION

ここで

  • BUCKET_NAME はバケットの名前です。例: my-bucket
  • SOFT_DELETE_DURATION には、削除済み(復元可能)オブジェクトを保持する期間を指定します。たとえば、2w1d は 2 週間と 1 日です。詳細については、削除(復元可能)の保持期間をご覧ください。

バケットから削除(復元可能)ポリシーを削除するには、gcloud storage buckets update コマンドを使用して、--clear-soft-delete フラグを指定します。

  gcloud storage buckets update gs://BUCKET_NAME --clear-soft-delete

ここで

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

REST API

JSON API

  1. OAuth 2.0 Playground から認可アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。手順については、API 認証をご覧ください。
  2. 次の情報が含まれる JSON ファイルを作成します。

    {
      "softDeletePolicy": {
        "retentionDurationSeconds": "RETENTION_DURATION"
      }
    }

    ここで、RETENTION_DURATION は、削除済み(復元可能)オブジェクトを保持する期間です。たとえば、2w1d は、削除済み(復元可能)オブジェクトを 2 週間と 1 日間保持します。詳細については、削除(復元可能)の保持期間をご覧ください。

    バケットの削除(復元可能)ポリシーを無効にするには、RETENTION_DURATION に値 0 を使用します。

  3. cURL を使用して JSON API を呼び出し、PATCH Bucket リクエストを行います。

    curl -X PATCH --data-binary @JSON_FILE_NAME \
      -H "Authorization: Bearer OAUTH2_TOKEN" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME"

    ここで

    • JSON_FILE_NAME は、手順 2 で作成した JSON ファイルのパスです。
    • OAUTH2_TOKEN は、手順 1 で生成したアクセス トークンです。
    • BUCKET_NAME は、関連するバケットの名前です。例: my-bucket

バケットで削除(復元可能)ポリシーが有効になっているかどうかを確認する

コンソール

  1. Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。

    [バケット] に移動

  2. バケットのリストで、削除(復元可能)ポリシーを確認するバケットの名前をクリックします。

  3. [保護] タブをクリックします。

    [削除(復元可能)ポリシー(データ復旧用)] セクションにステータスが表示されます。

失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。

コマンドライン

バケットの削除(復元可能)ポリシーのステータスを確認するには、gcloud storage buckets describe コマンドを使用します。

  gcloud storage buckets describe gs://BUCKET_NAME \
      --format="default(soft_delete_policy)"

ここで

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

REST API

JSON API

  1. OAuth 2.0 Playground から認可アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。手順については、API 認証をご覧ください。
  2. cURL を使用して JSON API を呼び出し、GET Bucket リクエストを行います。

    curl -X GET \
      -H "Authorization: Bearer OAUTH2_TOKEN" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=softDeletePolicy"

    ここで

    • OAUTH2_TOKEN は、手順 1 で生成したアクセス トークンです。
    • BUCKET_NAME は、関連するバケットの名前です。例: my-bucket

次のステップ