このページでは、バケットの削除(復元可能)ポリシーの有効化、無効化、更新、ステータスの確認を行う方法について説明します。削除済み(復元可能)オブジェクトを一覧表示して復元する方法については、削除済み(復元可能)オブジェクトを使用するをご覧ください。削除(復元可能)の詳細については、概要をご覧ください。
必要なロール
削除(復元可能)ポリシーの作成と管理に必要な権限を取得するには、バケットまたはバケットを含むプロジェクトに対するストレージ管理者(roles/storage.admin
)IAM ロールを付与するよう管理者に依頼してください。
この事前定義ロールには、削除(復元可能)ポリシーの作成と管理に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
削除(復元可能)ポリシーの作成と管理には、次の権限が必要です。
-
storage.buckets.get
-
storage.buckets.update
-
storage.buckets.list
(この権限は、このページで説明する操作を Google Cloud コンソールを使用して行う場合に必要です)
ロールの付与については、バケットで IAM を使用するまたはプロジェクトへのアクセスを管理するをご覧ください。
バケットの削除(復元可能)ポリシーを編集する
バケットの削除(復元可能)ポリシーを有効化、無効化、更新するには:
コンソール
- 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
Authorization
ヘッダーのアクセス トークンを生成するには、gcloud CLI のインストールと初期化を行います。OAuth 2.0 Playground を使用してアクセス トークンを作成し、
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
バケットの削除(復元可能)ポリシーを削除する
コンソール
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、削除(復元可能)ポリシーを削除するバケットの名前をクリックします。
[保護] タブをクリックします。
[削除(復元可能)ポリシー] セクションで [無効にする] をクリックし、バケットの削除(復元可能)ポリシーを削除します。
[確認] をクリックします。
ポリシーの有効期間を 0 日に設定して無効にすることもできます。複数のバケットの削除(復元可能)ポリシーを一括で無効にすることもできます。
失敗した 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
Authorization
ヘッダーのアクセス トークンを生成するには、gcloud CLI のインストールと初期化を行います。OAuth 2.0 Playground を使用してアクセス トークンを作成し、
Authorization
ヘッダーに含めることもできます。次の情報が含まれる JSON ファイルを作成します。
{ "softDeletePolicy": { "retentionDurationSeconds": "TIME_IN_SECONDS" } }
バケットの削除(復元可能)ポリシーを無効にするには、
TIME_IN_SECONDS
に値0
を使用します。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
バケットで削除(復元可能)ポリシーが有効になっているかどうかを確認する
コンソール
- 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
Authorization
ヘッダーのアクセス トークンを生成するには、gcloud CLI のインストールと初期化を行います。OAuth 2.0 Playground を使用してアクセス トークンを作成し、
Authorization
ヘッダーに含めることもできます。cURL
を使用して JSON API を呼び出し、GET
Bucket リクエストを行います。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 に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のステップ
- 削除済み(復元可能)オブジェクトの使用方法を確認する。