Ordner erstellen und verwalten

Ordner sind Knoten in der Cloud Platform-Ressourcenhierarchie. Ein Ordner kann Projekte, andere Ordner oder eine Kombination aus beidem enthalten. Organisationsressourcen können Ordner verwenden, um Projekte unter dem Organisationsressourcenknoten in einem Hierarchie. Angenommen, Ihre Organisationsressource enthält mehrere Abteilungen mit jeweils eigenen Google Cloud-Ressourcen. Mit Ordnern lassen sich diese Ressourcen nach Abteilungen gruppieren. In Ordnern werden Ressourcen gruppiert, die denselben IAM-Richtlinien unterliegen. Ein Ordner kann mehrere Ordner oder Ressourcen enthalten, ein bestimmter Ordner oder eine bestimmte Ressource kann jedoch nur ein übergeordnetes Element haben.

Im folgenden Diagramm enthält die Organisationsressource „Company“ Ordner, die für zwei departments, „Dept X“ und „Dept Y“ (Dept Y) sowie den Ordner „Shared Infrastructure“ (Gemeinsame Infrastruktur) Elemente, die beiden Abteilungen gemeinsam sind. Unter "Dept Y" gibt es zwei Teams. Einer der Teamordner ist weiter in Produkte unterteilt. Der Ordner für "Product 1" (Produkt 1) enthält wiederum drei Projekte mit den für das jeweilige Projekt erforderlichen Ressourcen. IAM-Richtlinien und Organisationsrichtlinien lassen sich auf diese Weise äußerst flexibel auf der richtigen Detailebene zuweisen.

Beispiel für Ordnerhierarchie

Indem Sie IAM-Richtlinien auf der Ordnerebene anwenden, können Sie den Zugriff auf die in dem Ordner enthaltenen Ressourcen steuern. Wenn einem Nutzer beispielsweise für einen Ordner die Rolle Compute-Instanzadministrator zugewiesen wurde, hat dieser Nutzer die Rolle Compute-Instanzadministrator für alle Projekte in dem Ordner.

Hinweis

Ordnerfunktionen sind nur für Kunden von Google Workspace und Cloud Identity verfügbar, die eine Organisationsressource haben. Weitere Informationen zum Erwerben einer Organisationsressource finden Sie unter Organisationen erstellen und verwalten.

Wenn Sie ermitteln möchten, wie Sie Ordner optimal nutzen, empfehlen wir folgende Vorgehensweisen:

  1. Lesen Sie den Artikel Zugriffskontrolle für Ordner mit IAM. Darin wird erläutert, wie Sie den Nutzerzugriff auf Ordner und darin enthaltene Ressourcen steuern können.
  2. Machen Sie sich damit vertraut, wie Ordnerberechtigungen festgelegt werden. Ordner unterstützen unterschiedliche IAM-Rollen. Wenn Sie Berechtigungen breit anlegen möchten, sodass Nutzer die Struktur ihrer Projekte sehen können, weisen Sie der gesamten Domain auf Ebene der Organisationsressourcen die Rollen Organisationsbetrachter und Ordnerbetrachter zu. Falls Nutzer nur bestimmte Zweige Ihrer Ordnerhierarchie sehen sollen, weisen Sie ihnen die Rolle Ordnerbetrachter für die jeweiligen Ordner zu.
  3. Erstellen Sie Ordner. Wenn Sie Ihre Cloudressourcen organisieren möchten, beginnen Sie mit einem einzelnen Ordner, den Sie als Sandbox für Experimente nutzen, um die sinnvollste Hierarchie für Ihre Organisationsressource zu ermitteln. Stellen Sie sich Ordner als getrennte Einheiten für Ressourcen vor, denen Sie Anknüpfungspunkte und Konfigurationsrichtlinien zuweisen. Sie können Ordner erstellen, deren Ressourcen zu unterschiedlichen Abteilungen gehören. Diesen Ordnern weisen Sie Administratorrollen zu, um Administratorrechte zu delegieren. Mit Ordnern lassen sich auch Ressourcen gruppieren, die zu Anwendungen oder anderen Umgebungen, beispielsweise für Entwicklung, Produktion oder Testzwecke, gehören. Sie können diese unterschiedlichen Szenarien mit verschachtelten Ordnern umsetzen.

