Ressourcenhierarchie

Auf dieser Seite werden die Google Cloud-Ressourcenhierarchie und die Ressourcen beschrieben, die mit Resource Manager verwaltet werden können.

Die Google Cloud-Ressourcenhierarchie hat zwei Ziele:

  • Sie stellt eine Hierarchie von Inhaberschaften zur Verfügung, in der der Lebenszyklus einer Ressource an das in der Hierarchie unmittelbar übergeordnete Element gebunden ist.
  • Sie ermöglicht das Zuweisen und Übernehmen von Zugriffssteuerungs- und Organisationsrichtlinien.

Bildlich gesprochen entspricht die Google Cloud-Ressourcenhierarchie den Dateisystemen, die unter herkömmlichen Betriebssystemen zur hierarchischen Organisation und zur Verwaltung von Elementen dienen. Jeder Ressource ist genau ein Element übergeordnet. Diese hierarchische Organisation von Ressourcen ermöglicht es Ihnen, Richtlinien für die Zugriffssteuerung sowie Konfigurationseinstellungen für eine übergeordnete Ressource festzulegen. Die Richtlinien und die IAM-Einstellungen (Identity and Access Management) werden dann von den untergeordneten Ressourcen übernommen.

Google Cloud-Ressourcenhierarchie im Detail

Die Ressourcen auf der untersten Ebene stellen die grundlegenden Komponenten aller Google Cloud-Dienste dar. Beispiele für Ressourcen sind unter anderem virtuelle Compute Engine-Maschinen (VMs), Pub/Sub-Themen, Cloud Storage-Buckets und App Engine-Instanzen. Allen Ressourcen auf der untersten Ebene können nur Projekte übergeordnet sein. Sie stellen den ersten Gruppierungsmechanismus der Google Cloud-Ressourcenhierarchie dar.

Google Workspace- und Cloud Identity-Kunden haben Zugriff auf zusätzliche Funktionen der Google Cloud-Ressourcenhierarchie. Sie profitieren unter anderem von der zentralisierten Sichtbarkeit und Steuerung sowie weiteren Gruppierungsmechanismen wie Ordnern. Weitere Informationen finden Sie in der Übersicht zu Cloud Identity.

Google Cloud-Ressourcen sind hierarchisch organisiert. Die unterste Ebene der Hierarchie enthält Projekte, die wiederum andere Ressourcen enthalten können. Alle Ressourcen außer Organisationen haben genau ein übergeordnetes Element. Die Organisation befindet sich ganz oben in der Hierarchie und hat kein übergeordnetes Element.

Die Organisationsressource ist der Stammknoten der Google Cloud-Ressourcenhierarchie. Alle zu einer Organisation gehörenden Ressourcen sind unter dem Organisationsknoten gruppiert. Dies ermöglicht die zentralisierte Sichtbarkeit und Steuerung aller Ressourcen einer Organisation.

Als weiterer Gruppierungsmechanismus sind Projekten Ordner übergeordnet. Um Ordner verwenden zu können, benötigen Sie eine Organisationsressource. Alle Ordner und Projekte sind der Organisationsressource untergeordnet.

Die Google Cloud-Ressourcenhierarchie – vor allem in ihrer kompletten Form mit Organisationsressource und Ordnern – bietet Unternehmen die Möglichkeit, ihre Organisation in Google Cloud abzubilden. Außerdem stellt sie logische Verbindungspunkte für IAM-Richtlinien (Identity and Access Management) und Organisationsrichtlinien bereit. Sowohl IAM- als auch Organisationsrichtlinien werden innerhalb der Hierarchie übernommen. Die auf jedem Hierarchieknoten geltende Richtlinie resultiert aus direkt auf den Knoten angewendeten und von Ancestors übernommenen Richtlinien.

Das folgende Diagramm zeigt ein Beispiel für eine Google Cloud-Ressourcenhierarchie in vollständiger Form:

Ressourcenhierarchie

Organisationsressource

Die Ressource Organisation stellt eine Organisation dar (z. B. ein Unternehmen) und ist der Stammknoten in der Google Cloud-Ressourcenhierarchie. Die Organisationsressource ist der hierarchische Ancestor von Projektressourcen und Ordnern. Die auf die Organisationsressource angewendeten IAM-Zugriffssteuerungsrichtlinien gelten innerhalb der gesamten Hierarchie für alle Ressourcen der Organisation.

