このページでは、オブジェクト保持ロック機能の使用方法(バケットで有効にしたり、バケット内のオブジェクトの保持構成を設定する方法)について説明します。
必要なロール
バケットでオブジェクト保持ロック機能を有効にしてオブジェクトの保持構成を設定するために必要な権限を取得するには、バケットまたはバケットを含むプロジェクトに対するストレージ管理者(roles/storage.admin
)IAM ロールを付与するよう管理者に依頼してください。この事前定義ロールには、保持構成の設定と管理に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
storage.buckets.create
storage.buckets.enableObjectRetention
storage.buckets.get
storage.buckets.list
- この権限は、Google Cloud コンソールを使用してこのページの手順を実施する場合にのみ必要です。
storage.objects.get
storage.objects.list
- この権限は、Google Cloud コンソールを使用してこのページの手順を実施する場合にのみ必要です。
storage.objects.overrideUnlockedRetention
- この権限は、既存の保持構成をロックまたは短縮する場合にのみ必要です。
storage.objects.setRetention
storage.objects.update
カスタムロールを使用して、これらの権限を取得することもできます。
バケットのロールの付与については、バケットで IAM を使用するをご覧ください。プロジェクトに対するロールの付与については、プロジェクトへのアクセス権を管理するをご覧ください。
バケットのオブジェクト保持を有効にする
バケット内のオブジェクトの保持構成を許可するには、次の操作を行います。既存のバケットでオブジェクト保持構成を有効にするには、Google Cloud コンソールの手順に沿って操作する必要があります。
Console
新しいバケットでオブジェクト保持構成を有効にするには:
- 通常どおりにバケットを作成し、[オブジェクト データを保護する方法を選択する] ステップで [保持(コンプライアンス用)] を選択して、[オブジェクト保持を有効にする] を選択します。
既存のバケットでオブジェクト保持構成を有効にするには:
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、オブジェクトの保持を有効にするバケットの名前をクリックします。
ページ上部にある [保護] タブを選択します。
バケットのオブジェクト保持ステータスが [オブジェクト保持] セクションに表示されます。
[オブジェクト保持] セクションで、[オブジェクト保持が有効になっていません] をクリックします。
表示されるダイアログで [確認] をクリックします。
コマンドライン
通常どおりにバケットを作成し、コマンドに --enable-per-object-retention
フラグを含めます。
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
REST API
バケットのオブジェクト保持ステータスを表示する
バケット内のオブジェクトに保持構成を設定できるかどうかを確認するには:
Console
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
ステータスを確認するバケットの名前をクリックします。
[保護] タブをクリックします。
バケットのオブジェクト保持ステータスが [オブジェクト保持] セクションに表示されます。
コマンドライン
gcloud storage buckets describe
コマンドを使用し、--format
フラグを指定します。
gcloud storage buckets describe gs://BUCKET_NAME --format="default(per_object_retention)"
ここで、BUCKET_NAME
は、IAM ポリシーを表示するバケットの名前です。例: my-bucket
。
処理に成功し、バケットに保持ポリシーが存在する場合、レスポンスは次のようになります。
per_object_retention: mode: Enabled
成功し、バケットに保持ポリシーが存在しない場合、レスポンスは次のようになります。
null
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
バケットのオブジェクト保持構成を表示するには、バケットのメタデータを表示する手順に沿って、レスポンスでオブジェクト保持フィールドを探します。C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
バケットのオブジェクト保持構成を表示するには、バケットのメタデータを表示する手順に沿って、レスポンスでオブジェクト保持フィールドを探します。Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
バケットのオブジェクト保持構成を表示するには、バケットのメタデータを表示する手順に沿って、レスポンスでオブジェクト保持フィールドを探します。Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
バケットのオブジェクト保持構成を表示するには、バケットのメタデータを表示する手順に沿って、レスポンスでオブジェクト保持フィールドを探します。PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
バケットのオブジェクト保持構成を表示するには、バケットのメタデータを表示する手順に沿って、レスポンスでオブジェクト保持フィールドを探します。Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
バケットのオブジェクト保持構成を表示するには、バケットのメタデータを表示する手順に沿って、レスポンスでオブジェクト保持フィールドを探します。REST API
JSON API
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、objectRetention
フィールドを含むGET
Bucket リクエストで JSON API を呼び出します。curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=objectRetention"
BUCKET_NAME
は、該当するバケットの名前です。例:my-bucket
XML API
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、?object-lock
をスコープとするGET
Bucket リクエストで XML API を呼び出します。curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?object-lock"
BUCKET_NAME
は、該当するバケットの名前です。例:my-bucket
オブジェクトの保持構成を設定する
オブジェクトの保持構成を設定するには、オブジェクト保持が有効になっているバケットにオブジェクトが保存されている必要があります。オブジェクトの保持構成を設定するには:
コンソール
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、保持構成を設定または変更するオブジェクトを含むバケットの名前をクリックします。
[バケットの詳細] ページが開き、[オブジェクト] タブが選択されています。
フォルダ内にあるオブジェクトに移動します。
オブジェクトの名前をクリックします。
[オブジェクトの詳細] ページが開き、オブジェクトのメタデータが表示されます。
[保護] セクションで、[オブジェクト保持構成から] の編集アイコン(edit)をクリックします。
[保持を編集] ペインが開きます。
[オブジェクト保持構成] セクションで、[有効] または [無効] をクリックします。
- 保持構成が有効になっている場合は、[保持期限] セクションで構成の日時を選択し、[保持モード] セクションで [未ロック] または [ロック中] をクリックします。
[確認] をクリックします。
コマンドライン
適切なフラグを指定して、gcloud storage objects update
コマンドを使用します。保持構成を追加または変更するには、次のコマンドを使用します。既存の構成をロックするか、保持期間を短縮するように既存の構成を変更する場合は、--override-unlocked-retention
フラグも追加する必要があります。
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --retain-until=DATETIME --retention-mode=STATE
ここで
BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
OBJECT_NAME
は、該当するオブジェクトの名前です。例:kitten.png
DATETIME
は、オブジェクトを削除できる最も早い日時です。例:2028-02-15T05:30:00Z
STATE
はLocked
かUnlocked
のどちらかです。
正常に終了すると、レスポンスは次の例のようになります。
Updating gs://my-bucket/kitten.png... Completed 1
オブジェクトから保持構成を削除するには、次のコマンドを使用します。
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --clear-retention --override-unlocked-retention
ここで
BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
OBJECT_NAME
は、該当するオブジェクトの名前です。例:kitten.png
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
REST API
JSON API
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。次の情報が含まれる JSON ファイルを作成します。
{ "retention": { "mode": STATE, "retainUntilTime": "DATETIME" } }
ここで
STATE
はLocked
かUnlocked
のどちらかです。DATETIME
は、オブジェクトを削除できる最も早い日時です。例:2028-02-15T05:30:00Z
cURL
を使用して、PATCH
Object リクエストで 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/o/OBJECT_NAME?overrideUnlockedRetention=BOOLEAN"
ここで
JSON_FILE_NAME
は、手順 2 で作成したファイルのパスです。BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
OBJECT_NAME
は、関連するオブジェクトの URL エンコードされた名前です。例:pets%2Fkitten.png
として URL エンコードされているpets/kitten.png
- リクエストで既存の保持構成を短縮、削除、またはロックする場合は、
BOOLEAN
をtrue
にする必要があります。それ以外の場合は、リクエストからoverrideUnlockedRetention
パラメータを完全に除外できます。
XML API
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。次の情報が含まれる XML ファイルを作成します。
<Retention> <Mode> STATE </Mode> <RetainUntilDate> DATETIME </RetainUntilDate> </Retention>
ここで
STATE
はGOVERNANCE
かCOMPLIANCE
のどちらかです。DATETIME
は、オブジェクトを削除できる最も早い日時です。例:2028-02-15T05:30:00Z
cURL
を使用して、?retention
をスコープとするPUT
Object リクエストで XML API を呼び出します。curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-bypass-governance-retention: BOOLEAN" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?retention"
ここで
XML_FILE_NAME
は、手順 2 で作成した XML ファイルのパスです。- リクエストで既存の保持構成を短縮、削除、またはロックする場合は、
BOOLEAN
をtrue
にする必要があります。それ以外の場合は、リクエストからx-goog-bypass-governance-retention
ヘッダーを完全に除外できます。 BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
OBJECT_NAME
は、関連するオブジェクトの URL エンコードされた名前です。例:pets%2Fkitten.png
として URL エンコードされているpets/kitten.png
オブジェクトの保持構成を表示する
オブジェクトに設定されている保持構成を確認するには:
コンソール
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、保持構成を表示するオブジェクトを含むバケットの名前をクリックします。
[バケットの詳細] ページが開き、[オブジェクト] タブが選択されています。
フォルダ内にあるオブジェクトに移動します。
オブジェクトの名前をクリックします。
[オブジェクトの詳細] ページが開き、オブジェクトのメタデータが表示されます。オブジェクトの保持構成に関する情報が [保護] セクションに表示されます。
コマンドライン
gcloud storage objects describe
コマンドを使用し、--format
フラグを指定します。
gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME --format="default(retention_settings)"
ここで
BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
OBJECT_NAME
は、該当するオブジェクトの名前です。例:kitten.png
成功し、オブジェクトに保持構成が存在する場合、レスポンスは次のようになります。
retention_settings: mode: Unlocked retainUntilTime: '2028-11-30T14:11:14+00:00'
成功し、オブジェクトに保持構成が存在しない場合、レスポンスは次のようになります。
null
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
オブジェクトの保持構成を表示するには、オブジェクトのメタデータを表示する手順に沿って、レスポンスで保持フィールドを探します。C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
オブジェクトの保持構成を表示するには、オブジェクトのメタデータを表示する手順に沿って、レスポンスで保持フィールドを探します。Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
オブジェクトの保持構成を表示するには、オブジェクトのメタデータを表示する手順に沿って、レスポンスで保持フィールドを探します。Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
オブジェクトの保持構成を表示するには、オブジェクトのメタデータを表示する手順に沿って、レスポンスで保持フィールドを探します。PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
オブジェクトの保持構成を表示するには、オブジェクトのメタデータを表示する手順に沿って、レスポンスで保持フィールドを探します。Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
オブジェクトの保持構成を表示するには、オブジェクトのメタデータを表示する手順に沿って、レスポンスで保持フィールドを探します。REST API
JSON API
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、retention
フィールドを含むGET
Object リクエストで JSON API を呼び出します。curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/OBJECT_NAME?fields=retention"
ここで
BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
OBJECT_NAME
は、該当するオブジェクトの名前です。例:kitten.png
。
XML API
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、?retention
をスコープとするGET
Object リクエストで XML API を呼び出します。curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?retention"
ここで
BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
OBJECT_NAME
は、該当するオブジェクトの名前です。例:kitten.png
次のステップ
- 保持の構成の詳細を確認する。
- Cloud Storage データを保護するその他の機能について確認する。
- オブジェクトのライフサイクル管理について確認する。これにより、保持期限に達したファイルを自動的に削除できます。