Die Abbildung oben zeigt eine gängige Situation, in der Ordner mit Unterordnern oder Projekten erstellt werden. Diese Struktur wird als Ordnerhierarchie bezeichnet. Beachten Sie beim Erstellen einer Ordnerhierarchie Folgendes:

  • Sie können Ordner bis zu 10 Ebenen (zehn) tief verschachteln.
  • Ein übergeordneter Ordner kann maximal 300 Ordner enthalten. Dies bezieht sich nur auf direkt untergeordnete Ordner. Diese untergeordneten Ordner können wiederum weitere Ordner oder Projekte enthalten.
  • Der Anzeigename jedes Ordners muss innerhalb einer Hierarchieebene eindeutig sein.

Berechtigungen zum Verwalten von Ordnern einrichten

Damit Nutzergruppen auf Ordner zugreifen und diese verwalten können, müssen Sie ihnen ordnerspezifische IAM-Rollen zuweisen. Weitere Informationen zu diesen Rollen erhalten Sie unter Zugriffskontrolle für Ordner mit IAM. In unseren Best Practices finden Sie außerdem nützliche Tipps, um die optimale Konfiguration für Ihre Ordnerberechtigungen zu ermitteln.

Wenn Sie Ordner für Ihre gesamte Organisationsressource verwalten möchten, benötigen Sie die Rolle Ordneradministrator. Ein Nutzer mit dieser Rolle kann IAM-Berechtigungen für Ordner erstellen, bearbeiten, löschen, verschieben und ändern. Außerdem hat er die Möglichkeit, Projekte zwischen Ordnern zu verschieben.

Zu Beginn kann nur der Organisationsadministrator die Rolle „Ordneradministrator“ für die Organisationsressource zuweisen. Konten, denen diese Rolle zugewiesen wird, können die Rolle daraufhin anderen Konten zuweisen.

So richten Sie Ordnerberechtigungen ein:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wenn das Infofeld nicht geöffnet ist, klicken Sie auf Infofeld anzeigen.
  3. Maximieren Sie in der Tabelle Ressourcen die Organisation, die den Ordner.
  4. Wählen Sie in der Liste der Ressourcen unter „Organisation“ den Ordner aus, den Sie verwalten möchten.
  5. Klicken Sie im Infofeld auf Hauptkonto hinzufügen.
  6. Geben Sie im Feld Hauptkonten hinzufügen die E-Mail-Adresse ein, für die Sie Berechtigungen gewähren möchten.
  7. Wählen Sie im Menü Rolle auswählen die Kategorie Resource Manager und dann die Rolle aus, die Sie gewähren möchten, z. B. Ordneradministrator.
  8. Klicken Sie auf Speichern, um die neue Rolle zu gewähren.

gcloud

Führen Sie den folgenden Befehl aus, um einem Hauptkonto mit der Google Cloud CLI die Rolle „Ordneradministrator“ zu gewähren:

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
    --member=user:USER_ID \
    --role=roles/resourcemanager.folderAdmin

API

Die JSON-Anfrage:

request_json= '{ policy: { version: "1", bindings: [ { role: "roles/folderAdmin",
members: [ "user:admin@myorganization.com", ] }, { role: "roles/folderCreator",
members: [   "user:admin@myorganization.com", ] } , { role: "roles/folderMover",
members: [ "user:admin@myorganization.com", ] } , ] } }'

Die curl-Anfrage:

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

Ersetzen Sie ORGANIZATION_NAME durch den Namen der Organisation, für die die IAM-Richtlinie festgelegt wird, z. B. organizations/123.

Ordner erstellen

Um Ordner zu erstellen, benötigen Sie auf der übergeordneten Ebene die Rolle Ordneradministrator oder Ordnerersteller. Um beispielsweise Ordner auf Organisationsebene zu erstellen, müssen Sie eine dieser Rollen auf Organisationsebene haben.

Einem neu erstellten Ordner muss ein Name zugewiesen werden. Für Ordnernamen gelten die folgenden Kriterien:

  • Der Name kann Buchstaben, Zahlen, Leerzeichen, Bindestriche und Unterstriche enthalten.
  • Der Anzeigename des Ordners muss mit einem Buchstaben oder einer Zahl beginnen und enden.
  • Der Name muss zwischen 3 und 30 Zeichen lang sein.
  • Der Name muss innerhalb einer Hierarchieebene eindeutig sein.

