Ü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 beschrieben, wie Sie Ihrem Projekt neue Nutzer hinzufügen und wie Sie die Zugriffssteuerung für Ihre Compute Engine-Ressourcen festlegen.

Wenn Sie Anwendungen auf einer VM-Instanz ausführen und die Anwendung Zugriff auf Compute Engine oder andere Google Cloud APIs benötigt, können Sie statt Anmeldedaten Dienstkonten zur Authentifizierung Ihrer Anwendungen verwenden.

Zugriffssteuerungsoptionen für Nutzer

Damit Nutzer Compute Engine-Ressourcen erstellen und verwalten können, haben Sie die Möglichkeit, diese Nutzer Ihrem Projekt oder bestimmten Ressourcen als Teammitglieder hinzuzufügen und ihnen mithilfe von Rollen in Cloud Identity and Access Management Berechtigungen zuzuweisen.

Teammitglieder können einzelne Nutzer mit gültigem Google-Konto sowie Google-Gruppen, Dienstkonten oder G Suite-Domains sein. Wenn Sie einem Projekt oder einer Ressource ein Teammitglied hinzufügen, geben Sie an, welche Rollen Sie dem Mitglied zuweisen möchten. Cloud 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 Dienstkontonutzer 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 bestimmte Rolle Berechtigungen gewährt, finden Sie in der Dokumentation zu Compute Engine Cloud 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 Ja* Nein Nein Nein Nein Nein Nein Nein Ja Nein Nein
Herstellen von SSH-Verbindungen zu VM-Instanzen Ja* Nein Nein Nein Nein Nein Nein Nein Ja* Nein Nein
Auflisten oder Abrufen von VM-Instanzen Ja Nein Nein Ja Ja Nein Nein Nein Ja Ja Ja
Erstellen oder Löschen von Images, Festplatten, Snapshots Ja Nein Nein Nein Nein Nein Ja Nein Ja Ja Nein
Auflisten oder Abrufen von Images Ja Ja Nein Nein Nein Nein Ja Nein Ja Ja Nein
Erstellen oder Löschen von Instanzgruppen Ja* Nein Nein Nein Nein Nein Nein Nein Ja Nein Ja
Auflisten oder Abrufen von Instanzgruppen Ja Nein Nein Ja Ja Nein Nein Nein Ja Ja Ja
Erstellen und Verwalten von Lastenausgleichsmodulen Nein Nein Nein Nein Ja Nein Nein Nein Ja Nein Ja
Erstellen und Verwalten von VPNs Nein Nein Nein Nein Ja Nein Nein Nein Ja Nein Nein
Anzeigen von Netzwerk-/Subnetzwerkressourcen Ja Nein Ja Ja Ja Nein Nein Nein Ja Ja Ja
Anzeigen von Firewallregeln Ja Nein Ja Ja Ja Ja Nein Nein Ja Ja Nein
Erstellen und Verwalten von Firewalls und SSL-Zertifikaten Nein Nein Nein Nein Nein Ja Nein Nein Ja Nein Nein für Firewalls, ja für SSL-Zertifikate
Erstellen und Verwalten von freigegebenen VPC-Hostprojekten Nein Nein Nein Nein Nein Nein Nein Ja Ja Nein Nein
Verwenden von Netzwerken und Subnetzwerken in einem freigegebenen VPC-Hostprojekt Nein Nein Ja Nein Nein Nein Nein Nein Ja Nein Nein
Erstellen und Verwalten von Netzwerken und Subnetzwerken Nein Nein Nein Nein Ja Nein Nein Nein Ja Nein Nein

*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 bestimmte Rolle Berechtigungen gewährt, finden Sie in der Dokumentation zu Compute Engine Cloud IAM-Rollen.

Einfache Cloud IAM-Rollen

Die einfachen Cloud IAM-Rollen sind den alten 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.

In der Dokumentation zu einfachen Rollen erfahren Sie mehr über diese Rollen.

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

Cloud 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 Cloud IAM-Richtlinien mit diesen Ressourcen gewähren. Mit einer Cloud IAM-Richtlinie können Sie Cloud 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 Cloud 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 Cloud 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 Cloud 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 Cloud 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 Cloud IAM-Richtlinienhierarchie.

Organisationsrichtlinien

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

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, können Sie Dienstkonten erstellen und diesen Dienstkonten bestimmte Cloud IAM-Rollen zuweisen, 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.

Weitere Informationen