FAQ

Hier finden Sie Informationen zu häufigen Problemen, die bei der Verwendung von Identity and Access Management (IAM) auftreten können.

Informationen zu IAM

Was ist IAM?

Mit IAM können Sie Berechtigungen für Google Cloud-Ressourcen erstellen und verwalten. Es fasst die Zugriffssteuerung für Google Cloud-Dienste in einem System zusammen und ermöglicht so einheitliche Vorgänge. Die verschiedenen Konzepte finden Sie in der IAM-Übersicht.

Warum benötige ich IAM?

Mit IAM haben Sie die Möglichkeit, das Sicherheitsprinzip der geringsten Berechtigung anzuwenden, damit Sie nur den notwendigen Zugriff auf Ihre Ressourcen gewähren und unerwünschten Zugriff auf andere Ressourcen verhindern. Sie können durch IAM sicherstellen, dass Richtlinien zur Funktionstrennung eingehalten werden.

Welche der Google Cloud-Dienste unterstützen IAM?

Alle Google Cloud-Dienste verwenden IAM, um zu gewährleisten, dass nur autorisierte Identitäten darauf zugreifen können. Darüber hinaus stellen einige Dienste dienstbasierte IAM-Rollen bereit oder unterstützen die Gewährung des Zugriffs auf Ressourcenebene. Weitere Informationen zum IAM-Support finden Sie in der Übersicht.

Erste Schritte mit IAM

Über die ersten Schritte mit IAM können Sie sich unter IAM-Schnellstart informieren.

Kann ich die Authentifizierung und Autorisierung für meine Anwendungen mit IAM verwalten?

Verwenden Sie IAM, um die Autorisierung für Google Cloud-Ressourcen zu verwalten. Für die Verwaltung der Nutzerauthentifizierung sollten Sie die Methoden verwenden, die Sie bislang verwendet haben, zum Beispiel LDAP oder Google-Gruppen. Mit IAM können Sie Zugriff auf ein Google-Konto, ein Dienstkonto, eine Google-Gruppe, eine Cloud Identity-Domain oder eine Google Workspace-Domain gewähren.

Rollen und Richtlinien

Wie hängen Rollen und „allow”-Richtlinien zusammen?

Berechtigungen bestimmen, welche Vorgänge bei einer Ressource zugelassen sind. In IAM haben Berechtigungen die Form <service>.<resource>.<verb>, zum Beispiel compute.instances.get. 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.

Mit IAM steuern Sie, welche Nutzer welche Rollen haben und somit berechtigt sind, auf bestimmte Ressourcen zuzugreifen, indem Sie „allow”-Richtlinien festlegen. Eine „allow”-Richtlinie in einer Ressource ist die vollständige Liste der Rollen, die den Hauptkonten für die Ressource gewährt wurden.

Mehr über Berechtigungen, Rollen und Richtlinien erfahren Sie in der IAM-Übersicht.

Was ist der Unterschied zwischen einfachen und vordefinierten Rollen?

Einfache Rollen sind die alten Rollen "Inhaber", "Bearbeiter" und "Betrachter". IAM bietet vordefinierte Rollen, die eine feiner abgestufte Zugriffssteuerung ermöglichen als einfache Rollen.

Wann verwende ich einfache Rollen?

In folgenden Szenarien können einfache Rollen verwendet werden:

  • Wenn der Google Cloud-Dienst keine vordefinierte Rolle bereitstellt. Eine Liste der verfügbaren vordefinierten Rollen finden Sie in der Tabelle mit vordefinierten Rollen.

  • In Entwicklungs- und Testumgebungen. Möglicherweise benötigen einige Hauptkonten umfassende Berechtigungen in diesen Umgebungen.

  • Wenn Sie einem Hauptkonto die Änderung von Berechtigungen in einem Projekt erlauben müssen, sollten Sie ihm die Rolle „Inhaber“ zuweisen, da nur Inhaber berechtigt sind, die Berechtigungen anderer Nutzer für Projekte zu ändern.

  • Wenn Sie in einem kleinen Team arbeiten, in dem für die Teammitglieder keine umfassenden Berechtigungen erforderlich sind.

Kann ich meine eigenen, individuellen Rollen festlegen?

Ja, mehr Informationen finden Sie im Artikel zu benutzerdefinierten Rollen.

Wie kann ich herausfinden, welche Rollen in einer Ressource gewährt sind?