So erstellen Sie einen Ordner:

Console

Sie können Ordner auf der Nutzeroberfläche unter "Projekte und Ordner verwalten" erstellen.

  1. Rufen Sie in der Google Cloud Console die Seite Ressourcen verwalten auf:

    Zur Seite "Ressourcen verwalten"

  2. Prüfen Sie, ob der Name Ihrer Organisationsressource in der Drop-down-Liste der Organisation oben auf der Seite ausgewählt ist.

  3. Klicken Sie auf Ordner erstellen und wählen Sie eine der folgenden Optionen aus:

  4. Geben Sie im Feld Ordnername den Namen Ihres neuen Ordners ein.

  5. Klicken Sie unter Ziel auf Durchsuchen und wählen Sie die Organisationsressource oder den Ordner aus, unter dem Sie den neuen Ordner erstellen möchten.

    1. Klicken Sie auf Erstellen.

gcloud

Ordner können mit der Google Cloud CLI programmatisch erstellt werden.

Führen Sie den folgenden Befehl aus, um mit dem gcloud-Befehlszeilentool einen Ordner unter der Organisationsressource anzulegen:

gcloud resource-manager folders create \
   --display-name=[DISPLAY_NAME] \
   --organization=[ORGANIZATION_ID]

Mit dem folgenden Befehl erstellen Sie einen Ordner unter einem anderen Ordner:

gcloud resource-manager folders create \
   --display-name=[DISPLAY_NAME] \
   --folder=[FOLDER_ID]

Dabei gilt:

  • [DISPLAY_NAME] ist der Anzeigename des Ordners. Zwei Ordner mit demselben übergeordneten Element können nicht denselben Anzeigenamen haben. Der Anzeigename muss mit einem Buchstaben oder einer Ziffer beginnen und enden. Er kann Buchstaben, Ziffern, Leerzeichen, Binde- und Unterstriche enthalten und darf nicht mehr als 30 Zeichen umfassen.
  • [ORGANIZATION_ID] ist die ID der übergeordneten Organisationsressource, wenn das übergeordnete Element eine Organisationsressource ist.
  • [FOLDER_ID] ist die ID des übergeordneten Ordners, wenn das übergeordnete Element ein Ordner ist.

API

Ordner können mit einer API-Anfrage erstellt werden.

Die JSON-Anfrage:

request_json= '{
  display_name: DISPLAY_NAME,
  parent: ORGANIZATION_NAME
}'

Die curl-Anfrage für die Ordnererstellung:

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

Dabei gilt:

  • [DISPLAY_NAME] ist der Anzeigename des neuen Ordners, z. B. "Mein Ordner".
  • [ORGANIZATION_NAME] ist der Name der Organisationsressource, unter der Sie den Ordner erstellen, z. B. organizations/123.

Die Antwort auf die Ordnererstellung:

{
  "name": "operations/fc.123456789",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
    "displayName": "[DISPLAY_NAME]",
    "operationType": "CREATE"
  }
}

Die curl-Anfrage zum Abrufen des Vorgangs:

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

Die Antwort auf das Abrufen des Vorgangs:

{
  "name": "operations/fc.123456789",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
    "displayName": "[DISPLAY_NAME]",
    "operationType": "CREATE"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Folder",
    "name": "folders/12345",
    "parent": "organizations/123",
    "displayName": "[DISPLAY_NAME]",
    "lifecycleState": "ACTIVE",
    "createTime": "2017-07-19T23:29:26.018Z",
    "updateTime": "2017-07-19T23:29:26.046Z"
  }
}

Tags beim Erstellen eines Ordners hinzufügen

Tags bieten eine Möglichkeit, Anmerkungen für Ressourcen zu erstellen. Sie können Tags beim Erstellen von Ordnern hinzufügen. Dazu müssen Sie die Rolle Nutzer taggen gewähren. Weitere Informationen zu den Berechtigungen für diese Rolle finden Sie unter Tags für Ressourcen verwalten. Sie können den Namensraum für die Tag-Schlüssel/Wert-Paare nur auf eine der folgenden Arten hinzufügen:

gcloud

Führen Sie den folgenden Befehl aus, um Tags während der Ordnererstellung hinzuzufügen:

  gcloud resource-manager folders create \
  --display-name=DISPLAY_NAME \
  --organization=ORGANIZATION_ID
  --tags=KEY_VALUE_PAIRS

