Überblick über die Zugriffssteuerung


Standardmäßig haben alle Google Cloud-Projekte nur einen Nutzer: den ursprünglichen Projektersteller. Bis ein Nutzer als Projektmitglied hinzugefügt oder an eine bestimmte Ressource gebunden wird, hat kein anderer Nutzer Zugriff auf das Projekt und damit auf Compute Engine-Ressourcen. Auf dieser Seite wird gezeigt, wie Sie Ihrem Projekt neue Nutzer hinzufügen und wie Sie die Zugriffssteuerung für Ihre Compute Engine-Ressourcen mit Identity and Access Management (IAM) festlegen.

Informationen zum Bereitstellen des Zugriffs auf Anwendungen, die auf Ihren Compute Engine-Instanzen ausgeführt werden, finden Sie unter So wird Autorisierung bestimmt.

Zugriffssteuerungsoptionen für Nutzer

Um Nutzern die Möglichkeit zu geben, Ihre Compute Engine-Ressourcen zu erstellen und zu verwalten, können Sie Nutzer als Teammitglieder zu Ihrem Projekt oder zu bestimmten Ressourcen hinzufügen und ihnen Berechtigungen mithilfe von IAM-Rollen erteilen.

Teammitglieder können einzelne Nutzer mit gültigem Google-Konto sowie Google-Gruppen, Dienstkonten oder Google Workspace-Domains sein. Wenn Sie einem Projekt oder einer Ressource ein Teammitglied hinzufügen, geben Sie an, welche Rollen Sie dem Mitglied zuweisen möchten. IAM bietet drei Arten von Rollen: Vordefinierte Rollen, einfache Rollen und benutzerdefinierte Rollen.

Ressourcen übernehmen die Richtlinien ihrer übergeordneten Ressourcen in der Ressourcenhierarchie von Google Cloud. Die effektiven Richtlinien für eine Ressource sind die Kombination aus den für die Ressource festgelegten Richtlinien und den von ihrem übergeordneten Element übernommenen Richtlinien.

Vordefinierte Compute Engine-Rollen

Mit vordefinierten Rollen gewähren Sie bestimmte zusammengehörige Berechtigungen. Compute Engine bietet folgende vordefinierte Rollen:

Rollentitel Leistungsspektrum Zielnutzer
Compute Engine-Image-Nutzer

Berechtigung, Images aus einem anderen Projekt aufzulisten und zu verwenden. Gewähren Sie einem Mitglied diese Rolle zusammen mit einer weiteren, damit das Mitglied Images aus einem anderen Projekt verwenden kann, um eine neue Ressource zu erstellen. Sie können beispielsweise diese Rolle und die Rolle "Instanzadministrator" zuweisen, damit ein Mitglied Images aus einem anderen Projekt verwenden kann, um VM-Instanzen und persistente Festplatten zu erstellen.

Wenn Sie verwaltete Instanzgruppen erstellen oder Deployment Manager zum Erstellen von VM-Instanzen verwenden, müssen Sie dem Google APIs-Dienstkonto des Projekts möglicherweise diese Rolle zuweisen, bevor Sie Images aus anderen Projekten nutzen können.

  • Dienstkonten
  • Systemadministratoren
  • Entwickler
Compute Engine-Instanzadministrator (v1)

Vollständige Kontrolle über Compute Engine-Instanzen, Instanzgruppen, Laufwerke, Snapshots und Images. Lesezugriff auf alle Compute Engine-Netzwerkressourcen.

Wenn das Mitglied VM-Instanzen verwaltet, die für die Ausführung als Dienstkonto konfiguriert sind, müssen Sie auch die Rolle roles/iam.serviceAccountUser zuweisen, damit es VM-Instanzen Dienstkonten zuweisen kann.

  • Systemadministratoren
  • Entwickler
Compute Engine-Administrator

Vollständige Kontrolle über alle Compute Engine-Ressourcen Wenn der Nutzer VM-Instanzen verwaltet, die für die Ausführung als Dienstkonto konfiguriert sind, müssen Sie ihm auch die Rolle roles/iam.serviceAccountUser zuweisen.

  • Systemadministratoren
  • Entwickler
Compute Engine-Netzwerkadministrator

Berechtigungen zum Erstellen, Ändern und Löschen von Netzwerkressourcen mit Ausnahme von Firewallregeln und SSL-Zertifikaten. Durch die Rolle "Netzwerkadministrator" wird Lesezugriff auf Firewallregeln, SSL-Zertifikate und Instanzen gewährt, um ihre sitzungsspezifischen IP-Adressen anzeigen zu können. Mit der Rolle "Netzwerkadministrator" können Mitglieder keine Instanzen erstellen, starten, beenden oder löschen.

