Compute Engine-IAM-Rollen

Compute Engine nutzt einen speziellen Satz von IAM-Rollen (Identity and Access Management). Jede vordefinierte Rolle enthält eine Reihe von Berechtigungen.

Wenn Sie ein neues Mitglied in Ihr Projekt aufnehmen, können Sie diesem Mitglied mithilfe einer IAM-Richtlinie eine oder mehrere IAM-Rollen zuweisen. Jede IAM-Rolle enthält Berechtigungen, die dem Mitglied Zugriff auf bestimmte Ressourcen gewähren.

Informationen zum Festlegen von Richtlinien auf Projektebene finden Sie in der IAM-Dokumentation unter Zugriff auf Ressourcen erteilen, ändern und entziehen. Informationen zum Festlegen von Richtlinien für Compute Engine-Ressourcen finden Sie unter Zugriff auf Ressourcen gewähren. Wie Sie einem Compute Engine-Dienstkonto Rollen zuweisen, erfahren Sie unter Dienstkonten für Instanzen erstellen und aktivieren. Weitere Informationen hierzu finden Sie unter Benutzerdefinierte Rollen erstellen und verwalten.

Vorbereitung

Was ist IAM?

Mit IAM für die Google Cloud Platform können Sie den Zugriff auf bestimmte Google Cloud Platform-Ressourcen noch genauer steuern. Außerdem wird der unerwünschte Zugriff auf andere Ressourcen verhindert. Durch IAM haben Sie die Möglichkeit, den Grundsatz der geringsten Berechtigung anzuwenden und somit nur den notwendigen Zugriff auf Ihre Ressourcen zu gewähren.

Durch das Festlegen von IAM-Richtlinien können Sie steuern, wer (Identität) welche Berechtigungen (Rollen) für welche Ressourcen hat. Anhand von IAM-Richtlinien werden einem Projektmitglied bestimmte Rollen zugewiesen, mit denen wiederum bestimmte Berechtigungen verknüpft sind. Sie können beispielsweise für eine bestimmte Ressource, sagen wir ein Projekt, die Rolle roles/compute.networkAdmin einem Google-Konto zuweisen. Mit diesem Konto lassen sich dann netzwerkbezogene Ressourcen im Projekt verwalten, jedoch keine anderen Ressourcen wie Instanzen und Laufwerke. Mit IAM können Sie auch die GCP Console-Legacy-Rollen verwalten, die Projektteammitgliedern gewährt wurden.

Vordefinierte Compute Engine-Rollen

Bei IAM muss für jede API-Methode in Compute Engine die Identität, die die API-Anfrage stellt, die entsprechenden Berechtigungen zur Verwendung der Ressource haben. Berechtigungen werden durch Festlegen von Richtlinien erteilt, die einem Mitglied (Benutzer, Gruppe oder Dienstkonto) Ihres Projekts Rollen zuweisen.

Neben den Legacy-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 beispielsweise auch Firewallregeln verwaltet, können Sie der Google-Gruppe des Netzwerkteams sowohl roles/compute.networkAdmin als auch roles/compute.securityAdmin zuweisen.

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 ersten beiden Rollen werden Berechtigungen zur Verwaltung von Instanzen gewährt, die netzwerkbezogenen Rollen gewähren Berechtigungen zur Verwaltung von netzwerkbezogenen Ressourcen und die Sicherheitsrolle gewährt Berechtigungen zur Verwaltung sicherheitsbezogener Ressourcen, wie Firewalls und SSL-Zertifikate.

Rolle "serviceAccountUser"

Wenn einem Mitglied diese Rolle zusammen mit roles/compute.instanceAdmin.v1 gewährt wird, verleiht roles/iam.serviceAccountUser Mitgliedern die Möglichkeit, Instanzen, die ein Dienstkonto verwenden, zu erstellen und zu verwalten. Durch die Kombination von roles/iam.serviceAccountUser und roles/compute.instanceAdmin.v1 erhalten Mitglieder im Einzelnen folgende 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 das Mitglied Zugriff auf das Dienstkonto, bei dem es als iam.serviceAccountUser angemeldet ist, kann aber nicht auf Dienstkonten zugreifen, bei denen es nicht als iam.serviceAccountUser angemeldet ist.

  • 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.

Wenn Sie sich nicht mit Dienstkonten auskennen, können Sie hier mehr erfahren.

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 Platform-Tools wie gcloud oder SSH über den Browser Verbindungen zu VM-Instanzen herstellen.

Wenn ein Mitglied das gcloud-Befehlszeilentool oder SSH über den Browser verwendet, wird von den Tools automatisch ein Paar aus öffentlichem/privatem Schlüssel generiert und der öffentliche Schlüssel den Projektmetadaten hinzugefügt. Falls das Mitglied nicht zur Bearbeitung der Projektmetadaten berechtigt ist, fügt das Tool den öffentlichen Schlüssel stattdessen 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. Hier erfahren Sie mehr über das Hinzufügen und Entfernen von SSH-Schlüsseln aus 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 die folgenden Schritte ausführen:

  • Den Zugriff Ihrer Instanzen auf Cloud Platform-APIs beschränken, die detaillierte IAM-Rollen verwenden
  • 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 sind Ressourcen, die ohne direkte Nutzerinteraktion Vorgänge in Ihrem Namen ausführen. Dies gilt insbesondere, wenn sie so konfiguriert sind, dass sie automatisch skaliert werden. Verwaltete Instanzgruppen verwenden eine Dienstkontoidentität, um Instanzen in der Instanzgruppe zu erstellen, zu löschen und zu verwalten. Mehr erfahren Sie in der Dokumentation zu verwalteten Instanzgruppen und IAM.

Nicht unterstützte Vorgänge

Sie können keinen Zugriff gewähren, um mit IAM-Rollen Rolling Updates für Instanzgruppen auszuführen.

Verwenden Sie die umfassenderen Rollen "Inhaber", "Bearbeiter" oder "Betrachter", um die Berechtigung zur Ausführung dieser Vorgänge zu gewähren.

Weitere Informationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Compute Engine-Dokumentation