Ersetzen Sie Folgendes:

  • DISPLAY_NAME ist der Anzeigename des Ordners.
  • ORGANIZATION_ID ist die eindeutige Kennzeichnung der übergeordneten Organisationsressource.
  • KEY_VALUE_PAIRS ist eine durch Kommas getrennte Liste von Schlüssel/Wert-Paaren, die Sie Ihrer Ressource zuweisen können. Ein Beispiel für durch Kommas getrennte Schlüssel/Wert-Paare ist 123/environment=production, 456/create=testresource.

API

Das folgende Snippet ist eine JSON-Anfrage, mit der ein Ordner erstellt und ihm Tags hinzugefügt werden.

  POST https://cloudresourcemanager.googleapis.com/v3/projects/
  Authorization: *************
  Content-Type: application/json

  {
    "display_name": "our-folder-456",
    "parent": "organizations/123",
    "tags": {
      "key": "123/environment"
      "value": "production"
    },
"tags": {
      "key": "123/costCenter"
      "value": "marketing"
    }
  }

Ordnerzugriff konfigurieren

Um den Zugriff auf Ordner zu konfigurieren, benötigen Sie auf der übergeordneten Ebene die Rolle IAM-Ordneradministrator oder Ordneradministrator.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Ressourcen verwalten.

    Zur Seite "Ressourcen verwalten"

  2. Klicken Sie links oben auf die Drop-down-Liste Organisation und dann auf und wählen Sie Ihre Organisationsressource aus.

  3. Klicken Sie auf das Kästchen neben dem Projekt, für das Sie Berechtigungen ändern möchten.

    1. Geben Sie auf der rechten Seite im Bereich Infofeld unter Berechtigungen die E-Mail-Adressen der Mitglieder ein, die Sie hinzufügen möchten.

    2. Wähle aus der Drop-down-Liste Rolle auswählen die Rolle aus, die du hinzufügen möchtest. die Sie diesen Mitgliedern gewähren.

    3. Klicken Sie auf Hinzufügen. Es wird eine Benachrichtigung angezeigt, um das Hinzufügen oder Aktualisieren der Rolle der Mitglieder zu bestätigen.

gcloud

Sie können den Zugriff auf Ordner programmatisch mit der Google Cloud CLI oder über die API konfigurieren.

gcloud resource-manager folders \
  add-iam-policy-binding [FOLDER_ID] \
  --member=user:email1@example.com \
  --role=roles/resourcemanager.folderEditor
gcloud resource-manager folders \
  add-iam-policy-binding [FOLDER_ID] \
  --member=user:email1@example.com \
  --role=roles/resourcemanager.folderViewer

Alternativ:

gcloud resource-manager folders \
  set-iam-policy [FOLDER_ID] [POLICY_FILE]

Dabei gilt:

  • [FOLDER_ID] ist die ID des neuen Ordners.
  • [POLICY_FILE] ist der Pfad zu einer Richtliniendatei für den Ordner.

API

Mit der Methode setIamPolicy wird die Richtlinie für die Zugriffssteuerung für einen Ordner festgelegt. vorhandene Richtlinie ersetzt. Im Feld resource muss der Wert für den Ordner Ressourcenname, z. B. folders/1234.

 request_json= '{
   policy: {
     version: "1",
     bindings: [
       {
         role: "roles/resourcemanager.folderEditor",
         members: [
           "user:email1@example.com",
           "user:email2@example.com",
         ]
       }
     ]
   }
 }'

Die curl-Anfrage:

   curl -X POST -H "Content-Type: application/json" \
   -H "Authorization: Bearer ${bearer_token}" \
   -d "$request_json" \
   https://cloudresourcemanager.googleapis.com/v3/[FOLDER_NAME]:setIamPolicy

Dabei gilt:

  • [FOLDER_NAME] ist der Name des Ordners, für den eine IAM-Richtlinie festgelegt wird, z. B. "folders/123".

Projekt in Ordner erstellen

