Überblick

Auf dieser Seite werden die wichtigsten Konzepte von Cloud Identity and Access Management beschrieben.

Die Google Cloud Platform (GCP) bietet Cloud IAM zum Verwalten der Zugriffssteuerung. Damit können Sie festlegen, wer (Identität) welchen Zugriff (Rolle) auf welche Ressource hat.

IAM

Mit Cloud IAM können Sie einen genau definierten Zugriff auf bestimmte GCP-Ressourcen gewähren und unerwünschten Zugriff auf andere Ressourcen verhindern. Mit Cloud IAM können Sie das Sicherheitsprinzip der geringsten Berechtigung anwenden und so nur den notwendigen Zugriff auf Ressourcen gewähren.

In Cloud IAM gewähren Sie Mitgliedern Zugriff. Folgende Arten von Mitgliedern sind zulässig:

  • Google-Konto
  • Dienstkonto
  • Google-Gruppe
  • G Suite-Domain
  • Cloud Identity-Domain

Google-Konto

Ein Google-Konto repräsentiert einen Entwickler, einen Administrator oder eine andere Person, die mit der GCP interagiert. Eine mit einem Google-Konto verknüpfte E-Mail-Adresse kann als Identität dienen, z. B. eine Adresse bei gmail.com oder einer anderen Domain. Neue Nutzer können sich auf der Registrierungsseite für Google-Konten für ein Google-Konto registrieren.

Dienstkonto

Ein Dienstkonto ist ein Konto, das nicht zu einem einzelnen Endnutzer, sondern zu Ihrer Anwendung gehört. Wenn Sie einen Code ausführen, der auf der GCP gehostet wird, geben Sie das Konto an, über das der Code ausgeführt werden soll. Sie können so viele Dienstkonten erstellen, wie erforderlich sind, um die verschiedenen logischen Komponenten Ihrer Anwendung zu repräsentieren. Weitere Informationen zur Verwendung eines Dienstkontos in Ihrer Anwendung finden Sie unter Erste Schritte bei der Authentifizierung.

Google-Gruppe

Eine Google-Gruppe ist eine benannte Sammlung von Google-Konten und Dienstkonten. Jede Gruppe hat eine eindeutige E-Mail-Adresse, die mit der Gruppe verbunden ist. Sie finden die E-Mail-Adresse, die mit einer Google-Gruppe verbunden ist, indem Sie auf der Startseite einer Google-Gruppe auf Info klicken. Weitere Informationen zu Google-Gruppen finden Sie auf der Startseite von Google Groups.

Google-Gruppen sind eine praktische Möglichkeit, um einer Reihe von Nutzern Zugriffsrichtlinien zuzuweisen. Sie können die Zugriffskontrollen für eine ganze Gruppe auf einmal gewähren oder ändern, anstatt die Zugriffskontrollen nacheinander für jeden einzelnen Nutzer oder jedes Dienstkonto individuell zu gewähren oder zu ändern. Sie können auch einfach Mitglieder zu einer Google-Gruppe hinzufügen oder aus ihr entfernen, anstatt Cloud IAM-Richtlinien zu aktualisieren, um Nutzer hinzuzufügen oder zu entfernen.

Beachten Sie, dass Google-Gruppen keine Anmeldedaten haben und Sie Google-Gruppen nicht verwenden können, um eine Identität nachzuweisen, wie es für eine Anfrage zum Zugriff auf eine Ressource erforderlich ist.

G Suite-Domain

Eine G Suite-Domain repräsentiert eine virtuelle Gruppe aller Google-Konten, die im G Suite-Konto einer Organisation erstellt wurden. G Suite-Domains repräsentieren den Internetdomainnamen Ihrer Organisation wie example.com. Wenn Sie Ihrer G Suite-Domain einen Nutzer hinzufügen, wird für den Nutzer innerhalb dieser virtuellen Gruppe ein neues Google-Konto erstellt, z. B. Nutzername@example.com.

Wie Google-Gruppen können G Suite-Domains nicht zum Feststellen der Identität verwendet werden. Sie ermöglichen aber eine effektive Berechtigungsverwaltung.

Cloud Identity-Domain

Eine Cloud Identity-Domain ähnelt einer G Suite-Domain, weil sie eine virtuelle Gruppe aller Google-Konten in einer Organisation repräsentiert. Nutzer einer Cloud Identity-Domain haben aber keinen Zugriff auf G Suite-Anwendungen und -Funktionen. Unter Informationen zu Cloud Identity erfahren Sie mehr zu diesem Thema.

