Ordner erstellen und verwalten

Ordner sind Knoten in der Cloud Platform-Ressourcenhierarchie. Ein Ordner kann Projekte, andere Ordner oder eine Kombination aus beidem enthalten. Mit Organisationsressourcen können Ordner verwendet werden, um Projekte unter dem Organisationsressourcenknoten in einer Hierarchie zu gruppieren. Ihre Organisationsressource kann beispielsweise mehrere Abteilungen mit jeweils eigenen Google Cloud-Ressourcen enthalten. 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 Diagramm unten hat die Organisationsressource „Company“ Ordner für die beiden Abteilungen „Dept X“ und „Dept Y“ und einen Ordner namens „Shared Infrastructure“ für gemeinsam genutzte Elemente. 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.

Hinweise

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 Zugriffssteuerung für Ordner mit IAM. In diesem Thema wird beschrieben, wie Sie steuern, wer Zugriff auf Ordner und die darin enthaltenen Ressourcen hat.
  2. Machen Sie sich damit vertraut, wie Ordnerberechtigungen festgelegt werden. Ordner unterstützen unterschiedliche IAM-Rollen. Wenn Sie Berechtigungen im Allgemeinen so einrichten möchten, dass Nutzer die Struktur ihrer Projekte sehen können, weisen Sie der gesamten Domain die Rollen Organisationsbetrachter und Ordnerbetrachter auf Organisationsebene 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 Cloud-Ressourcen organisieren möchten, empfehlen wir, mit einem einzelnen Ordner als Sandbox zu beginnen, in der Sie experimentieren können, welche Hierarchie für Ihre Organisationsressource am sinnvollsten ist. 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.

Verwaltungsberechtigungen für Ordner festlegen

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.

Anfangs 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. Klicken Sie oben links auf die Drop-down-Liste Organisation und wählen Sie Ihre Organisation aus der Liste der Ressourcen aus.

  3. Geben Sie rechts im Textfeld Mitglieder hinzufügen (Add members) Ihre E-Mail-Adresse ein.

  4. Wechseln Sie im Drop-down-Listenfeld Rolle wählen zur Kategorie Resource Manager und wählen Sie die Rolle Ordneradministrator (Folder Admin) aus.

  5. Klicken Sie auf Hinzufügen (Add), um die neue Rolle zu erteilen.

gcloud

Ordner können programmatisch mit der Google Cloud CLI erstellt werden. Dazu führen Sie den folgenden Befehl aus:

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

Wobei:

  • [ORGANIZATION_NAME] ist der Name der Organisation, deren IAM-Richtlinie Sie festlegen, beispielsweise organizations/123.

Ordner erstellen

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

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. Achten Sie darauf, dass der Name der Organisationsressource in der Drop-down-Liste „Organisation“ oben auf der Seite ausgewählt ist.

  3. Klicken Sie auf Ordner erstellen.

  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 programmatisch mit der Google Cloud CLI erstellt werden.

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

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]

Wobei:

  • [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]"
}'

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?parent=[ORGANIZATION_NAME]

Wobei:

  • [DISPLAY_NAME] ist der Anzeigename des neuen Ordners, z. B. "Mein Ordner".
  • [ORGANIZATION_NAME] ist der Name der Organisationsressource, unter dem 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"
  }
}

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 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ählen Sie in der Drop-down-Liste Rolle auswählen die Rolle aus, die Sie diesen Mitgliedern zuweisen möchten.

    3. Klicken Sie auf Hinzufügen. Sie werden aufgefordert, die neue Rolle des Mitglieds hinzuzufügen oder zu aktualisieren.

gcloud

Sie können den Zugriff auf Ordner programmatisch über die Google Cloud CLI oder 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]

Wobei:

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

API

Die Methode setIamPolicy legt die Zugriffssteuerungsrichtlinie für einen Ordner fest und ersetzt alle vorhandenen Richtlinien. Das Feld resource sollte den Ressourcennamen des Ordners enthalten, 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

Wobei:

  • [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 Ihre 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]

Wobei:

  • [PROJECT_ID] ist die ID des zu erstellenden Projekts.
  • [FOLDER_ID] ist die ID des Ordners, in dem das Projekt erstellt werden soll.

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