Um ein Projekt in einem Ordner zu erstellen, benötigen Sie für den Ordner die Rolle "Projektersteller" (roles/resourcemanager.projectCreator). Diese Rolle kann von einem übergeordneten Ordner übernommen werden.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite „Ressourcen verwalten“.

    Google Cloud Console öffnen

  2. Zur Seite „Ressourcen verwalten“
  3. Wählen Sie links oben auf der Seite im Drop-down-Menü Organisation die Organisationsressource aus.
  4. Klicken Sie auf Projekt erstellen.
  5. Geben Sie einen Projektnamen ein.
  6. Klicken Sie neben dem Feld Ziel auf Durchsuchen, um den Ordner auszuwählen, unter dem Sie das Projekt erstellen möchten.

  7. Klicken Sie auf Erstellen.

gcloud

  gcloud projects create PROJECT_ID --folder FOLDER_ID

Ersetzen Sie Folgendes:

  • PROJECT_ID ist die ID des zu erstellenden Projekts.
  • FOLDER_ID ist die ID des Ordners, in dem sich das Projekt befinden soll. erstellt.

API

Die JSON-Anfrage:

   request_json= '{
      name: DISPLAY_NAME, projectId: PROJECT_ID, parent: {id: PARENT_ID, type: PARENT_TYPE}
   }'

Die curl-Anfrage:

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

Ersetzen Sie Folgendes:

  • PROJECT_ID ist die eindeutige Kennung des zu erstellenden Projekts. Beispiel: my-awesome-proj-123.
  • DISPLAY_NAME ist der Anzeigename des zu erstellenden Projekts.
  • PARENT_ID ist die eindeutige Kennung der übergeordneten Ebene, unter der das Projekt erstellt wird. Beispiel: 123.
  • PARENT_TYPE ist der Typ des übergeordneten Elements, z. B. folder oder organization.

Achten Sie darauf, dass der Ordnername oder andere Ressourcennamen keine vertraulichen Informationen enthalten. Jeder Verweis auf den Ordner oder die zugehörigen Ressourcen gibt den Ordnernamen und den Ressourcennamen an.

Projekt in Ordner verschieben

Erwägen Sie vor dem Verschieben eines Projekts in einen oder aus einem Ordner sorgfältig die Richtlinienauswirkungen. IAM-Richtlinien, die Sie auf Projektebene definieren, werden mit dem Projekt verschoben, Richtlinien, die von einer übergeordneten Ressource übernommen werden, jedoch nicht.

Wenn Sie ein Projekt verschieben, werden alle direkt verknüpften IAM-Richtlinien (Identity and Access Management) oder Organisationsrichtlinien mit ihm verschoben. Ein Projekt in Ihrer Ressourcenhierarchie ist jedoch auch von den Richtlinien betroffen, die es von übergeordneten Ressourcen übernimmt. Wenn ein Projekt eine IAM-Rolle übernimmt, die Nutzern die Berechtigung zur Verwendung eines bestimmten Dienstes gewährt, haben Nutzer keinen Zugriff auf diesen Dienst am Ziel, es sei denn, er übernimmt die Berechtigung auch dort.

Nehmen wir als Beispiel ein Dienstkonto, bei dem die Rolle Storage-Objekt-Ersteller an einen Nutzer in Ordner A gebunden ist. Das Dienstkonto hat Berechtigungen zum Hochladen von Daten in Cloud Storage in einem beliebigen Projekt in Ordner A. Wenn Sie eines dieser zu Ordner B hinzufügen, der nicht dieselben übernommenen Berechtigungen hat, für dieses Projekt nicht mehr die Möglichkeit zum Hochladen von Daten hat, wenn der Dienst unterbrochen wird.

Dies gilt auch für Organisationsrichtlinien, die für den Quell- und Zielordner definiert sind. Organisationsrichtlinien werden ebenso wie IAM-Richtlinien übernommen. Folglich muss sichergestellt werden, dass die Organisationsrichtlinien zwischen dem Quell- und Zielordner konsistent sind.

Weitere Informationen zu Organisationsrichtlinien finden Sie unter Einführung in den Organisationsrichtliniendienst.

Zum Verschieben eines Projekts benötigen Sie die IAM-Rolle "Projektverschieber" (roles/resourcemanager.projectMover) sowohl für den Quellordner als auch für den Zielordner. Wenn sich die Ressource nicht in einem Ordner befindet, benötigen Sie diese Rolle für der Organisationsressource.