allAuthenticatedUsers

Der Wert allAuthenticatedUsers ist eine spezielle Kennzeichnung für alle Dienstkonten und alle Nutzer im Internet, die sich mit einem Google-Konto authentifiziert haben. Diese Kennzeichnung schließt auch Konten ein, die nicht mit einer G Suite- oder Cloud Identity-Domain verbunden sind, z. B. persönliche Gmail-Konten. Nicht authentifizierte Nutzer wie anonyme Besucher sind nicht eingeschlossen.

allUsers

Der Wert allUsers ist eine spezielle Kennzeichnung für alle Internetnutzer, einschließlich authentifizierter und nicht authentifizierter Nutzer.

Wenn ein authentifiziertes Mitglied versucht, auf eine Ressource zuzugreifen, prüft Cloud IAM die Cloud IAM-Richtlinie der Ressource, um festzustellen, ob die Aktion zulässig ist.

In diesem Abschnitt werden die Entitäten und Konzepte beschrieben, die für die Autorisierung relevant sind.

Ressource

Sie können Nutzern den Zugriff auf eine GCP-Ressource gewähren. Beispiele für Ressourcen sind Projekte, Compute Engine-Instanzen und Cloud Storage-Buckets.

Einige Dienste wie Compute Engine und Cloud Storage unterstützen gezieltere IAM-Berechtigungen als dies auf Projektebene möglich ist. Beispielsweise können Sie einem Nutzer die Rolle "Storage-Administrator" (roles/storage.admin) für einen bestimmten Cloud-Storage-Bucket zuweisen oder einem Nutzer die Rolle "Compute-Instanzadministrator" (roles/compute.instanceAdmin) für eine bestimmte Compute Engine-Instanz.

In anderen Fällen kann es wiederum sinnvoll sein, Cloud IAM-Berechtigungen auf Projektebene zu erteilen. Diese Berechtigungen werden dann von allen Ressourcen im jeweiligen Projekt übernommen. Wenn Sie beispielsweise Zugriff auf alle Cloud Storage-Buckets in einem Projekt gewähren möchten, erteilen Sie keinen gesonderten Zugriff auf jeden einzelnen Bucket, sondern auf das Projekt, das die Buckets enthält. Genauso verhält es sich, wenn auf alle Compute Engine-Instanzen in einem Projekt zugegriffen werden soll: Sie erteilen den Zugriff auf das Projekt und nicht auf jede einzelne Instanz.

Informationen dazu, welche Rollen für welche Ressourcen zugewiesen werden können, finden Sie unter Informationen zu Rollen und in der Spalte Niedrigste Ressource für einzelne Rollen.

Berechtigungen

Berechtigungen bestimmen, welche Vorgänge bei einer Ressource zugelassen sind. In Cloud IAM haben Berechtigungen die Form <service>.<resource>.<verb>, zum Beispiel pubsub.subscriptions.consume.

Berechtigungen entsprechen REST-Methoden normalerweise im Verhältnis 1:1, obwohl dies nicht immer der Fall ist. Zu jedem GCP-Dienst gehören also verschiedene Berechtigungen für jede bereitgestellte REST-Methode. Der Aufrufer dieser Methode braucht die entsprechenden Berechtigungen. So benötigt der Aufrufer von Publisher.Publish() z. B. die Berechtigung pubsub.topics.publish.

Sie weisen Nutzern Berechtigungen nicht direkt zu. Stattdessen weisen Sie ihnen eine Rolle mit einer oder mehreren Berechtigungen zu.

Rollen

Eine Rolle ist eine Sammlung von Berechtigungen. Es ist nicht möglich, dem Nutzer eine Berechtigung direkt zu gewähren; stattdessen wird ihm eine Rolle zugewiesen. Wenn Sie einem Nutzer eine Rolle zuweisen, erhält er alle mit ihr verknüpften Berechtigungen.

Berechtigung zur Rollenzuordnung

Es gibt drei Arten von Rollen in Cloud IAM:

  • Einfache Rollen: Die Rollen, die bereits in der Google Cloud Platform Console vorhanden sind, können weiterhin verwendet werden. Dies sind die Rollen Inhaber, Bearbeiter und Betrachter.

  • Vordefinierte Rollen: Vordefinierte Rollen sind Cloud IAM-Rollen, die eine präzisere Zugriffssteuerung als einfache Rollen ermöglichen. Beispielsweise ermöglicht die vordefinierte Rolle Pub/Sub-Publisher (roles/pubsub.publisher) ausschließlich Zugriff für die Veröffentlichung von Nachrichten zu einem Cloud Pub/Sub-Thema.

  • Benutzerdefinierte Rollen: Dies sind Rollen, die Sie erstellen, um Berechtigungen an die Anforderungen Ihrer Organisation anzupassen, wenn diese durch vordefinierte Rollen nicht erfüllt werden.