Mithilfe der Cloud Console, der Methode getIamPolicy() oder der Google Cloud-Befehlszeile können Sie ermitteln, welche Rollen für eine Ressource gewährt werden. Weitere Informationen.

Wie sieht eine „allow”-Richtlinie aus?

Eine „allow”-Richtlinie wird durch ein Richtlinienobjekt dargestellt, das aus einer Liste von Bindungen besteht. Eine Bindung bindet mehrere in einer Liste aufgeführte Hauptkonten an eine Rolle. Dies kann wie in diesem beispielhaften Code-Snippet als Code dargestellt werden:

{
  "bindings": [
   {
     "role": "roles/owner",
     "members": [
       "user:jiwoo@example.com",
       "group:admins@example.com",
       "domain:google.com",
       "serviceAccount:my-other-app@appspot.gserviceaccount.com"]
      },
      {
        "role": "roles/compute.networkViewer",
        "members": ["user:luis@example.com"]
      }
    ]
}

Die obige Beispiel-„allow”-Richtlinie weist jiwoo@example.com, admins@example.com, google.com und my-other-app@appspot.gserviceaccount.com die Inhaberrolle und luis@example.com die Rolle des Netzwerkbetrachters zu.

Wie kann ich meine „allow”-Richtlinien erstellen und verwalten?

Zulassungsrichtlinien können mit der Google Cloud Console, mit der gcloud CLI und mit den IAM-Methoden erstellt und verwaltet werden. Weitere Informationen.

Wie kann ich die „allow”-Richtlinie meines Projekts ansehen?

Sie können die Rollenbindungen in der Zulassungsrichtlinie des Projekts über die Cloud Console, die Methode project.getIamPolicy() oder die gcloud CLI aufrufen. Weitere Informationen.

Wie kann ich die „allow”-Richtlinie meiner Organisation aufrufen?

Sie können die Rollenbindungen in der Richtlinie einer Organisation mithilfe der Cloud Console, der Methode organization.getIamPolicy() oder der gcloud CLI aufrufen. Eine Anleitung finden Sie unter Zugriffssteuerung für Organisationen.

Wie wird eine „allow”-Richtlinie aktualisiert?

Sie können eine Zulassungsrichtlinie mithilfe der Cloud Console, der REST API oder der gcloud CLI aktualisieren. Weitere Informationen

Ist die Anzahl der Hauptkonten, die ich in eine „allow”-Richtlinie aufnehmen kann, beschränkt?

Ja, die Anzahl der Hauptkonten in einer „allow”-Richtlinie ist begrenzt. Weitere Informationen finden Sie unter Kontingente und Limits für IAM.

Wie kann ich Fehler in meinen „allow”-Richtlinien beheben?

Mit der Richtlinien-Fehlerbehebung können Sie prüfen, ob ein Hauptkonto eine bestimmte Berechtigung für eine Ressource hat.

Alternativ können Sie den Policy Analyzer dazu verwenden, besser zu verstehen, welche Hauptkonten Zugriff auf welche Google Cloud-Ressourcen haben. Der Policy Analyzer hilft Ihnen bei der Beantwortung von Fragen wie "Welche Nutzer haben diese Berechtigung?" oder "Welche Berechtigungen hat dieser Nutzer für diese Ressource?"

Warum erhalte ich die Fehlermeldung „Gleichzeitige Richtlinienänderungen” wenn ich versuche, eine „allow”-Richtlinie zu aktualisieren?

Damit verhindert wird, dass sich gleichzeitige Änderungen an einer „allow”-Richtlinie gegenseitig überschreiben, enthält jede „allow”-Richtlinie eine etag-Feld, das sich bei jeder Aktualisierung der „allow”-Richtlinie ändert. Wenn Sie versuchen, eine aktualisierte „allow”-Richtlinie zu schreiben, und das etag in Ihrer Anfrage nicht mit der vorhandenen „allow”-Richtlinie übereinstimmt, erhalten Sie die folgende Fehlermeldung:

Es wurden gleichzeitige Richtlinienänderungen vorgenommen. Wiederholen Sie den gesamten Read-Modify-Write-Zyklus mit exponentiellem Backoff.

Weitere Informationen zu diesem Problem finden Sie unter ETags in einer „allow”-Richtlinie verwenden. Informationen zum Implementieren von Wiederholungsversuchen mit exponentiellem Backoff finden Sie unter Fehlgeschlagene Anfragen wiederholen.