Diese Rollen gewähren Ihnen folgende erforderliche Berechtigungen:

  • resourcemanager.projects.update für das Projekt
  • Wenn sich die Ressource in einem Ordner befindet: resourcemanager.projects.move für den Quellordner und das Ziel
  • Wenn sich die Ressource nicht in einem Ordner befindet: resourcemanager.projects.move auf der Organisationsressource

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Console

So verschieben Sie ein Projekt:

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie Ihre Organisation links oben auf der Seite im Drop-down Organisation aus.

  3. Klicken Sie auf die Zeile mit Ihrem Projekt, um es aus der Liste der Ressourcen auszuwählen. Klicken Sie nicht auf den Namen des Projekts, da Sie sonst zur IAM-Seite des Projekts weitergeleitet werden.

  4. Klicken Sie auf das Dreipunkt-Menü in der Zeile und dann auf Verschieben.

  5. Klicken Sie auf Durchsuchen, um den Ordner auszuwählen, in den das Projekt verschoben werden soll.

  6. Klicken Sie auf Verschieben.

gcloud

Führen Sie den Befehl gcloud beta projects move aus, um ein Projekt zu verschieben:

gcloud beta projects move PROJECT_ID \
--DESTINATION_TYPE DESTINATION_ID

Wobei:

  • PROJECT_ID ist die ID oder Nummer des Projekts, das Sie verschieben möchten.

  • DESTINATION_TYPE ist entweder organization oder folder.

  • DESTINATION_ID ist die ID der Organisationsressource oder des Ordners, in den Sie das Projekt verschieben möchten. Sie können nur ein Ziel angeben.

API

Sie können die v3-Methode projects.move verwenden, um ein Projekt zu verschieben.

Anfrage

POST https://cloudresourcemanager.googleapis.com/v3/{name=PROJECT_NAME}:move
{
  "destinationParent": DESTINATION_PARENT
}

Wobei:

  • PROJECT_NAME ist der Name des Projekts, das Sie aktualisieren möchten, z. B. projects/415104041262.

  • DESTINATION_PARENT ist die neue übergeordnete Organisationsressource Ordner oder Ordner, in den Sie das Projekt verschieben möchten. Beispiel: organizations/12345678901

Bei Erfolg gibt die Anfrage einen Vorgang zurück, mit dem die Verschiebung des Projekts verfolgt werden kann.

Ordner in einen anderen Ordner verschieben

Zum Verschieben eines Ordners in einen anderen Ordner benötigen Sie für beide Ordner die Berechtigung resourcemanager.folders.move.

Console

Das Verschieben von Ordnern in andere Ordner über die Console ähnelt dem Verschieben von Projekten.

  1. Öffnen Sie in der Google Cloud Console die Seite „Ressourcen verwalten“.

    Google Cloud Console öffnen

  2. Wählen Sie oben im Drop-down-Menü Organisation Ihre Organisationsressource aus. links auf der Seite.
  3. Klicken Sie auf die Zeile Ihres Ordners, um den Ordner aus der Liste der Projekte und Ordner auszuwählen.
  4. Klicken Sie auf das Dreipunkt-Menü in der Zeile und dann auf Verschieben:
  5. Klicken Sie auf Durchsuchen, um den Ordner auszuwählen, in den dieser Ordner verschoben werden soll.
  6. Klicken Sie auf Verschieben.

gcloud

Führen Sie den folgenden Befehl in der Google Cloud CLI aus, um einen Ordner unter die Organisationsressource zu verschieben:

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

Mit dem folgenden Befehl verschieben Sie einen Ordner unter einen anderen Ordner:

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

Ersetzen Sie Folgendes:

  • [FOLDER_ID] ist die ID des zu verschiebenden Ordners.
  • [PARENT_ID] ist die Organisationsressourcen-ID oder die Ordner-ID der übergeordneten Organisationsressource oder des übergeordneten Ordners.

API

Die JSON-Anfrage:

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

Die curl-Anfrage zum Verschieben des Ordners:

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

Ersetzen Sie Folgendes:

  • [DESTINATION_FOLDER_ID] ist die ID des Ordners, in den Sie einen anderen Ordner verschieben, z. B. 98765.
  • [DISPLAY_NAME] ist der Anzeigename des zu verschiebenden Ordners, z. B. "Mein Ordner".

Die Antwort auf die Ordnerverschiebung:

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

Die curl-Anfrage zum Abrufen des Vorgangs:

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

Die Antwort auf das Abrufen des Vorgangs:

{
  "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"
  }
}

Ordner und Projekte anzeigen oder auflisten

Um Ordner anzuzeigen oder aufzulisten, benötigen Sie die Rollen Organisationsbetrachter und Ordnerbetrachter.

So zeigen Sie Ordner und Projekte an oder listen sie auf:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite „Ressourcen verwalten“.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektauswahl oben auf der Seite Ihre Organisation aus. . Ordner müssen erstellt werden, bevor sie in dieser Liste angezeigt werden.

  3. Wählen Sie eine beliebige Zeile in der Struktur aus, um ordner- oder projektspezifische Vorgänge auszuführen.

  4. Geben Sie in das Suchfeld den Projekt- bzw. Ordnernamen oder die ID ein, um die Liste zu filtern.

gcloud

Verwenden Sie den Befehl resource-manager folders describe, um Details zu einem Ordner abzurufen.

gcloud resource-manager folders describe FOLDER_ID

Ersetzen Sie FOLDER_ID durch die ID des Ordners, den Sie aufrufen möchten.

Um die untergeordneten Ordner einer Organisationsressource aufzulisten, verwenden Sie die resource-manager folders list-Befehl.

gcloud resource-manager folders list \
  --organization ORGANIZATION_ID

Ersetzen Sie ORGANIZATION_ID durch die ID der Organisationsressource, für die Sie eine Liste der untergeordneten Ordner ansehen möchten.

Um die untergeordneten Ordner einer Ordnerressource aufzulisten, verwenden Sie die Methode resource-manager folders list-Befehl.

gcloud resource-manager folders list \
  --folder FOLDER_ID

Ersetzen Sie FOLDER_ID durch die ID der Ordnerressource, für die Sie eine Liste der untergeordneten Ordner aufrufen möchten.

Verwenden Sie den Befehl projects list mit dem Argument filter, um die Projekte unter einer Organisations- oder Ordnerressource oder einem Ordner aufzulisten.

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

Ersetzen Sie RESOURCE_ID durch die ID der Organisations- oder Ordnerressource, für die Sie eine Liste der untergeordneten Elemente ansehen möchten Projekten.

API

Die curl-Anfrage zum Abrufen von Ordnern:

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

Ersetzen Sie FOLDER_NAME durch den Namen des Ordners, z. B. folders/123.

Die curl-Anfrage zum Auflisten der Ordner:

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

Ersetzen Sie PARENT_NAME durch den Namen der übergeordneten Ressource, unter der Sie den Ordner erstellen, z. B. organizations/123 oder folders/123.

Google Cloud CLI verwenden

Befehle für die Interaktion mit der Folders API über das gcloud-Befehlszeilentool finden Sie in der Befehlsgruppe gcloud resource-manager folders.

Erstellen

Verwenden Sie zum Erstellen eines neuen Ordners den Befehl gcloud resource-manager folders create mit Flags, um den Ordnernamen und die ID der Organisationsressource oder des Ordners festzulegen, worin der Ordner angelegt werden soll.

gcloud resource-manager folders create \
  --display-name="Super Fantastic Folder" \
  --organization=2518

Created Folder 245321.

Ansehen

Verwenden Sie zum Aufrufen eines Ordners gcloud resource-manager folders describe mit der ID des anzuzeigenden Ordners.

gcloud resource-manager folders describe 245321
name: folders/245321
parent: organizations/2518
display_name: Super Fantastic Folder
lifecycle_state: ACTIVE
create_time: <timestamp info …>
update_time: <timestamp info …>

Auflisten

Verwenden Sie gcloud resource-manager folders list und übergeben Sie die Ordner-ID im Flag --folder, um die Ordner unter einem Ordner aufzulisten. In Kombination mit dem Flag --organization können damit auch die Ordner der obersten Ebene unter einer Organisationsressource aufgelistet werden.

gcloud resource-manager folders list --folder 245321
<table output showing the folders underneath the folder with the specified ID>

gcloud resource-manager folders list --organization 2518
<table output showing folders in this Organization but not in any folder>

Wenn Sie Ordner, für die das Löschen angefordert wird, in die Liste aufnehmen möchten, fügen Sie das Flag „--show-deleted“ hinzu.

gcloud beta resource-manager folders list --folder 245321 --show-deleted
<table output showing all the folders including the delete requested ones underneath the folder with the specified ID>

