フォルダの表示、更新、削除

このページでは、コンソール、Google Cloud CLI、または API を使用して、フォルダの詳細を表示し、フォルダの設定を更新して、フォルダを削除する方法について説明します。 Google Cloud フォルダの表示名を変更し、組織の階層内でフォルダの配置を管理する方法について説明します。

フォルダを一覧表示してフォルダの詳細を表示する

フォルダを一覧表示したり、特定のフォルダのメタデータ(表示名、親 ID、ライフサイクル状態など)を表示したりするには、フォルダ閲覧者ロール(roles/resourcemanager.folderViewer)または組織閲覧者ロール(roles/resourcemanager.organizationViewer)が必要です。

コンソール

  1. コンソールで、[**リソースの管理**] ページを開きます。 Google Cloud

    [リソースの管理] ページを開く

  2. リソースリストに、階層が表形式で表示されます。組織リソースを選択します。

  3. 組織名の横にある矢印をクリックしてツリービューを開き、子フォルダを表示します。

  4. 移動、削除、設定の表示などの操作を行うには、特定のリソースの行の末尾にある [アクション]をクリックします。

  5. リソースリストの上部にある [フィルタ] バーを使用して、名前、ID、ラベルでリソースを検索します。

プロジェクト選択ツールを使用する

上部のナビゲーション バーのプロジェクト選択ツールを使用して、アクティブなコンテキストを特定のプロジェクトまたはフォルダに切り替えます。

  1. コンソールのトップ ナビゲーション バーで、プロジェクト選択ツールをクリックします。 Google Cloud これは、Google Cloud ロゴの横にあるプルダウン メニューです。

  2. 表示されたダイアログで、プルダウンから組織を選択して結果をフィルタします。

  3. 階層を参照するか、切り替えるプロジェクトまたはフォルダを検索します。 この選択ツールでリソースをクリックすると、グローバル コンテキストが変更され、他のサービスページ(Compute Engine や Cloud Storage など)に表示されるリソースに影響します。

gcloud

1 つのフォルダの詳細を取得するには、resource-manager folders describe コマンドを使用します。

gcloud resource-manager folders describe FOLDER_ID

FOLDER_ID は、表示するフォルダの ID に置き換えます。

組織リソースの子フォルダを一覧表示するには、resource-manager folders list コマンドを使用します。

gcloud resource-manager folders list \
    --organization ORGANIZATION_ID

ORGANIZATION_ID は、子フォルダのリストを表示する組織リソースの ID に置き換えます。

フォルダ リソースの子フォルダを一覧表示するには、resource-manager folders list コマンドを使用します。

gcloud resource-manager folders list \
    --folder FOLDER_ID

FOLDER_ID は、子フォルダのリストを表示するフォルダ リソースの ID に置き換えます。

組織リソース、フォルダ リソース、またはフォルダ内のプロジェクトを一覧表示するには、filter 引数と projects list コマンドを使用します。

gcloud projects list \
    --filter=" parent.id: 'RESOURCE_ID' "

RESOURCE_ID は、子プロジェクトのリストを表示する組織リソースまたはフォルダ リソースの ID に置き換えます。

REST

フォルダを取得する curl リクエスト:

curl -X GET -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${bearer_token}" \
  https://cloudresourcemanager.googleapis.com/v3/FOLDER_ID

FOLDER_NAME は、フォルダの名前(folders/123 など)に置き換えます。

フォルダの一覧を取得する curl リクエスト:

curl -X GET -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${bearer_token}" \
  https://cloudresourcemanager.googleapis.com/v3/folders?parent=PARENT_NAME

PARENT_NAME は、フォルダを作成している親リソースの名前(organizations/123folders/123 など)に置き換えます。

Google Cloud

フォルダを更新する

フォルダの表示名を更新するには、フォルダに対するフォルダ編集者ロール(roles/resourcemanager.folderEditor)またはフォルダ管理者ロール(roles/resourcemanager.folderAdmin)が必要です。

コンソール

  1. コンソールで、[**リソースの管理**] ページを開きます。 Google Cloud

    [リソースの管理] ページを開く

  2. 組織名の横にある矢印をクリックしてツリービューを開き、子フォルダを表示します。

  3. 更新するフォルダの行で、行の末尾にある [アクション] メニューをクリックし、[設定] をクリックします。

  4. 新しいフォルダ名を入力し、[保存] をクリックします。

gcloud

フォルダの表示名を更新するには:

gcloud resource-manager folders update FOLDER_ID --display-name="NEW_DISPLAY_NAME"

次のように置き換えます。

  • FOLDER_ID: 更新するフォルダの ID。
  • NEW_DISPLAY_NAME: フォルダの新しい表示名。

REST

リクエストのデータを使用する前に、 次のように置き換えます。

  • FOLDER_ID: Google Cloud フォルダの ID
  • NEW_DISPLAY_NAME: フォルダの新しい表示名

HTTP メソッドと URL:

PATCH https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID?updateMask=displayName

リクエストの本文(JSON):

{
  "displayName": "NEW_DISPLAY_NAME"
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID?updateMask=displayName"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID?updateMask=displayName" | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "name": "operations/fc.1234567890abcdef",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperationMetadata",
    "displayName": "NEW_DISPLAY_NAME",
    "operationType": "UPDATE",
    "resourceName": "folders/FOLDER_ID"
  },
  "done": false
}

フォルダを別のフォルダに移動する

フォルダを別のフォルダに移動するには、移動元と移動先の両方のフォルダに対する resourcemanager.folders.move 権限が必要です。