Informationen zum Zuweisen einer Rolle an einen Nutzer finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen. Informationen zu den verfügbaren, fein abgestuften Cloud IAM-Rollen finden Sie in den Informationen zu Rollen. Weitere Informationen zu benutzerdefinierten Rollen finden Sie unter Informationen zu benutzerdefinierten IAM-Rollen und Benutzerdefinierte Rollen erstellen und verwalten.

IAM-Richtlinie

Sie können Nutzern Rollen zuweisen, indem Sie Cloud IAM-Richtlinien erstellen. Dabei handelt es sich um Festlegungen, mit denen der Zugriff für verschiedene Personen zugewiesen wird. Richtlinien werden mit einer Ressource verbunden und erfordern eine Zugriffssteuerung, wenn auf diese Ressource zugegriffen wird.

IAM-Richtlinie

Eine Cloud IAM-Richtlinie wird durch das IAM-Objekt Policy repräsentiert. Ein IAM-Objekt Policy besteht aus einer Liste von Bindungen. Durch eine Bindung (Binding) wird eine Liste von Mitgliedern (members) mit einer Rolle (role) verknüpft.

role ist die Rolle, die Sie dem Mitglied zuweisen möchten. Die role wird in Form von roles/<name of the role> angegeben. Beispiel: roles/storage.objectAdmin, roles/storage.objectCreator und roles/storage.objectViewer.

members enthält eine Liste mit einer oder mehreren Identitäten, wie oben im Abschnitt Identitätskonzepte beschrieben. Jeder Mitgliedstyp ist mit einem Präfix gekennzeichnet, z. B. ein Google-Konto (user:), ein Dienstkonto (serviceAccount:), eine Google-Gruppe (group:) oder eine G Suite- oder Cloud-Identitätsdomain (domain:). Im unten stehenden Beispiel-Snippet wird die Rolle storage.objectAdmin mit dem entsprechenden Präfix den folgenden Mitgliedern zugewiesen: user:alice@example.com, serviceAccount:my-other-app@appspot.gserviceaccount.com, group:admins@example.com und domain:google.com. Die Rolle objectViewer wird user:bob@example.com zugewiesen.

Das folgende Code-Snippet zeigt die Struktur einer Cloud IAM-Richtlinie.

{
  "bindings": [
   {
     "role": "roles/storage.objectAdmin",
     "members": [
       "user:alice@example.com",
       "serviceAccount:my-other-app@appspot.gserviceaccount.com",
       "group:admins@example.com",
       "domain:google.com" ]
   },
   {
     "role": "roles/storage.objectViewer",
     "members": ["user:bob@example.com"]
   }
   ]
}

Cloud IAM- und Richtlinien-APIs

Cloud IAM bietet einen Satz von Methoden, mit denen Sie Zugriffssteuerungsrichtlinien für GCP-Ressourcen erstellen und verwalten können. Diese Methoden werden von den Diensten bereitgestellt, die Cloud IAM unterstützen. Zum Beispiel werden die Cloud IAM-Methoden durch die Resource Manager API, die Cloud Pub/Sub API und die Cloud Genomics API bereitgestellt.

Dies sind die Methoden von Cloud IAM:

  • setIamPolicy(): Ermöglicht das Festlegen von Richtlinien für Ihre Ressourcen.
  • getIamPolicy(): Ermöglicht das Abrufen von bereits festgelegten Richtlinien.
  • testIamPermissions(): Ermöglicht zu testen, ob der Aufrufer die festgelegten Berechtigungen für eine Ressource hat.

Sie finden die API-Referenzthemen für diese Methoden in der Dokumentation für jeden Dienst, der Cloud IAM unterstützt.

Richtlinienhierarchie

GCP-Ressourcen sind hierarchisch organisiert, wobei der Organisationsknoten der Stammknoten in der Hierarchie ist. Projekte sind der Organisation untergeordnet und die anderen Ressourcen sind wiederum Nachfolgerelemente der Projekte. Jeder Ressource ist genau ein Element übergeordnet. Weitere Informationen finden Sie im Thema Resource Manager-Ressourcenhierarchie.

In der folgenden Abbildung sehen Sie ein Beispiel für eine GCP-Ressourcenhierarchie:

Ressourcenhierarchie

