このガイドでは、マネージド フォルダを作成、一覧表示、削除する方法を説明します。
始める前に
マネージド フォルダを作成および管理するには、まず、均一なバケットレベルのアクセスを有効にして、必要な IAM ロールを取得する必要があります。
均一なバケットレベルのアクセスを有効にする
まだ行っていない場合は、均一なバケットレベルのアクセスを有効にします。
必要なロールを取得する
マネージド フォルダの作成および管理に必要な権限を取得するには、バケットに対するストレージ フォルダ管理者(roles/storage.folderAdmin)IAM ロールの付与を管理者に依頼します。
この事前定義ロールには、マネージド フォルダの作成と管理に必要な権限が割り当てられています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
マネージド フォルダを作成および管理するには、次の権限が必要です。
-
マネージド フォルダを作成する場合:
storage.managedFolders.create -
新しく作成されたマネージド フォルダを一覧表示して検証する場合:
storage.objects.list -
マネージド フォルダを一覧表示する場合:
storage.managedFolders.list -
マネージド フォルダを取得する場合:
storage.managedFolders.get -
マネージド フォルダを移動する場合:
-
ソースバケットに対する
storage.managedFolders.delete -
宛先バケットに対する
storage.managedFolders.create
-
ソースバケットに対する
-
マネージド フォルダを削除する場合:
storage.managedFolders.delete
バケットに対するロールの付与については、バケットでの IAM ポリシーの設定と管理をご覧ください。
マネージド フォルダを作成する
コンソール
Google Cloud コンソールを使用してマネージド フォルダを作成するには、フォルダまたはシミュレートされたフォルダに対する管理を有効にします。フォルダまたはシミュレートされたフォルダを作成し、フォルダ管理を有効にするための手順は次のとおりです。
- Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
バケットのリストで、マネージド フォルダを作成するバケットの名前をクリックします。
[バケットの詳細] ページで、[フォルダを作成] をクリックして新しいフォルダを作成します。マネージド フォルダに変換するフォルダがすでに存在する場合は、その他のオプション メニューを使う手順に進みます。
[名前] フィールドに、フォルダの名前を入力します。命名に関する考慮事項については、マネージド フォルダ名をご覧ください。
[作成] をクリックします。
新しく作成したフォルダが [フォルダ ブラウザ] ペインに表示されます。
[フォルダ ブラウザ] ペインで、マネージド フォルダに変換するフォルダの横にあるその他のオプション メニューをクリックし、[アクセス権の編集] をクリックします。
[フォルダ管理を有効にしますか?] ダイアログが表示されます。
[有効にする] をクリックします。
フォルダがマネージド フォルダに変換されます。[
MANAGED_FOLDER_NAMEの権限] ペインが表示され、フォルダの IAM ポリシーがプリンシパルとロール別に表示されます。新しい IAM ポリシーを作成するには、マネージド フォルダに IAM ポリシーを設定するをご覧ください。
コマンドライン
マネージド フォルダを作成するには、gcloud storage managed-folders create コマンドを実行します。
gcloud storage managed-folders create gs://BUCKET_NAME/MANAGED_FOLDER_NAME
各変数の意味は次のとおりです。
BUCKET_NAMEは、マネージド フォルダを作成するバケットの名前です。たとえばmy-bucketです。MANAGED_FOLDER_NAMEは、作成するマネージド フォルダの名前です。たとえばmy-managed-folder/です。
マネージド フォルダが作成されたことを確認するには、gcloud storage managed-folders describe コマンドを実行します。
gcloud storage managed-folders describe gs://BUCKET_NAME/MANAGED_FOLDER_NAME
各変数の意味は次のとおりです。
BUCKET_NAMEは、マネージド フォルダを作成したバケットの名前です。MANAGED_FOLDER_NAMEは、作成したマネージド フォルダの名前です。
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Go
詳細については、Cloud Storage Go 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 に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
REST API
JSON API
gcloud CLI をインストールして初期化します。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。cURLを使用して、POSTManagedFolder リクエストで JSON API を呼び出します。curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{ "name": "MANAGED_FOLDER_NAME" }' \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders"各変数の意味は次のとおりです。
BUCKET_NAMEは、マネージド フォルダを作成するバケットの名前です。たとえばmy-bucketです。MANAGED_FOLDER_NAMEは、作成するマネージド フォルダの名前です。たとえばmy-managed-folder/です。
マネージド フォルダを一覧表示する
コンソール
- Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
[フォルダ ブラウザ] ペインで、ノードの切り替えアイコン を使用して、バケット内のフォルダのリストを開きます。
バケット内のフォルダ、シミュレートされたフォルダ、マネージド フォルダが一覧表示されます。
コマンドライン
マネージド フォルダを一覧表示するには、gcloud storage managed-folders list コマンドを実行します。
gcloud storage managed-folders list gs://BUCKET_NAME
各変数の意味は次のとおりです。
BUCKET_NAMEは、一覧表示するマネージド フォルダを含むバケットの名前です。たとえばmy-bucketです。
バケット名の代わりにフォルダパスを指定することもできます。次に例を示します。
gcloud storage managed-folders list gs://my-bucket/folder/
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Go
詳細については、Cloud Storage Go 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 に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
REST API
JSON API
gcloud CLI をインストールして初期化します。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。cURLを使用して、マネージド フォルダの一覧表示リクエストで JSON API を呼び出します。curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders"
BUCKET_NAMEは、一覧表示するマネージド フォルダを含むバケットの名前です。たとえばmy-bucketです。
マネージド フォルダのメタデータを取得する
コマンドライン
マネージド フォルダのメタデータを取得するには、gcloud storage managed-folders describe コマンドを実行します。
gcloud storage managed-folders describe gs://BUCKET_NAME/MANAGED_FOLDER_NAME
各変数の意味は次のとおりです。
BUCKET_NAMEは、一覧表示するマネージド フォルダを含むバケットの名前です。たとえばmy-bucketです。MANAGED_FOLDER_NAMEは、メタデータを取得する対象のマネージド フォルダの名前です。
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Go
詳細については、Cloud Storage Go 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 に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
REST API
JSON API
gcloud CLI をインストールして初期化します。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。cURLを使用して、マネージド フォルダの取得リクエストで JSON API を呼び出します。curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME"
各変数の意味は次のとおりです。
BUCKET_NAMEは、取得するマネージド フォルダを含むバケットの名前です。たとえばmy-bucketです。MANAGED_FOLDER_NAMEは、パスとして表されるマネージド フォルダの名前です。たとえばexample-dir/です。マネージド フォルダがネストされている場合は、マネージド フォルダのパスに含まれるスラッシュ(/)文字をエスケープする必要があります。たとえばexample-dir1%2Fexample-dir2です。
マネージド フォルダを移動する
コンソール
転送先のバケットに新しいマネージド フォルダを作成します。
転送元バケットの元のマネージド フォルダから転送先バケットの新しいマネージド フォルダに IAM ポリシーをコピーします。
転送元バケットの元のマネージド フォルダから転送先バケットの新しいマネージド フォルダにオブジェクトをコピーします。
転送元バケットから元のマネージド フォルダを削除します。
コマンドライン
マネージド フォルダとマネージド フォルダに含まれるオブジェクトを移動するには、--include-managed-folders オプションを指定して gcloud storage mv コマンドを実行します。
gcloud storage mv --include-managed-folders gs://SOURCE_BUCKET_NAME/MANAGED_FOLDER_NAME gs://DESTINATION_BUCKET_NAME/MANAGED_FOLDER_NAME
各変数の意味は次のとおりです。
SOURCE_BUCKETは、元のバケットの名前です。たとえばmy-source-bucketです。DESTINATION_BUCKETは、マネージド フォルダの移動先となるバケットの名前です。たとえばmy-destination-bucketです。MANAGED_FOLDER_NAMEは、移動するマネージド フォルダの名前です。たとえばmy-managed-folder/です。
REST API
JSON API
マネージド フォルダを別のバケットに移動するには、次の操作を行います。
転送先のバケットに新しいマネージド フォルダを作成します。
転送元バケットの元のマネージド フォルダから転送先バケットの新しいマネージド フォルダに IAM ポリシーをコピーします。
転送元バケットの元のマネージド フォルダから転送先バケットの新しいマネージド フォルダにオブジェクトをコピーします。
転送元バケットから元のマネージド フォルダを削除します。
マネージド フォルダを削除する
コンソール
- Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
バケットのリストで、削除するマネージド フォルダを含むバケットの名前をクリックします。
[バケットの詳細] ページで、削除するマネージド フォルダの横にあるその他のオプション アイコン をクリックします。
[フォルダを削除] をクリックします。
マネージド フォルダの削除を確定するには、[削除] フィールドに「
DELETE」と入力します。[削除] をクリックします。
Cloud Storage バケットからマネージド フォルダとそのコンテンツ(保存されているオブジェクトやその他のマネージド フォルダを含む)が削除されます。
コマンドライン
マネージド フォルダとマネージド フォルダに含まれるオブジェクトを削除するには、gcloud storage rm コマンドを実行します。
gcloud storage rm -r gs://BUCKET_NAME/MANAGED_FOLDER_NAME
各変数の意味は次のとおりです。
BUCKET_NAMEは、削除するマネージド フォルダを含むバケットの名前です。たとえばmy-bucketです。MANAGED_FOLDER_NAMEは、削除するマネージド フォルダの名前です。たとえばmy-managed-folder/です。
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Go
詳細については、Cloud Storage Go 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 に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
REST API
JSON API
マネージド フォルダを削除する前に、マネージド フォルダ内のオブジェクトを削除する必要があります。
gcloud CLI をインストールして初期化します。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。cURLを使用して、DELETEManagedFolder リクエストで JSON API を呼び出します。curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME"
各変数の意味は次のとおりです。
BUCKET_NAMEは、削除するマネージド フォルダを含むバケットの名前です。たとえばmy-bucketです。MANAGED_FOLDER_NAMEは、削除するマネージド フォルダの名前です。たとえばmy-managed-folder/です。
デフォルトでは、マネージド フォルダを削除する前にフォルダを空にする必要があります。空ではないマネージド フォルダを削除する場合は、リクエストに
allowNonEmpty=trueをクエリ パラメータとして含めます。
トラブルシューティング
マネージド フォルダの作成と管理については、トラブルシューティング ページをご覧ください。