Sie können Projekte mit dem Befehl gcloud projects list auflisten, indem Sie den übergeordneten Ordner oder die Organisationsressourcen-ID im Flag --filter übergeben.

gcloud projects list --filter=" parent.id: '245321' "
<table output showing the projects underneath the resource with the specified ID>

Weitere Informationen dazu, wie Berechtigungen und Filter mit Listenbefehlen interagieren, finden Sie unter Alle Ressourcen in der Hierarchie auflisten.

Um nach Ordnern zu suchen, die der angegebenen Abfrage entsprechen, verwenden Sie gcloud alpha resource-manager folders search und übergeben Sie die Bedingung im Flag --query. Umfang der Suche sind alle Ordner, für die der Nutzer Leseberechtigung hat.

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>

Alle Ordner, für die der Nutzer eine Leseberechtigung hat, können über die gcloud folders search-Befehl.

gcloud folders search
<table output showing all viewable folders>

Aktualisieren

Mit dem Befehl gcloud resource-manager folders update können Sie Ordner aktualisieren. Derzeit kann nur das Feld display_name eines Ordners aktualisiert werden.

gcloud resource-manager folders update \
  --display-name="Mega Incredible Folder" 245321
name: folders/245321
parent: organizations/2518
display_name: Mega Incredible Folder
lifecycle_state: ACTIVE
create_time: <timestamp info …>
update_time: <recent timestamp info …>

Löschen

Ordner können über die Befehlszeile gelöscht bzw. wiederhergestellt werden. Damit ein Nutzer einen Ordner löschen kann, benötigt er die Rolle "Ordneradministrator" oder "Ordnerbearbeiter". Sie können einen Ordner nur löschen, wenn er leer ist.

gcloud resource-manager folders delete 245321
name: folders/245321
parent: organizations/2518
display_name: Mega Incredible Folder
lifecycle_state: DELETE_REQUESTED
create_time: <timestamp info …>
update_time: <recent timestamp info …>

gcloud resource-manager folders undelete 245321
name: folders/245321
parent: organizations/2518
display_name: Mega Incredible Folder
lifecycle_state: ACTIVE
create_time: <timestamp info …>
update_time: <recent timestamp info …>

Projekt verschieben

Projekte können mit den bestehenden Befehlen gcloud projects create und gcloud projects move in Ordnern erstellt bzw. in Ordner verschoben werden. Ordner können auch mithilfe von gcloud resource-manager folders move. verschoben werden.

gcloud projects create --folder=245321 fancy-folder-project
project_id: fancy-folder-project
project_number: 905283
parent:
  type: "folder"
  id: 245321
other fields …

gcloud projects move --folder=245321 soon-to-be-fancy-project
project_id: soon-to-be-fancy-project
project_number: 428714
parent:
  type: "folder"
  id: 245321
other fields …

Lang andauernde Vorgänge

Manche Ordnervorgänge, z. B. das Erstellen von Ordnern, können viel Zeit in Anspruch nehmen. Damit Sie leichter mehrere Aufgaben gleichzeitig erledigen können, lassen sich einige Ordnerbefehle asynchron ausführen. Diese Befehle akzeptieren das Flag --async für ein asynchrones Verhalten. Dadurch geben sie umgehend einen lang andauernden Vorgang zurück, anstatt auf den Abschluss des Vorgangs zu warten. Sie können diesen Vorgang selbst über den Befehl gcloud beta resource-manager operations describe abfragen. Derzeit sind nur die Befehle folders create und folders move asynchron verwendbar.

gcloud resource-manager folders create \
  --display-name="Awe-Inspiring Async Folder" \
  --organization=2518 \
  --async

name: operations/fc.8572
metadata:
  operation_type: CREATE
  display_name: Awe-Inspiring Async Folder
  destination_parent: organizations/2518
done: false

[wait for some time …]

gcloud beta resource-manager operations describe fc.8572
name: operations/fc.8572
metadata:
  operation_type: CREATE
  display_name: Awe-Inspiring Async Folder
  destination_parent: organizations/2518
done: true
response:
  name: folders/6428
  parent: organizations/2518
  display_name: Awe-Inspiring Async Folder
  lifecycle_state: ACTIVE
  create_time: <recent timestamp info …>
  update_time: <recent timestamp info …>