Identitäten

Welchen Identitäten kann ich IAM-Rollen zuweisen?

Mit IAM können Sie den folgenden Identitätstypen Zugriff gewähren:

  • Google-Konto
  • Dienstkonto
  • Google-Gruppe
  • Google Workspace-Domain
  • Cloud Identity-Domain

Kann ich Google-Gruppen mit IAM verwenden?

Normalerweise ja. Eine Ausnahme ist die Inhaberrolle. Die Inhaberrolle für ein Projekt kann einer Gruppe nur zugewiesen werden, wenn die Gruppe und das Projekt Teil derselben Organisation sind. Gruppen können für Projekte ohne Organisation nicht als Inhaber fungieren und Projekten in anderen Organisationen nicht als Inhaber zugewiesen werden.

Weisen Sie Rollen andernfalls nach Möglichkeit einer Gruppe in Google Groups anstatt einzelnen Nutzern zu. Es ist einfacher, Mitglieder zu einer Google-Gruppe hinzuzufügen oder aus ihr zu entfernen, als mehrere „allow”-Richtlinien zu aktualisieren, um Nutzer hinzuzufügen oder zu entfernen. Wenn Sie mehrere Rollen zuweisen müssen, um eine bestimmte Aufgabe zu erledigen, erstellen Sie eine Gruppe in Google Groups, weisen Sie dieser Gruppe die Rollen zu und fügen Sie ihr anschließend Nutzer oder andere Gruppen hinzu.

Jede „allow”-Richtlinie kann bis zu 250 Google-Gruppen enthalten.

Kann ich meine Nutzer mit IAM erstellen und verwalten?

Nein. Zum Erstellen und Verwalten von Nutzern verwenden Sie Cloud Identity oder Google Workspace. Sie können Ihre Nutzer auch mit Ihren aktuellen Methoden wie LDAP oder Google Groups verwalten. Wenn Sie Ihre Nutzer mit LDAP verwalten, müssen Sie Google Cloud Directory Sync verwenden, um die Daten in Ihrer Google-Domain zu synchronisieren. Unabhängig von der Methode, die Sie zum Verwalten Ihrer Nutzer verwenden, müssen Sie Nutzer mit einer Rolle in einer „allow”-Richtlinie verknüpfen, um ihnen den Zugriff auf Ressourcen zu gewähren. Verwenden Sie hierfür vorzugsweise Google Groups.

Wie kann ich den Zugriff eines Nutzers auf IAM-Ressourcen deaktivieren?

Wenn Sie dem Nutzer über eine Gruppe in Google Groups eine IAM-Rolle zugewiesen haben, können Sie ihn aus der Gruppe entfernen. Er verfügt dann nicht mehr über die Zugriffsrechte, die Sie der Gruppe gewährt haben. Wenn Sie keine Gruppe verwendet haben, müssen Sie die „allow”-Richtlinien überprüfen, um zu ermitteln, wo Sie den einzelnen Nutzern Zugriff gewährt haben, und diese dann aus der „allow”-Richtlinie entfernen. Es ist einfacher, Zugriff über Google Groups zu gewähren, da Sie dann nicht alle Ihre „allow”-Richtlinie aktualisieren müssen, um die Zugriffsrechte eines einzelnen Nutzers zu widerrufen. Weitere Informationen

.

Warum kann ein Nutzer kurz, nachdem der Zugriff auf Ressourcen gewährt wurde, noch nicht darauf zugreifen oder weiter auf Ressourcen zugreifen, nachdem die Berechtigung dazu entfernt wurde?

In der Regel dauert es weniger als 60 Sekunden, bis der Zugriff eines Hauptkontos gewährt oder widerrufen wurde. Unter bestimmten Umständen kann es jedoch bis zu sieben Minuten dauern, bis sich die Änderungen vollständig im System ausgebreitet haben.

Wie weise ich einem Nutzer Berechtigungen für Ressourcen in meinem Projekt zu, der kein Hauptkonto meiner Organisationen ist?

Mit Google Groups können Sie Nutzer zu einer Gruppe hinzufügen, die zu keiner Ihrer Organisationen gehören, und diese Gruppe mit der Rolle verbinden. Beachten Sie, dass Google-Gruppen nicht über Zugangsdaten verfügen 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.

