このガイドでは、マネージド フォルダを作成、一覧表示、削除する方法について説明します。
始める前に
始める前に、マネージド フォルダの作成と管理、均一なバケットレベルのアクセスの有効化に必要な Identity and Access Management(IAM)ロールがあることを確認してください。
必要なロールを取得する
マネージド フォルダの作成と管理に必要な権限を取得するには、バケットに対するストレージ フォルダ管理者(roles/storage.folderAdmin
)IAM ロールを付与するよう管理者に依頼してください。
この事前定義ロールには、マネージド フォルダの作成と管理に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
storage.managedfolders.create
storage.managedfolders.delete
storage.managedfolders.get
storage.managedfolders.list
storage.objects.list
- この権限は、新しく作成されたマネージド フォルダを一覧表示して検証する場合にのみ必要です。
これらの権限は、他の事前定義ロールやカスタムロールを使用して取得することもできます。
バケットに対するロールの付与については、バケットで IAM を使用するをご覧ください。
均一なバケットレベルのアクセスを有効にする
まだ行っていない場合は、均一なバケットレベルのアクセスを有効にします。
マネージド フォルダを作成する
コンソール
Google Cloud コンソールを使用する場合は、シミュレートされたフォルダを変換して、マネージド フォルダを作成します。次の手順では、シミュレートされたフォルダを作成してマネージド フォルダに変換する方法について説明します。
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、マネージド フォルダを作成するバケットの名前をクリックします。
[バケットの詳細] ページで、[フォルダを作成] をクリックして新しいフォルダを作成します。マネージド フォルダに変換するフォルダがすでに存在する場合は、その他のオプション
メニューを使う手順に進みます。[名前] フィールドに、フォルダの名前を入力します。命名に関する考慮事項については、マネージド フォルダ名をご覧ください。
[作成] をクリックします。
新しく作成したフォルダが [フォルダ ブラウザ] ペインに表示されます。
[フォルダ ブラウザ] ペインで、マネージド フォルダに変換するフォルダの横にあるその他のオプション
メニューをクリックし、[アクセス権の編集] をクリックします。[マネージド フォルダの作成] ダイアログが表示されます。
[Attach managed folder] をクリックします。
フォルダがマネージド フォルダに変換されます。[
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
は、作成したマネージド フォルダの名前です。
REST API
JSON API
Authorization
ヘッダーのアクセス トークンを生成するには、gcloud CLI のインストールと初期化を行います。OAuth 2.0 Playground を使用してアクセス トークンを作成し、
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/
REST API
JSON API
Authorization
ヘッダーのアクセス トークンを生成するには、gcloud CLI のインストールと初期化を行います。OAuth 2.0 Playground を使用してアクセス トークンを作成し、
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
。
マネージド フォルダを移動する
コンソール
転送先のバケットに新しいマネージド フォルダを作成します。
転送元バケットの元のマネージド フォルダから転送先バケットの新しいマネージド フォルダに 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/
。
REST API
JSON API
マネージド フォルダを削除する前に、マネージド フォルダ内のオブジェクトを削除する必要があります。
Authorization
ヘッダーのアクセス トークンを生成するには、gcloud CLI のインストールと初期化を行います。OAuth 2.0 Playground を使用してアクセス トークンを作成し、
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
をクエリ パラメータとして含めます。
トラブルシューティング
マネージド フォルダの作成と管理については、トラブルシューティング ページをご覧ください。