Sie können eine Cloud IAM-Richtlinie auf einer beliebigen Ebene der Ressourcenhierarchie festlegen: der Organisationsebene, der Ordnerebene, der Projektebene oder der Ressourcenebene. Ressourcen erben die Richtlinien der übergeordneten Ressource. Wenn Sie eine Richtlinie auf Organisationsebene festlegen, wird sie automatisch von allen untergeordneten Projekten übernommen. Wenn Sie eine Richtlinie auf Projektebene festlegen, wird sie von allen untergeordneten Ressourcen übernommen. Die resultierenden Richtlinien für eine Ressource sind die Kombination aus der für diese Ressource festgelegten Richtlinie und der von ihrem übergeordneten Element übernommenen Richtlinie.

Diese Richtlinienübernahme ist transitiv. Dies bedeutet, dass Ressourcen Richtlinien vom Projekt übernehmen, das wiederum Richtlinien von Ordnern übernimmt, die ihrerseits Richtlinien von der Organisation übernehmen. Daher gelten Richtlinien auf Organisationsebene auch auf Ressourcenebene.

Im obigen Diagramm ist topic_a beispielsweise eine Cloud Pub/Sub-Ressource unter dem Projekt example-prod. Wenn Sie "micah@gmail.com" die Bearbeiterrolle für example-prod und "song@gmail.com" die Publisher-Rolle für topic_a zuweisen, erteilen Sie damit auch "micah@gmail.com" die Bearbeiterrolle für topic_a und "song@gmail.com" die Publisher-Rolle.

Für die Cloud IAM-Richtlinienhierarchie gelten dieselben Regeln wie für die GCP-Ressourcenhierarchie. Wenn Sie die Ressourcenhierarchie ändern, ändert sich auch die Richtlinienhierarchie. Wenn Sie z. B. ein Projekt in eine Organisation verschieben, wird die Cloud IAM-Richtlinie des Projekts mit dem Inhalt der Cloud IAM-Richtlinie der Organisation aktualisiert.

Mit untergeordneten Richtlinien kann nicht der Zugriff eingeschränkt werden, der auf höherer Ebene gewährt wurde. Wenn Sie beispielsweise einem Nutzer für ein Projekt die Bearbeiterrolle und demselben Nutzer die Betrachterrolle für eine untergeordnete Ressource zuweisen, hat der Nutzer weiterhin die Bearbeiterrolle für die untergeordnete Ressource.

Cloud IAM-Unterstützung für GCP-Dienste

Mit Cloud IAM wird jede API-Methode in allen GCP-Diensten geprüft, um sicherzustellen, dass das Konto, das den API-Request stellt, die erforderliche Berechtigung zur Nutzung der Ressource hat.

Vor Cloud IAM konnten Sie nur Inhaber-, Bearbeiter- oder Betrachterrollen gewähren. Diese Rollen ermöglichen einen umfassenden Zugriff auf ein Projekt und ließen keine detaillierte Trennung von Verpflichtungen zu. GCP-Dienste bieten jetzt weitere vordefinierte Rollen, die eine genauere Zugriffssteuerung als die Rollen "Inhaber", "Bearbeiter" und "Betrachter" ermöglichen. Zum Beispiel bietet Compute Engine Rollen wie Instanzadministrator und Netzwerkadministrator und App Engine bietet Rollen wie App-Administrator und Dienstadministrator. Diese vordefinierten Rollen sind zusätzlich zu den alten Rollen "Inhaber", "Bearbeiter" und "Betrachter" verfügbar.

Vordefinierte Rollen sind für die meisten GCP-Dienste verfügbar. Ausführliche Informationen finden Sie in der Liste aller vordefinierten Rollen. Wenn Sie noch mehr Kontrolle über Berechtigungen benötigen, sollten Sie vielleicht eine benutzerdefinierte Rolle erstellen.

Sie können Nutzern bestimmte Rollen für den Zugriff auf Ressourcen mit feineren Abstufungen als auf Projektebene zuweisen. Sie haben z. B. die Möglichkeit, eine Cloud IAM-Zugriffssteuerungsrichtlinie zu erstellen, durch die einem Nutzer für ein bestimmtes Cloud Pub/Sub-Thema die Rolle "Abonnent" zugewiesen wird. In der Liste aller vordefinierten Rollen wird der Ressourcentyp mit der niedrigsten oder feinsten Differenzierung angezeigt, der die einzelnen Rollen akzeptiert.

Weitere Informationen

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

Feedback geben zu...

Cloud IAM-Dokumentation