Netzwerkadministratoren
Compute Engine-Sicherheitsadministrator

Berechtigungen zum Erstellen, Ändern und Löschen von Firewallregeln und SSL-Zertifikaten.

Sicherheitsadministratoren
Compute Engine-Load-Balancer-AdministratorBeta

Berechtigungen zum Erstellen, Ändern und Löschen von Load-Balancern und zugehörigen Ressourcen.

Lastenausgleichsmodul-Administratoren
Compute Engine-Dienstkontonutzer

Berechtigung zum Erstellen von Instanzen, die Dienstkonten verwenden, und Berechtigung zum Hinzufügen eines Laufwerks und Festlegen von Metadaten für eine Instanz, die bereits zur Ausführung als Dienstkonto konfiguriert wurde.

Sie sollten diese Rolle nicht allein zuweisen, da sie keine Berechtigungen für die Compute Engine API gewährt. Weisen Sie daher einem Mitglied diese Rolle und eine weitere zu, beispielsweise die des Instanzadministrators.

  • Systemadministratoren
  • Entwickler
Compute Engine-Betrachter

Lesezugriff zum Abrufen und Auflisten von Compute Engine-Ressourcen, aber ohne die Möglichkeit, die in ihnen gespeicherten Daten zu lesen. Ein Konto mit dieser Rolle könnte beispielsweise zwar alle Festplatten in einem Projekt inventarisieren, aber keinerlei Daten auf diesen Festplatten lesen.

Systemadministratoren
Compute Engine-Netzwerknutzer

Berechtigungen für die Verwendung eines Shared VPC-Netzwerks. Gewähren Sie diese Rolle insbesondere Dienstinhabern, die Ressourcen im Hostprojekt verwenden müssen. Nach der Gewährung können Dienstinhaber Subnetzwerke und Netzwerke verwenden, die zum Hostprojekt gehören. Beispielsweise kann ein Netzwerknutzer eine VM-Instanz erstellen, die zu einem freigegebenen VPC-Hostnetzwerk gehört, ohne jedoch im Hostprojekt neue Netzwerke löschen oder erstellen zu können.

  • Systemadministratoren
  • Entwickler
Compute Engine-Netzwerkbetrachter

Lesezugriff auf alle Netzwerkressourcen. Wenn Sie beispielsweise Software verwenden, die Ihre Netzwerkkonfiguration überprüft, können Sie dem Dienstkonto dieser Software die Rolle "Netzwerkbetrachter" zuweisen.

  • Netzwerkadministratoren
  • Systemadministratoren
  • Entwickler
  • Dienstkonten
Compute Engine-Storage-AdministratorBeta

Berechtigungen zum Erstellen, Ändern und Löschen von Laufwerken, Images und Snapshots.

Wenn Ihr Unternehmen beispielsweise einen Mitarbeiter für die Verwaltung von Images hat und dieser nicht die Bearbeiterrolle haben soll, gewähren Sie seinem Konto die Rolle "Storage-Administrator".

  • Systemadministratoren
  • Entwickler
Administrator für freigegebene Compute Engine-VPC

Berechtigungen zum Verwalten freigegebener VPC-Hostprojekte, insbesondere die Aktivierung der Hostprojekte und die Verknüpfung von Dienstprojekten mit dem Netzwerk des Hostprojekts. Diese Rolle kann nur auf Organisationsebene gewährt werden.

Projektersteller

Eine Liste der API-Methoden, für die eine Rolle Berechtigungen gewährt, finden Sie in der Dokumentation Compute Engine-IAM-Rollen.

Matrix vordefinierter Rollen

Die folgende Tabelle enthält einen vollständigen Vergleich der Rechte aller Compute Engine-Rollen.

Voraussetzung Instanzadministrator (v1) Image-Nutzer Netzwerknutzer Netzwerkbetrachter Netzwerkadministrator Sicherheitsadministrator Storage-Administrator Administrator für freigegebene VPC Compute-Administrator Compute-Betrachter Load-Balancer-Administrator
Erstellen oder Löschen von VM-Instanzen *
Herstellen von SSH-Verbindungen zu VM-Instanzen * *
Auflisten oder Abrufen von VM-Instanzen
Erstellen oder Löschen von Images, Festplatten, Snapshots
Auflisten oder Abrufen von Images
Erstellen oder Löschen von Instanzgruppen *
Auflisten oder Abrufen von Instanzgruppen
Erstellen und Verwalten von Lastenausgleichsmodulen
Erstellen und Verwalten von VPNs
Anzeigen von Netzwerk-/Subnetzwerkressourcen
Anzeigen von Firewallregeln
Erstellen und Verwalten von Firewalls und SSL-Zertifikaten für Firewalls,
für SSL-Zertifikate
Erstellen und Verwalten von freigegebenen VPC-Hostprojekten
Verwenden von Netzwerken und Subnetzwerken in einem freigegebenen VPC-Hostprojekt
Erstellen und Verwalten von Netzwerken und Subnetzwerken

