このページでは、バケットの削除(復元可能)ポリシーの有効化、無効化、更新、ステータスの確認を行う方法について説明します。削除済み(復元可能)オブジェクトを一覧表示して復元する方法については、削除済み(復元可能)オブジェクトを使用するをご覧ください。削除済み(復元可能)バケットを一覧表示して復元するには、削除済み(復元可能)バケットを使用するをご覧ください。削除(復元可能)の詳細については、概要をご覧ください。この機能を無効にするには、削除(復元可能)を無効にするをご覧ください。
必要なロール
削除(復元可能)ポリシーの作成と管理に必要な権限を取得するには、バケットまたはバケットを含むプロジェクトに対するストレージ管理者(roles/storage.admin
)IAM ロールを付与するよう管理者に依頼してください。
この事前定義ロールには、削除(復元可能)ポリシーの作成と管理に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
削除(復元可能)ポリシーの作成と管理には、次の権限が必要です。
-
storage.buckets.get
-
storage.buckets.update
-
storage.buckets.list
(この権限は、このページで説明する操作を Google Cloud コンソールを使用して行う場合に必要です)
ロールの付与については、バケットで IAM を使用するまたはプロジェクトへのアクセスを管理するをご覧ください。
バケットの削除(復元可能)ポリシーを編集する
新しい削除(復元可能)の保持期間は、削除(復元可能)ポリシーが有効になった後に削除されたオブジェクトまたはバケットにのみ適用されます。削除済み(復元可能)状態の既存のオブジェクトは、削除(復元可能)ポリシーの更新の影響を受けず、削除時に有効であった期間保持されます。
バケットの削除(復元可能)ポリシーを編集する手順は次のとおりです。
Console
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、削除(復元可能)ポリシーを管理するバケットの名前をクリックします。
[保護] タブをクリックします。
[削除(復元可能)ポリシー] セクションで、次のいずれかの操作を行います。
バケットに削除(復元可能)ポリシーがない場合は、[編集] をクリックして時間の単位と保持期間を選択し、[保存] をクリックします。
バケットに削除(復元可能)ポリシーがある場合は、[編集] をクリックして時間の単位と保持期間を変更します。
失敗した 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
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。次の情報が含まれる JSON ファイルを作成します。
{ "softDeletePolicy": { "retentionDurationSeconds": "TIME_IN_SECONDS" } }
ここで、
TIME_IN_SECONDS
は、削除済み(復元可能)オブジェクトを保持する期間(秒単位)です。例:2678400
。詳細については、 削除(復元可能)の保持期間をご覧ください。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
バケットの削除(復元可能)ポリシーを無効にする
始める前に、次の点を考慮してください。
無効化中に削除済み(復元可能)オブジェクトを含むバケットの削除(復元可能)ポリシーを無効にすると、以前に適用された保持期間が経過するまで、既存の削除済み(復元可能)オブジェクトが保持されます。
バケットで削除(復元可能)ポリシーを無効にすると、Cloud Storage は新しく削除されたデータを保持しません。
バケットの削除(復元可能)ポリシーを無効にするには、次の操作を行います。
Console
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、削除(復元可能)ポリシーを無効にするバケットの名前をクリックします。
[保護] タブをクリックします。
[削除(復元可能)ポリシー] セクションで [無効にする] をクリックして、削除(復元可能)ポリシーを無効にします。
[確認] をクリックします。
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
バケットから削除(復元可能)ポリシーを削除するには、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
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。次の情報が含まれる JSON ファイルを作成します。
{ "softDeletePolicy": { "retentionDurationSeconds": "TIME_IN_SECONDS" } }
バケットの削除(復元可能)ポリシーを無効にするには、
TIME_IN_SECONDS
に値0
を使用します。cURL
を使用して、PATCH
Bucket リクエストで JSON API を呼び出します。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
バケットで削除(復元可能)ポリシーが有効になっているかどうかを確認する
コンソール
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、削除(復元可能)ポリシーを確認するバケットの名前をクリックします。
[保護] タブをクリックします。
[削除(復元可能)ポリシー(データ復旧用)] セクションにステータスが表示されます。
バケットにソフト削除ポリシーがあるかどうかは、[保護] タブで確認することもできます。
失敗した 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
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。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
プロジェクト内の複数のバケットまたはすべてのバケットで削除(復元可能)を無効にする
次の手順では、プロジェクト内の複数のバケットまたはすべてのバケットで削除(復元可能)を無効にする方法について説明します。組織レベルで削除(復元可能)を無効にする場合は、削除(復元可能)を無効にするをご覧ください。
コンソール
Google Cloud コンソールで、削除(復元可能)されたバイト数が多いバケットまたはライブバイト数に対して削除(復元可能)バイト数の比率が高いバケットの削除(復元可能)を無効にできます。これにより、削除(復元可能)の使用に伴う費用を軽減できます。
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
[Cloud Storage] のページで [設定] をクリックします。
[削除(復元可能)] タブをクリックします。
[過去 30 日間に削除(復元可能)された平均バイト数が多いバケット] のリストから、削除(復元可能)を無効にするバケットを選択します。
[削除(復元可能)をオフにする] をクリックします。
選択したバケットで削除(復元可能)が無効になります。
コマンドライン
プロジェクト内のすべてのバケットで削除(復元可能)を無効にするには、--clear-soft-delete
フラグと *
ワイルドカードを指定して gcloud storage buckets update
コマンドを実行します。
gcloud storage buckets update --clear-soft-delete gs://*
クライアント ライブラリ
プロジェクト内のすべてのバケットで削除(復元可能)を無効にするには、まず プロジェクト内のバケットを一覧表示し、次の手順で各結果の削除(復元可能)を無効にする必要があります。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
次のステップ
- 削除済み(復元可能)オブジェクトの使用方法を確認する。
- 削除(復元可能)を無効にする方法を確認する。