コンソール

コンソールでフォルダを他のフォルダに移動するプロセスは、プロジェクトの移動と似ています。

  1. Google Cloud コンソールで、[リソースの管理] ページを開きます。

    コンソールを Google Cloud 開く

  2. ページの左上にある [組織] プルダウンから組織リソースを選択します。
  3. フォルダの行をクリックして、プロジェクトとフォルダのリストからフォルダを選択します。
  4. 行のオプション メニュー(3 つの点のアイコン)をクリックして、[移動] をクリックします。
  5. [参照] をクリックして、フォルダの移動先のフォルダを選択します。
  6. [移動] をクリックします。

gcloud

組織リソースの下にフォルダを移動するには、Google Cloud CLI で次のコマンドを実行します。

gcloud resource-manager folders move FOLDER_ID \
    --organization=PARENT_ID

次のように置き換えます。

  • FOLDER_ID: 移動するフォルダの ID。
  • PARENT_ID: 親組織リソースの ID。

フォルダを別のフォルダに移動するには:

gcloud resource-manager folders move FOLDER_ID \
    --folder=PARENT_ID

次のように置き換えます。

  • FOLDER_ID: 移動するフォルダの ID。
  • PARENT_ID: 親組織リソースまたはフォルダの ID。

REST

JSON リクエスト:

request_json= '{
   destinationParent: "folders/DESTINATION_FOLDER_ID"
}'

フォルダを移動する curl リクエスト:

curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token} \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/folders/DISPLAY_NAME:move

次のように置き換えます。

  • DESTINATION_FOLDER_ID:別の移動するフォルダを入れるフォルダの ID。例: 98765
  • DISPLAY_NAME: 移動するフォルダの表示名。例: "My Awesome Folder."

フォルダ移動に対するレスポンス:

{
  "name": "operations/fm.1234567890",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
    "displayName": "DISPLAY_NAME",
    "operationType": "MOVE"
  }
}

オペレーションを取得する curl リクエスト:

curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fm.1234567890

オペレーション取得に対するレスポンス:

{
  "name": "operations/fm.1234567890",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
    "displayName": "DISPLAY_NAME",
    "operationType": "MOVE"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Folder",
    "name": "folders/12345",
    "parent": "folders/98765",
    "displayName": "DISPLAY_NAME",
    "lifecycleState": "ACTIVE",
    "createTime": "2017-07-19T23:29:26.018Z",
    "updateTime": "2017-07-20T00:54:44.295Z"
  }
}

フォルダを削除する

フォルダを削除するには、フォルダに対するフォルダ編集者ロール(roles/resourcemanager.folderEditor)またはフォルダ管理者ロール(roles/resourcemanager.folderAdmin)が必要です。

コンソール

  1. コンソールで、[**リソースの管理**] ページを開きます。 Google Cloud

    [リソースの管理] ページを開く

    コンソールで [リソースの管理] ページに移動します。 Google Cloud

  2. 組織名の横にある矢印をクリックしてツリービューを開き、子フォルダを表示します。

  3. 削除するフォルダの行で、行の末尾にある [アクション] メニューをクリックし、[削除] をクリックします。

  4. 確認ダイアログで、フォルダ ID または名前を入力して確認し、[削除] をクリックします。

gcloud

フォルダを削除するには、次のコマンドを実行します。

gcloud resource-manager folders delete FOLDER_ID

次のように置き換えます。

  • FOLDER_ID: 削除するフォルダの ID。

REST

リクエストのデータを使用する前に、 次のように置き換えます。

  • FOLDER_ID: Google Cloud フォルダの ID

HTTP メソッドと URL:

DELETE https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID"

PowerShell

次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID" | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "name": "operations/fc.1234567890abcdef",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperationMetadata",
    "operationType": "DELETE",
    "resourceName": "folders/FOLDER_ID"
  },
  "done": false
}

その他の情報

フォルダを削除すると、30 日間の保持期間中は論理削除状態になり、その後完全に削除されます(物理削除)。

論理削除状態: 30 日間の保持期間中、フォルダは削除対象としてマークされ、アクティブではなくなります。論理削除されたフォルダ内に新しいプロジェクトやサブフォルダを作成することはできません。

物理削除状態: 30 日が経過すると、 Google Cloud は フォルダとそのメタデータを完全に削除します。この操作は取り消せません。

削除の取り消し: フォルダを誤って削除した場合は、 gcloud resource-manager folders undelete コマンドまたは API を使用して、30 日以内に復元できます。

前提条件と制約

  • フォルダが空であること: アクティブなプロジェクトやサブフォルダがまだ含まれているフォルダは削除できません。最初にすべての子リソースを移動または削除する必要があります。
  • 必要な権限: フォルダを削除または削除解除するには、フォルダ編集者(roles/resourcemanager.folderEditor)またはフォルダ管理者(roles/resourcemanager.folderAdmin)のロールが必要です。

指定したクエリに一致するフォルダを検索するには、gcloud alpha resource-manager folders search を使用し、--query フラグで条件を渡します。検索範囲は、ユーザーが閲覧権限を持つすべてのフォルダです。

gcloud alpha resource-manager folders search --query="name:vij*"
<table output showing the folders with names starting from vij eg. vijeta, vijay-folder>

gcloud alpha resource-manager folders search --query="state:DELETE_REQUESTED"
<table output showing folders for which delete has been requested>

ユーザーが閲覧権限を持つすべてのフォルダは、gcloud folders search コマンドを使用して表示できます。

gcloud folders search
<table output showing all viewable folders>

次のステップ