Wobei:

  • [PROJECT_ID] ist die ID des zu erstellenden Projekts, z. B. "mein-projekt-123".
  • [DISPLAY_NAME] ist der Anzeigename des zu erstellenden Projekts.
  • [PARENT_ID] ist die ID der übergeordneten Ebene, unter der das Projekt erstellt wird, z. B. "123".
  • [PARENT_TYPE] ist der Typ der übergeordneten Ebene, z. B. "Ordner" oder "Organisation".

Der Ordnername und andere Ressourcennamen dürfen keine vertraulichen Informationen enthalten. Bei Verweisen auf den Ordner oder die zugehörigen Ressourcen werden der Ordnername und der Ressourcenname offengelegt.

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 Projekte in Ordner B verschoben haben, das nicht dieselben übernommenen Berechtigungen hat, kann das Dienstkonto für dieses Projekt keine Daten mehr hochladen. Dies führt zu einem Dienstausfall.

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 die 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 die Ressource nicht in einem Ordner enthalten ist:resourcemanager.projects.move für die 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 die 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 oder der neue Ordner, in die 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 links oben auf der Seite im Drop-down-Menü Organisation Ihre Organisationsressource aus.
  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]

Wobei:

  • [FOLDER_ID] ist die ID des zu verschiebenden Ordners.
  • [PARENT_ID] ist die Ressourcen-ID der Organisation oder die Ordner-ID der übergeordneten Ressource 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

Wobei:

  • [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 oben auf der Seite in der Projektauswahl Ihre Organisationsressource 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 describe, um einen Ordner aufzurufen.

   gcloud resource-manager folders describe [FOLDER_ID]

   name: folders/245321 \
   parent: organizations/2518 \
   display_name: Super Fantastic Folder \
   lifecycle_state: ACTIVE \
   create_time: <timestamp info …> \
   update_time: <timestamp info …> \

Wobei:

  • [FOLDER_ID] ist die ID des Ordners, den Sie anzeigen möchten.

    Verwenden Sie den Befehl list, um die Ordner unter einer Organisationsressource aufzulisten.

    gcloud resource-manager folders list
    --organization [ORGANIZATION_ID]

    Wobei:

  • [ORGANIZATION_ID] ist die ID der Organisationsressource, für die Sie eine Liste der untergeordneten Ordner aufrufen möchten.

    Der Befehl gibt eine Tabelle aus, in der die untergeordneten Ordner der von Ihnen angegebenen Organisationsressourcen-ID angezeigt werden.

    Mit dem Befehl list können die Ordner über das Flag --folder auch unter einem anderen Ordner aufgelistet werden.

    gcloud resource-manager folders list
    --folder [FOLDER_ID]

    Wobei:

  • [FOLDER_ID] ist die ID des Ordners, für den Sie eine Liste der untergeordneten Ordner aufrufen möchten.

    Verwenden Sie den Befehl projects list und das Argument filter, um die Projekte unter einer Organisationsressource oder einem Ordner aufzulisten.

    gcloud projects list
    --filter=" parent.id: '[FOLDER_OR_ORGANIZATION_ID]' "

    Wobei:

  • [FOLDER_OR_ORGANIZATION_ID] ist die ID des Ordners oder der Organisationsressource, für die Sie eine Liste der untergeordneten Projekte aufrufen möchten.

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]

Wobei:

  • [FOLDER_NAME] ist der Name 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]

Wobei:

  • [PARENT_NAME] ist der Name 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 gcloud resource-manager folders create mit Flags, um den Namen des Ordners und die ID der Organisationsressource oder des Ordners festzulegen, in der Sie den Ordner erstellen möchten.

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. Außerdem können Sie mit dem Flag --organization auch die übergeordneten Ordner unter einer Organisationsressource auflisten.

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>

Fügen Sie das Flag --show-delete hinzu, um Ordner aufzunehmen, für die ein Löschen in der Liste angefordert wird.

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 und die ID des übergeordneten Ordners oder der Organisationsressource 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.

Verwenden Sie gcloud alpha resource-manager folders search, um nach Ordnern zu suchen, die mit der angegebenen Abfrage übereinstimmen. Übergeben Sie dazu die Bedingung im Flag --query. Der Suchbereich umfasst 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 Leseberechtigung hat, können mit dem Befehl gcloud folders search angezeigt werden.

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 …>