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

概要 用途

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

必要なロール

削除(復元可能)ポリシーを有効化および管理するために必要な権限を取得するには、バケットまたはバケットを含むプロジェクトに対するストレージ管理者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 日です。詳細については、削除(復元可能)の保持期間をご覧ください。

REST API

JSON API

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

  2. 次の情報が含まれる JSON ファイルを作成します。

    {
      "softDeletePolicy": {
        "retentionDurationSeconds": "TIME_IN_SECONDS"
      }
    }

    ここで、TIME_IN_SECONDS は、削除済み(復元可能)オブジェクトを保持する期間(秒単位)です。例: 2678400。詳細については、削除(復元可能)の保持期間をご覧ください。

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

    curl -X PATCH --data-binary @JSON_FILE_NAME \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME"

    ここで

    • JSON_FILE_NAME は、手順 2 で作成した JSON ファイルのパスです。
    • 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. 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/BUCKET_NAME?fields=softDeletePolicy"

    BUCKET_NAME は、該当するバケットの名前です。例: my-bucket

次のステップ