Wenn Sie ein neues Mitglied in Ihr Projekt aufnehmen, können Sie diesem Mitglied mithilfe einer Richtlinie für die Identitäts- und Zugriffsverwaltung (IAM) eine oder mehrere IAM-Rollen zuweisen. Jede IAM-Rolle enthält Berechtigungen, die dem Mitglied Zugriff auf bestimmte Ressourcen gewähren.
Compute Engine bietet eine Reihe vordefinierter IAM-Rollen. Diese werden auf dieser Seite beschrieben. Sie können auch benutzerdefinierte Rollen erstellen, die Teilmengen von Berechtigungen enthalten, die sich direkt Ihren Anforderungen zuordnen lassen.
Informationen zu den für die einzelnen Methoden erforderlichen Berechtigungen finden Sie in der Referenzdokumentation zur Compute Engine API:
Informationen zum Gewähren des Zugriffs finden Sie auf den folgenden Seiten.
- Informationen zum Festlegen von IAM-Richtlinien auf Projektebene finden Sie in der IAM-Dokumentation unter Zugriff auf Ressourcen erteilen, ändern und entziehen.
- Informationen zum Festlegen von Richtlinien für bestimmte Compute Engine-Ressourcen finden Sie unter Zugriff auf Compute Engine-Ressourcen gewähren.
- Informationen zum Zuweisen von Rollen zu einem Compute Engine-Dienstkonto finden Sie unter Dienstkonten für Instanzen erstellen und aktivieren.
Hinweis
- Lesen Sie die IAM-Dokumentation.
Was ist IAM?
Google Cloud bietet mit der Identitäts- und Zugriffsverwaltung, abgekürzt IAM (für 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. Durch IAM können Sie das Prinzip der geringsten Berechtigung anwenden und somit nur den notwendigen Zugriff auf Ihre Ressourcen gewähren.
Durch das Festlegen von IAM-Richtlinien können Sie steuern, wer (Identität) welche (Rollen) Berechtigungen für welche Ressourcen hat. Anhand von IAM-Richtlinien werden einem Projektmitglied bestimmte Rollen zugewiesen, mit denen wiederum bestimmte Berechtigungen verknüpft sind. Für eine bestimmte Ressource, z. B. ein Projekt, können Sie einem Google-Konto die Rolle roles/compute.networkAdmin
zuweisen. Dieses Konto kann netzwerkbezogene Ressourcen im Projekt steuern, aber keine anderen Ressourcen wie Instanzen und Laufwerke verwalten. Mit IAM können Sie auch die Legacy-Rollen der Cloud Console verwalten, die Projektteammitgliedern gewährt wurden.
Rolle "serviceAccountUser"
Wird diese Rolle zusammen mit roles/compute.instanceAdmin.v1
erteilt, können Mitglieder durch roles/iam.serviceAccountUser
Instanzen erstellen und verwalten, für die ein Dienstkonto verwendet wird. Wenn Sie die Rollen roles/iam.serviceAccountUser
und roles/compute.instanceAdmin.v1
zusammen erteilen, erhalten die Mitglieder die folgenden Berechtigungen:
- Instanz erstellen, die als Dienstkonto ausgeführt wird.
- Nichtflüchtigen Speicher zu einer Instanz hinzufügen, die als Dienstkonto ausgeführt wird.
- Instanzmetadaten für eine Instanz festlegen, die als Dienstkonto ausgeführt wird.
- SSH verwenden, um eine Verbindung zu einer Instanz herzustellen, die als Dienstkonto ausgeführt wird.
- Instanz neu konfigurieren, sodass sie als Dienstkonto ausgeführt wird.
roles/iam.serviceAccountUser
kann auf zwei Arten zugewiesen werden:
Empfohlen. Weisen Sie einem Mitglied die Rolle für ein bestimmtes Dienstkonto zu. So erhält ein Mitglied Zugriff auf das Dienstkonto, für das er ein
iam.serviceAccountUser
ist. Der Zugriff auf andere Dienstkonten, für die das Mitglied keiniam.serviceAccountUser
ist, wird hingegen verhindert.Gewähren Sie einem Mitglied die Rolle auf Projektebene. Das Mitglied kann auf alle Dienstkonten in dem Projekt zugreifen, darunter auch Dienstkonten, die erst zukünftig erstellt werden.
Weitere Informationen zu Dienstkonten.
Berechtigung für Google Cloud Console
Wenn Sie über die Google Cloud Console auf Compute Engine-Ressourcen zugreifen möchten, müssen Sie eine Rolle haben, die die folgende Berechtigung für das Projekt umfasst:
compute.projects.get
Als "instanceAdmin" eine Verbindung zu einer Instanz herstellen
Nachdem Sie einem Projektmitglied die Rolle roles/compute.instanceAdmin.v1
zugewiesen haben, kann es über standardmäßige Google Cloud-Tools wie die gcloud CLI oder SSH über den Browser Verbindungen zu VM-Instanzen herstellen.
Wenn ein Mitglied die gcloud CLI oder SSH über den Browser verwendet, generieren die Tools automatisch ein Paar aus öffentlichem und privatem Schlüssel und fügen den öffentlichen Schlüssel den Projektmetadaten hinzu. Wenn das Mitglied nicht berechtigt ist, Projektmetadaten zu bearbeiten, fügt das Tool stattdessen den öffentlichen Schlüssel des Mitglieds den Instanzmetadaten hinzu.
Verfügt das Mitglied bereits über ein Schlüsselpaar, das es verwenden möchte, kann es seinen öffentlichen Schlüssel manuell den Instanzmetadaten hinzufügen. Weitere Informationen zum Hinzufügen von SSH-Schlüsseln zu einer Instanz
IAM mit Dienstkonten
Durch die Erstellung neuer benutzerdefinierter Dienstkonten und die Zuweisung von IAM-Rollen zu Dienstkonten haben Sie die Möglichkeit, den Zugriff auf Ihre Instanzen zu beschränken. Wenn Sie IAM-Rollen mit benutzerdefinierten Dienstkonten verwenden, können Sie Folgendes tun:
- Mithilfe detaillierter IAM-Rollen den Zugriff Ihrer Instanzen auf Google Cloud APIs beschränken
- Jeder Instanz oder jeder Gruppe von Instanzen eine eindeutige Identität verleihen
- Den Zugriff auf Ihr Standarddienstkonto beschränken
Hier erfahren Sie mehr über Dienstkonten.
Verwaltete Instanzgruppen und IAM
Verwaltete Instanzgruppen (MIGs) sind Ressourcen, die ohne direkte Nutzerinteraktion Aktionen für Sie ausführen. Beispielsweise kann die MIG VMs zur Gruppe hinzufügen und daraus entfernen.
Alle Vorgänge, die Compute Engine als Teil der MIG ausführt, werden vom Google APIs-Dienst-Agent für Ihr Projekt ausgeführt. Dieser hat eine E-Mail-Adresse wie die folgende:
PROJECT_ID@cloudservices.gserviceaccount.com
Standardmäßig erhält der Google APIs-Dienst-Agent auf Projektebene die Rolle "Bearbeiter" (roles/editor
), die genügend Berechtigungen zum Erstellen von Ressourcen basierend auf der MIG-Konfiguration gewährt. Wenn Sie den Zugriff für den Google APIs-Dienst-Agent anpassen, gewähren Sie die Rolle Compute-Instanzadministrator (v1) roles/compute.instanceAdmin.v1
und optional die Nutzerrolle Dienstkonto (roles/iam.serviceAccountUser
). Die Rolle Dienstkonto ist nur erforderlich, wenn die MIG VMs erstellt, die als Dienstkonto ausgeführt werden können.
Der Google APIs-Dienst-Agent wird auch von anderen Prozessen wie Deployment Manager verwendet.
Wenn Sie eine MIG erstellen oder die Instanzvorlage aktualisieren, wird von Compute Engine überprüft, ob der Google APIs-Dienst-Agent die folgende Rolle und Berechtigungen hat:
- Die Nutzerrolle Dienstkonto ist wichtig, wenn Sie Instanzen erstellen möchten, die als Dienstkonto ausgeführt werden können.
- Berechtigungen für alle Ressourcen, auf die Instanzvorlagen verweisen, wie Images, Laufwerke, VPC-Netzwerke und Subnetzwerke.
Vordefinierte Compute Engine-Rollen
Bei IAM erfordert jede API-Methode in der Compute Engine API, dass die Identität, die die API-Anfrage stellt, die entsprechenden Berechtigungen zur Verwendung der Ressource hat. Berechtigungen werden durch Festlegen von Richtlinien erteilt, die einem Mitglied (Nutzer, Gruppe oder Dienstkonto) Ihres Projekts Rollen zuweisen.
Neben den einfachen Rollen (Betrachter, Bearbeiter und Inhaber) und benutzerdefinierten Rollen können Sie den Mitgliedern Ihres Projekts die unten beschriebenen vordefinierten Compute Engine-Rollen zuweisen.
Sie können einem Projektmitglied mehrere Rollen für dieselbe Ressource zuweisen. Wenn Ihr Netzwerkteam z. B. auch Firewallregeln verwaltet, können Sie der Google-Gruppe des Netzwerkteams sowohl roles/compute.networkAdmin
als auch roles/compute.securityAdmin
gewähren.
In den folgenden Tabellen werden die vordefinierten IAM-Rollen von Compute Engine sowie die in den einzelnen Rollen enthaltenen Berechtigungen beschrieben. Jede Rolle enthält eine Reihe von Berechtigungen, die für eine bestimmte Aufgabe geeignet sind. Durch die Instanzadministrator-Rollen werden beispielsweise Berechtigungen zum Verwalten von Instanzen gewährt, die netzwerkbezogenen Rollen gewähren Berechtigungen zum Verwalten von netzwerkbezogenen Ressourcen und die Sicherheitsrolle gewährt Berechtigungen zum Verwalten von sicherheitsbezogenen Ressourcen wie Firewalls und SSL-Zertifikaten.
Compute Admin role
Details | Permissions |
---|---|
Compute Admin( Full control of all Compute Engine resources.
If the user will be managing virtual machine instances that are configured
to run as a service account, you must also grant the
Lowest-level resources where you can grant this role:
|
compute.*
|