*Wenn die VM-Instanz als Dienstkonto ausgeführt werden kann, müssen Sie auch die Rolle „Dienstkontonutzer“ zuweisen.

Eine Liste der API-Methoden, für die eine Rolle Berechtigungen gewährt, finden Sie in der Dokumentation Compute Engine-IAM-Rollen.

Einfache IAM-Rollen

Die einfachen IAM-Rollen sind den Legacy-Rollen Projektinhaber, Bearbeiter und Betrachter direkt zugeordnet. Sie sollten möglichst immer vordefinierte Rollen zuweisen. Wenn IAM noch nicht unterstützt wird, müssen Sie eventuell eine einfache Rolle verwenden, um die korrekten Berechtigungen zu gewähren.

Rollentitel Berechtigungen
Owner Alle Betrachter- und Bearbeiterberechtigungen sowie die Möglichkeit, die Abrechnungseinstellungen zu ändern, die Zugriffssteuerung zu verwalten und Projekte zu löschen.
Editor Alle Betrachterberechtigungen sowie die Möglichkeit, Ressourcen zu erstellen, zu ändern und zu löschen.
Viewer Leseberechtigungen für alle Ressourcen; keine Berechtigung zum Ändern von Ressourcen.

Weitere Informationen zu einfachen Rollen finden Sie in der Dokumentation zu einfachen Rollen.

Wenn vordefinierte oder einfache Rollen Ihren Anforderungen nicht entsprechen, können Sie benutzerdefinierte Rollen erstellen.

IAM-Richtlinien für Compute Engine-Ressourcen

Sie können Zugriff auf Compute Engine-Ressourcen wie VM-Instanzen, Images und Laufwerke durch direkte Verknüpfung der IAM-Richtlinien mit diesen Ressourcen gewähren. Mit einer IAM-Richtlinie können Sie IAM-Rollen auf diesen Ressourcen anstatt oder zusätzlich zur Rollenverwaltung auf Projektebene verwalten. So können Sie den Grundsatz der geringsten Berechtigung flexibel anwenden. Hierbei gewähren Sie Zugriff nur auf bestimmte Ressourcen, die Mitbearbeiter für ihre Arbeit benötigen.

Mit IAM-Richtlinien für Compute Engine-Ressourcen können Organisationen:

  • Nutzern Zugriff auf eine bestimmte Teilmenge von Ressourcen gewähren. Beispiel: Alice muss eine Teilmenge von Instanzen in einem Projekt verwalten. Mit IAM-Richtlinien auf Instanzebene können Sie ihr dann nur für diese Instanzen die Rolle compute.instanceAdmin.v1 zuweisen. Wenn Sie Alice die gleiche Rolle im Projekt zuweisen, ist sie berechtigt, alle Instanzen im Projekt zu ändern.
  • Zulassen, dass Administratoren Zugriff gewähren. Administratoren können anderen Personen Zugriff auf Instanzen, Laufwerke und Images gewähren, ohne dass sie dafür Projektinhaber mit umfangreichen Berechtigungen sein müssen. Beispiel: Bob ist ein Entwickler, dem die Rolle compute.storageAdmin für ein bestimmtes Image zugewiesen wurde. Er kann dieses Image mit seinen Teamkollegen teilen und ihnen dafür die Rolle compute.imageUser für das Image zuweisen. Ohne IAM-Richtlinien für Compute Engine-Ressourcen kann Bob dieses Image nicht mit seinen Teammitgliedern teilen. Dafür müsste er Projektinhaber werden, da er die IAM-Richtlinie des Projekts ändern müsste.

Ressourcen erben auch die Richtlinien der ihnen übergeordneten Ressourcen. Wenn Sie auf Projektebene eine Richtlinie festlegen, wird sie von allen untergeordneten Ressourcen übernommen. Die geltende Richtlinie für eine Ressource ist die Kombination aus der für diese Ressource festgelegten Richtlinie und der Richtlinie, die von weiter oben in der Hierarchie übernommen wird. Weitere Informationen finden Sie unter IAM-Richtlinienhierarchie.

Organisationsrichtlinien

Wenn Sie Google Workspace-Mitglied sind, kann Ihr Projekt Teil einer Organisationsressource sein. Eine Organisationsressource ist der Superknoten in der Ressourcenhierarchie von Google Cloud und eng mit einem Google Workspace-Konto verknüpft. Sobald eine Organisationsressource für eine Google Workspace-Domain erstellt wurde, gehören ihr alle Google Cloud-Projekte an, die von Mitgliedern der Domain erstellt wurden.