Für Google Cloud-Nutzer ist keine Organisationsressource erforderlich. Einige Funktionen von Resource Manager sind jedoch ohne diese nicht verwendbar. Die Organisationsressource ist eng mit einem Google Workspace- oder Cloud Identity-Konto verknüpft. Wenn ein Nutzer mit einem Google Workspace- oder einem Cloud Identity-Konto ein Google Cloud-Projekt erstellt, wird dem Konto automatisch eine Organisationsressource bereitgestellt.

Für ein Google Workspace- oder Cloud Identity-Konto kann genau eine Organisation bereitgestellt werden. Sobald eine Organisationsressource für eine Domain erstellt wurde, gehören ihr standardmäßig alle Google Cloud-Projekte an, die von Mitgliedern der Kontodomain erstellt wurden. Wenn ein verwalteter Nutzer ein Projekt erstellt, muss es sich in einer Organisation befinden. Wenn ein Nutzer eine Organisation angibt und die entsprechenden Berechtigungen hat, wird das Projekt dieser Organisation zugewiesen. Andernfalls wird standardmäßig die Organisation verwendet, der der Nutzer zugeordnet ist. Es ist nicht möglich, ein Projekt zu erstellen, das keiner Organisation zugeordnet ist.

Der Einfachheit halber verwenden wir Google Workspace stellvertretend für Google Workspace- und Cloud Identity-Nutzer.

Das Google Workspace- oder Cloud Identity-Konto stellt ein Unternehmen dar und ist Voraussetzung für den Zugriff auf die Organisationsressource. Im Google Cloud-Kontext bietet es Funktionen für die Identitäts-, Inhaber- und Lebenszyklusverwaltung sowie einen Wiederherstellungsmechanismus. Die folgende Abbildung zeigt die Verknüpfung zwischen dem Google Workspace-Konto, Cloud Identity und der Google Cloud-Ressourcenhierarchie.

G Suite-Organisation


Der Super Admin von Google Workspace ist für die Bestätigung der Domaininhaberschaft zuständig und dient als Ansprechpartner bei Wiederherstellungen. Aus diesem Grund hat der Super Admin von Google Workspace die Möglichkeit, IAM-Rollen standardmäßig zuzuweisen. Die Hauptaufgabe des Super Admins von Google Workspace in Bezug auf Google Cloud besteht darin, die IAM-Rolle "Organisationsadministrator" den entsprechenden Nutzern in ihrer Domain zuzuweisen. Dies ermöglicht die Trennung zwischen Google Workspace- und Google Cloud-Verwaltungsverantwortlichkeiten, die Nutzer in der Regel wünschen.

Vorteile der Organisationsressource

Mit einer Organisationsressource gehören Projekte Ihrer Organisation und nicht dem Mitarbeiter, der das Projekt erstellt hat. Dies verhindert, dass Projekte beim Ausscheiden eines Mitarbeiters aus dem Unternehmen gelöscht werden. Sie durchlaufen stattdessen auf der Google Cloud den Lebenszyklus der Organisation.

Darüber hinaus können Organisationsadministratoren alle Ressourcen zentral steuern. Sie haben die Möglichkeit, alle Projekte Ihres Unternehmens anzuzeigen und zu verwalten. Schattenprojekte und unbekannte Administratoren gehören damit der Vergangenheit an.

Sie können auch Rollen auf Organisationsebene zuweisen, die von allen Projekten unter der Organisationsressource übernommen werden. Weisen Sie beispielsweise Ihrem Netzwerkteam die Rolle "Netzwerkadministrator" auf Organisationsebene zu, damit das Team alle Netzwerke in allen Projekten Ihres Unternehmens verwalten kann, anstatt ihnen die Rolle für jedes Projekt einzeln zuzuweisen.

Eine Organisationsressource, die von der Resource Manager API bereitgestellt wird, hat folgende Komponenten:

  • Eine Organisations-ID, die eine Organisation eindeutig kennzeichnet
  • Ein Anzeigename, der aus dem primären Domainnamen in Google Workspace oder Cloud Identity generiert wird.
  • Eine Angabe zur Erstellungszeit der Organisation
  • Eine Angabe zum Zeitpunkt der letzten Änderung der Organisation
  • Den Inhaber der Organisation. Dieser wird beim Erstellen der Organisationsressource angegeben und kann anschließend nicht mehr geändert werden. Dies ist die Google Workspace-Kundennummer, die in der Directory API angegeben wird.

Das folgende Code-Snippet zeigt die Struktur einer Organisationsressource:

{
  "displayName": "myorganization",
  "organizationId":"34739118321",
  "createTime": "2016-01-07T21:59:43.314Z"
  "owner": {
    "directoryCustomerId": "C012BA234"
   }
}

Die anfängliche IAM-Richtlinie einer neu erstellten Organisationsressource weist der gesamten Google Workspace-Domain die Rollen "Projektersteller" und "Rechnungskontoersteller" zu. Nutzer können Projekte und Rechnungskonten somit weiterhin wie vor dem Einführen der Organisation erstellen. Bei der Erstellung einer Organisationsressource werden keine weiteren Ressourcen angelegt.

Ordnerressource

Ordnerressourcen stellen einen zusätzlichen Gruppierungsmechanismus zur Verfügung und trennen Projekte voneinander. Sie können als Unterorganisationen innerhalb der Organisation betrachtet werden. Ordner können verschiedene Rechtspersönlichkeiten, Abteilungen und Teams innerhalb eines Unternehmens darstellen. So lassen sich beispielsweise in einer ersten Ordnerebene die Hauptabteilungen der Organisation darstellen. Da Ordner Projekte und andere Ordner enthalten können, könnten in jedem Ordner wiederum weitere Unterordner für die verschiedenen Teams vorhanden sein. Jeder Teamordner könnte weitere Unterordner für verschiedene Anwendungen enthalten. Weitere Informationen zur Verwendung von Ordnern finden Sie unter Ordner erstellen und verwalten.

Wenn Ihre Organisation über Ordnerressourcen verfügt und Sie entsprechende Ansichtsberechtigungen haben, können Sie sich diese über die Google Cloud Console anzeigen lassen. Eine ausführliche Anleitung dazu finden Sie unter Ordner und Projekte anzeigen oder auflisten.

Ordner ermöglichen das Delegieren von Administrationsrechten. So kann beispielsweise jedem Abteilungsleiter die volle Inhaberschaft aller Google Cloud-Ressourcen seiner Abteilung zugewiesen werden. Ebenso kann der Zugriff auf Ressourcen durch den Ordner begrenzt werden, sodass Nutzer in einer Abteilung Cloudressourcen nur in diesem Ordner aufrufen und erstellen können.

Das folgende Code-Snippet zeigt die Struktur eines Ordners:

{
 "name" : "folders/my-folder",
 "parent" : "organizations/my-organization",
 "displayName" : "Engineering",
 "lifecycleState" : "ACTIVE",
 "createTime": "2016-01-07T21:59:43.314Z"
}

Ordner dienen wie Organisationen und Projekte als Übernahmepunkt für IAM- und Organisationsrichtlinien. Die einem Ordner zugewiesenen IAM-Rollen werden automatisch von allen in diesem Ordner enthaltenen Projekten und Ordnern übernommen.

Projektressource

Die Projektressource ist die unterste Organisationsebene. Organisationen und Ordner können mehrere Projekte enthalten. Ein Projekt ist zur Verwendung der Google Cloud erforderlich und bildet die Grundlage für das Erstellen, Aktivieren und Verwenden aller Google Cloud-Dienste. Dies umfasst unter anderem die API-Verwaltung, das Aktivieren der Abrechnung, das Hinzufügen und Entfernen von Mitarbeitern sowie die Berechtigungsverwaltung.

Alle Projekte umfassen Folgendes:

  • Zwei Kennungen:
    1. Eine Projekt-ID, die ein Projekt eindeutig kennzeichnet
    2. Eine Projektnummer, die beim Erstellen eines Projekts automatisch zugewiesen wird. Diese ist schreibgeschützt.
  • Einen änderbaren Anzeigenamen
  • Den Lebenszyklusstatus des Projekts, z. B. ACTIVE oder DELETE_REQUESTED
  • Eine Reihe von Labels, die zum Filtern von Projekten verwendet werden können
  • Eine Angabe zur Erstellungszeit des Projekts

Das folgende Code-Snippet zeigt die Struktur eines Projekts:

{
  "name": "myproject",
  "projectId": "my-project-123",
  "labels":
   {
     "my-label": "prod"
   },
   "projectNumber": "464036093014",
   "lifecycleState": "ACTIVE",
   "createTime": "2016-01-07T21:59:43.314Z"
}

Wenn Sie mit Google Cloud-Ressourcen interagieren möchten, müssen Sie in der Regel in jeder Anfrage die entsprechenden Projektinformationen angeben. Ein Projekt lässt sich auf zwei Arten identifizieren: über eine Projekt-ID oder eine Projektnummer (projectId und projectNumber im Code-Snippet).