Sie haben darüber hinaus die Möglichkeit, den Nutzer direkt zu der „allow”-Richtlinie hinzuzufügen. Dies gilt auch dann, wenn er nicht zu Ihrer Organisation gehört. Sie sollten sich allerdings bei Ihrem Administrator darüber informieren, ob dieser Vorgang Ihren Unternehmenanforderungen entspricht.

Wie kann ich den Zugriff auf meine Instanzen verwalten?

Verwenden Sie Google-Gruppen, um Hauptkonten Rollen zuzuweisen, um zu verwalten, wer Zugriff auf Ihre Instanzen hat. Durch das Zuweisen einer Rolle wird eine Rollenbindung in einer „allow”-Richtlinie erstellt. Sie können die Rolle für das Projekt zuweisen, in dem die Instanzen gestartet werden, oder für einzelne Instanzen. Wenn ein Nutzer, identifiziert durch sein Google-Konto wie z. B. mein-nutzer@beispiel.com, kein Mitglied der Gruppe ist, die an eine Rolle gebunden ist, hat er keinen Zugriff auf die Ressource, auf die die „allow”-Richtlinie angewendet wird.

Wie kann ich Multi Factor Authentication (MFA) mit IAM verwenden?

Wenn einzelne Nutzer MFA verwenden, werden die von ihnen zur Authentifizierung verwendeten Methoden berücksichtigt. Dies bedeutet, dass Ihr eigenes Identitätssystem MFA unterstützen muss. Bei Google Workspace-Konten muss dies vom Nutzer aktiviert werden. MFA kann für Anmeldedaten, die über Google Workspace verwaltet werden, mit Google Workspace-Tools aktiviert werden.

Wie unterscheidet sich ein Dienstkonto von einem Nutzer, der IAM verwendet?

Ein Dienstkonto ist ein spezielles Google-Konto, das von Anwendungen genutzt werden kann, um programmatisch auf Google-Dienste zuzugreifen. Dieses Konto gehört nicht zu einem einzelnen Endnutzer, sondern zu Ihrer Anwendung oder einer virtuellen Maschine (VM). Ihre Anwendung ruft mithilfe des Dienstkontos die Google API eines Dienstes auf, sodass die Nutzer nicht direkt beteiligt sind.

Dienstkonten

Wie viele Dienstkonten kann mein Projekt maximal haben?

Standardmäßig können Sie in einem Projekt bis zu 100 Dienstkonten erstellen. Wenn Sie in einem Projekt zusätzliche Dienstkonten erstellen müssen, können Sie eine Erhöhung des Kontingents beantragen.

Wie kann ich bei der Verwendung von IAM die Dienstkontoschlüssel rotieren?

Die von Google Cloud verwalteten Schlüssel werden täglich rotiert. Um die von Nutzern verwalteten Schlüssel zu rotieren, verwenden Sie die IAM-Dienstkonto-API, um Ihre Dienstkontoschlüssel automatisch zu rotieren. Sie können einen Schlüssel rotieren, indem Sie zuerst einen neuen Schlüssel erstellen, dann die Anwendungen auf den neuen Schlüssel umstellen, den alten Schlüssel deaktivieren und den alten Schlüssel löschen, wenn Sie sicher sind, dass er nicht mehr benötigt wird.

Wie kann ich steuern, wer in meinem Projekt ein Dienstkonto erstellen darf?

Die Rollen "Inhaber" und "Bearbeiter" sind berechtigt, Dienstkonten in einem Projekt zu erstellen. Wenn Sie einem Nutzer die Berechtigung gewähren möchten, ein Dienstkonto zu erstellen, weisen Sie ihm die Rolle "Inhaber" oder "Bearbeiter" zu.

Kann ich ein Dienstkonto unter einer Organisation erstellen?

Momentan können Sie Dienstkonten nur unter einem Projekt erstellen. Die Erstellung eines Dienstkontos direkt unter einer Organisation ist nicht möglich. Wenn Sie jedoch IAM-Berechtigungen auf Organisationsebene gewähren, werden die Berechtigungen von Projekten unter der Organisation sowie anschließend von Dienstkonten unter den Projekten übernommen.

Ich verfüge über ein spezielles Team für die Verwaltung von Netzwerk- und Firewallregeln. Wie kann ich diese Aufgabentrennung beibehalten, damit meine Entwicklerteams zwar Instanzen verwalten, aber keine Änderungen an Netzwerken und Firewalls vornehmen können?