Eine Organisation kann Organisationsrichtlinien implementieren. Diese beschränken die zugelassenen Konfigurationen innerhalb der gesamten Google Cloud-Ressourcenhierarchie. Für Compute Engine können Sie die folgenden Richtlinien einrichten:

Zum Festlegen von Organisationsrichtlinien muss Ihnen die Rolle orgpolicy.policyAdmin in der Organisation gewährt worden sein. Sie können auch projektspezifische Überschreibungen einrichten, falls Sie Ausnahmen von der Richtlinie machen möchten.

Weitere Informationen über Organisationen finden Sie in der Dokumentation zu Organisationen.

Weitere Informationen über Organisationsrichtlinien finden Sie in der Dokumentation zu Organisationsrichtlinien.

Nutzern SSH-Zugriff auf VM-Instanzen gewähren

Wenn Sie einem Nutzer die Möglichkeit geben möchten, mithilfe von SSH eine Verbindung zu einer VM-Instanz herzustellen, ohne Compute Engine-Ressourcen zu verwalten, fügen Sie dem Projekt den öffentlichen Schlüssel des Nutzers hinzu oder fügen Sie den öffentlichen Schlüssel eines Nutzers zu einer spezifischen Instanz hinzu. So können Sie es vermeiden, einen Nutzer als Projektmitglied hinzuzufügen, ihm jedoch Zugriff auf bestimmte Instanzen gewähren.

In der Übersicht über SSH-Schlüssel erfahren Sie mehr über SSH und das Verwalten von SSH-Schlüsseln.

Wenn Sie einem Projektmitglied die Rolle roles/compute.instanceAdmin.v1 gewähren, kann das Mitglied automatisch mithilfe von SSH eine Verbindung zu Instanzen herstellen, solange die Instanz nicht für die Ausführung als Dienstkonto eingerichtet ist. Wenn die Instanz für die Ausführung als Dienstkonto eingerichtet ist, müssen Sie auch die Rolle roles/iam.serviceAccountUser zuweisen, bevor das Mitglied eine Verbindung zur Instanz herstellen kann.

Wenn Sie ein Mitglied als Projektinhaber oder -bearbeiter hinzufügen, erhält es automatisch auch SSH-Zugriff auf VM-Instanzen im Projekt.

Zugriffssteuerung für Anwendungen, die auf VM-Instanzen laufen

Wenn Sie Anwendungscodes auf Instanzen ausführen und sich die Anwendung bei anderen Google Cloud APIs authentifizieren muss, erstellen Sie Dienstkonten und weisen diesen Dienstkonten bestimmte IAM-Rollen zu, um sich in Ihrem Namen bei anderen Google Cloud APIs zu authentifizieren. Ein Dienstkonto ist ein besonderes Konto ohne Anmeldedaten und eignet sich deshalb sehr gut für Interaktionen zwischen Servern.

In der Dokumentation zu Dienstkonten erfahren Sie mehr darüber.

Verwaltete Arbeitslastidentitäten für Compute Engine-Arbeitslasten

Sie können die automatische Bereitstellung und die Lebenszyklusverwaltung von X.509-Zertifikaten von Certificate Authority Service (CA Service) mithilfe verwalteter Arbeitslastidentitäten einrichten. Verwaltete Zertifikate für Arbeitslastidentitäten werden von CA Service ausgestellt, einem hochverfügbaren, skalierbaren Google Cloud-Dienst, mit dem Sie die Bereitstellung, Verwaltung und Sicherheit von CA-Diensten vereinfachen und automatisieren können. und behalten die Kontrolle über Ihre privaten Schlüssel.

Mit verwalteten Arbeitslastidentitäten können Sie von Compute Engine pro VM mTLS profitieren. Pro VM mTLS verwendet X.509-Zertifikate, die beim Erstellen einer VM ausgestellt werden. Diese mTLS-Zertifikate werden automatisch rotiert, sodass Sie sich keine Gedanken mehr über die Verwaltung der Zertifikate machen müssen.

Verwaltete Arbeitslastidentitäten bieten eine Grundlage für die gegenseitige authentifizierte und verschlüsselte Kommunikation zwischen zwei Compute Engine-VMs. Wenn Sie beispielsweise verwaltete Arbeitslastidentitäten verwenden, kommuniziert Dienst A, der in einer VM ausgeführt wird, mit Dienst B, der in einem anderen ausgeführt wird, über einen verschlüsselten Kanal, der mit mTLS eingerichtet wird.

Informationen zum Konfigurieren von verwalteten Arbeitslastidentitäten finden Sie unter Arbeitslasten über mTLS bei anderen Arbeitslasten authentifizieren.

Nächste Schritte