Die Projekt-ID ist der benutzerdefinierte Name, den Sie beim Erstellen des Projekts ausgewählt haben. Wenn Sie eine API aktivieren, die ein Projekt voraussetzt, werden Sie aufgefordert, ein Projekt zu erstellen oder anhand seiner Projekt-ID auszuwählen. Dabei ist zu beachten, dass der in der UI angezeigte String name nicht die Projekt-ID ist.

Von Google Cloud wird automatisch eine Projektnummer generiert. Sie finden die Projekt-ID und die Projektnummer in der Google Cloud Console im Dashboard des Projekts. Weitere Informationen zum Abrufen von Projektkennungen sowie zu weiteren Verwaltungsaufgaben für Projekte finden Sie unter Projekte erstellen und verwalten.

Die anfängliche IAM-Richtlinie einer neu erstellten Projektressource weist dem Ersteller des Projekts die Inhaberrolle zu.

IAM-Richtlinienübernahme

Google Cloud bietet mit IAM (Identity and Access Management) die Möglichkeit, den Zugriff auf einzelne Google Cloud-Ressourcen präzise zu steuern und unerwünschten Zugriff auf andere Ressourcen zu verhindern. Mit IAM können Sie steuern, wer (Nutzer) welche Zugriffsrechte (Rollen) für welche Ressourcen hat. Dazu legen Sie IAM-Richtlinien für die Ressourcen fest.

IAM-Richtlinien können auf Organisationsebene, Ordnerebene, Projektebene und zum Teil auch auf Ressourcenebene festgelegt werden. Ressourcen übernehmen die Richtlinien des übergeordneten Knotens. Wenn Sie eine Richtlinie auf Organisationsebene festlegen, wird sie von allen untergeordneten Ordnern und Projekten übernommen. Wenn Sie eine Richtlinie auf Projektebene festlegen, wird sie von allen untergeordneten Ressourcen übernommen.

Die für eine Ressource geltende Richtlinie ist die Kombination aus der für die Ressource festgelegten Richtlinie sowie der von Ancestors übernommenen Richtlinie. Diese Übernahme ist transitiv. Mit anderen Worten: Ressourcen übernehmen die Richtlinien des Projekts, das wiederum die Richtlinien der Organisation übernimmt. Daher gelten die auf Organisationsebene festgelegten Richtlinien auch auf Ressourcenebene.

Ressourcenhierarchie


Wenn Sie beispielsweise in der oben dargestellten Ressourcenhierarchie eine Richtlinie für den Ordner "Dept Y" (Abteilung Y) festlegen, die bob@example.com die Rolle "Projektbearbeiter" zuweist, hat Bob die Bearbeiterrolle für die Projekte "Dev GCP Project" (Entwicklungs-GCP-Projekt), "Test GCP Project" (Test-GCP-Projekt) und "Production GCP Project" (Produktions-GCP-Projekt). Wenn Sie hingegen alice@example.com die Rolle "Instanzadministrator" für das Projekt "Test GCP Project" (Test-GCP-Projekt) zuweisen, kann Alice nur Compute Engine-Instanzen in diesem Projekt verwalten.

Rollen werden immer übernommen und es gibt keine Möglichkeit, eine Berechtigung für eine untergeordnete Ressource, die auf einer höheren Ebene in der Ressourcenhierarchie erteilt wurde, explizit zu entfernen. Selbst wenn Sie im obigen Beispiel die Rolle "Project Editor" von Bob für das "Test GCP Project" entfernen, übernimmt er diese Rolle weiterhin aus dem Ordner "Dept Y", sodass er auch die Berechtigungen dieser Rolle für das "Test GCP Project" weiterhin hat.

Für die IAM-Richtlinienhierarchie gelten dieselben Regeln wie für die Google Cloud-Ressourcenhierarchie. Wenn Sie die Ressourcenhierarchie ändern, ändert sich auch die Richtlinienhierarchie. Wenn Sie z. B. ein Projekt in eine Organisation verschieben, wird die IAM-Richtlinie des Projekts mit dem Inhalt der IAM-Richtlinie der Organisation aktualisiert. Ebenso ändern sich die übernommenen Berechtigungen, wenn Sie ein Projekt von einem Ordner in einen anderen verschieben. Berechtigungen, die ein Projekt von der ursprünglichen übergeordneten Ressource übernommen hat, gehen durch das Verschieben des Projekts in einen neuen Ordner verloren. Das Projekt übernimmt beim Verschieben stattdessen die für den Zielordner festgelegten Berechtigungen.