Weisen Sie zuerst den Netzwerkadministratoren die Rolle Compute-Netzwerkadministrator auf Organisations- oder Projektebene zu. Weisen Sie dann den Entwicklern die Rolle Compute-Instanzadministrator zu. Durch diese Aufgabentrennung können Entwickler Aktionen für Instanzen ausführen und Sie verhindern gleichzeitig, dass Entwickler Änderungen an den Netzwerkressourcen vornehmen, die mit dem Projekt verknüpft sind.

Ich muss sicherstellen, dass die Teams in meiner Organisation nicht auf die Instanz des jeweils anderen Teams zugreifen können. Wie kann ich das tun?

Erstellen Sie für jedes Team ein Projekt, also insgesamt zwei Projekte. Erstellen Sie dann separate „allow”-Richtlinien für jedes Projekt, um zu bestimmen, welche Teams auf welches Projekt und zugehörige Instanzen zugreifen können. Alternativ haben Sie die Möglichkeit, Dienstkonten mit unterschiedlichen Rollen zu verwenden.

Kann ich das Dienstkonto ändern, das ich zum Starten meiner Instanz verwende?

Ja. Das Dienstkonto für eine ausgeführte Compute Engine-Instanz kann allerdings nicht geändert werden. Die Instanz muss dazu vorübergehend beendet werden. Weisen Sie in diesem Fall nach dem Beenden der Instanz ein neues Dienstkonto zu und starten Sie die Instanz neu. Weitere Informationen finden Sie in der Compute Engine-Dokumentation.

In welchen Fällen wird die Rolle "Dienstkontonutzer" verwendet?

Die Rolle "Dienstkontonutzer" (Service Account Actor) ist veraltet. Wenn Sie Vorgänge mit einem Dienstkonto ausführen müssen, verwenden Sie die Rolle Dienstkontonutzer.

In welchen Fällen wird die Rolle "Dienstkontonutzer" verwendet?

Mit der Rolle Dienstkontonutzer werden die Berechtigungen zum Ausführen von Vorgängen als Dienstkonto gewährt. Wenn die Rolle iam.serviceAccountUser zusammen mit der Rolle compute.instanceAdmin zugewiesen wird, können Nutzer Compute Engine-Instanzen erstellen und verwalten, die ein Dienstkonto verwenden. Nutzer mit serviceAccountUsers als Dienstkonto können auf alle Ressourcen zugreifen, auf die das Dienstkonto Zugriff hat.

Audit

Wie kann ich meine „allow”-Richtlinien prüfen?

Sie können Cloud-Audit-Logs verwenden, um Änderungen an Ihren „allow”-Richtlinie regelmäßig zu prüfen. Ausführliche Informationen zur Aufbewahrungsdauer der Audit-Logs finden Sie unter Aufbewahrungsdauer von Logs.

Was wird in den Audit-Logs aufgezeichnet?

Audit-Logs für Administrator-Aktivitäten enthalten einen Eintrag für jeden API-Aufruf oder jede administrative Aktion, die die Konfiguration oder die Metadaten eines Dienstes oder Projekts ändert. Audit-Logs für Datenzugriffe enthalten einen Eintrag für die folgenden Ereignisse:

  • API-Aufrufe oder administrative Aktionen, die die Konfiguration oder die Metadaten eines Dienstes oder Projekts lesen.

  • API-Aufrufe oder administrative Aktionen, die vom Nutzer bereitgestellte Daten, die von einem Dienst verwaltet werden, erstellen, ändern oder lesen, zum Beispiel in einem Datenbankdienst gespeicherte Daten.

  • Die Methode setIamPolicy() auf Projektebene wird aufgezeichnet.

  • Dienstkonten und Dienstkontoschlüssel werden protokolliert.

Wie kann ich steuern, wer auf meine Audit-Logs zugreifen kann?

Sie können den Zugriff auf Logs mit Cloud Logging-Rollen steuern.

Wie kann ich meine Audit-Logs aufbewahren?

Die einzelnen Audit-Logeinträge werden für einen bestimmten Zeitraum gespeichert und danach gelöscht. [Aufbewahrungsdauer von Logs](/logging/quotas#logs_retention_periods steuern, wie lange Logeinträge aufbewahrt werden). Wenn Sie Ihre Logeinträge länger aufbewahren möchten, als in der Kontingentrichtlinie festgelegt, routen Sie Ihre Logs aus Cloud Logging in einen Cloud Storage-Bucket oder nach BigQuery.