このガイドでは、マネージド フォルダを作成、一覧表示、削除する方法について説明します。
始める前に
マネージド フォルダを作成して管理するには、まず均一なバケットレベルのアクセスを有効にして、必要な 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 を使用するをご覧ください。
マネージド フォルダを作成する
Console
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
を使用して、POST
ManagedFolder リクエストで 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
を使用して、DELETE
ManagedFolder リクエストで 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
をクエリ パラメータとして含めます。
トラブルシューティング
マネージド フォルダの作成と管理については、トラブルシューティング ページをご覧ください。